Parte 1: A2A Protocolo – Agents conversando entre si!

Author:

O que é A2A, nunca ouvi falar ?

O protocolo A2A (Agent-to-Agent) define um padrão aberto para expor e agents de IA por meio de APIs HTTP. Sua proposta é ser a camada de comunicação que permite que agentes autônomos, especializados em diferentes tarefas, descubram-se, colaborem entre si.

O protocolo A2A (Agent-to-Agent) surge como uma solução fundamental para a interoperabilidade de IA, permitindo expor e conectar agents inteligentes através de interfaces HTTP padronizadas.

Para que expor seu agent ?

A resposta é simples: integração, assim como no dia-dia de vários sistemas complexos é muito comum uma integração via APIs, no nosso caso estamos falando de um Agent.

O que esse agente faz ?

  • Analisa a descrição do projeto fornecida pelo cliente.
  • Faz no máximo duas perguntas (apenas sobre orçamento e objetivo, se necessário).
  • Identifica e estrutura essas duas informações.
  • Retorna os dados em um formato estruturado para outro agente via A2A (Agent-to-Agent communication).

O como expor seu agent ?

Vou utilizar o SDK em .NET, O código inteiro está no print abaixo, vou explicar passo a passo.

  • Lendo configurações da azure de variáveis de ambiente.
  • AZURE_OPENAI_ENDPOINT = https://SEU-SERVIÇO.cognitiveservices.azure.com/
  • AZURE_FOUNDRY_PROJECT_DEPLOYMENT_NAME = Seu modelo, exemplo: gpt-4.1-mini
  • AZURE_API_KEY = Geralmente uma string de 84 caracteres

Após isso, o IChatClient é criado, esse objeto é responsável pela comunicação do seu agente através do modelo que está “hosteado” no azure.

Nova sessão

Aqui eu creio o agente determino suas instruções

Criando uma instância de AgentCard, esse objeto representa um mini resumo sobre o agent, é obrigatório especificar um AgentCard.

Em seguida eu exponho o agente através da extension MapA2A passando o card.

Mais abaixo há um mapeamento Get, é OBRIGATÓRIO

Como gerar o agent-card.json ?

O conteúdo do arquivo agent-card.json será o JSON do endpoint que foi gerado automaticamente pela extensão MapA2A

Resultado final!

O resultado final são vários endpoints gerados pela extensions, você não chama esses endpoints, eles serão chamados automaticamente por outros agents que seguem o padrão A2A.

Conclusão parte 1

Se você chegou até essa parte, ótimo, senão é só me perguntar.

A segunda parte vai ser semelhante a essa pois vamos criar um novo agente que este vai se comunicar com o que acabamos criar.

Tchau.

Leave a Reply

Your email address will not be published. Required fields are marked *