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.