A2A Protocol
Integre agentes usando o protocolo Agent-to-Agent para comunicação padronizada entre agentes de IA
Visão Geral
O Agent-to-Agent Protocol (A2A) é um protocolo padronizado desenvolvido pelo Google para permitir comunicação estruturada entre agentes de IA independentes. Utilizando JSON-RPC 2.0 sobre HTTP/HTTPS, o A2A facilita a interoperabilidade entre diferentes sistemas de agentes, permitindo que trabalhem em conjunto de forma eficiente.
Protocolo Oficial: O A2A é mantido pelo Google e está disponível em google.github.io/A2A. O código fonte pode ser encontrado no repositório GitHub.
Características Principais
JSON-RPC 2.0
Protocolo baseado em JSON-RPC 2.0 para comunicação estruturada e padronizada
Multi-turn
Suporte nativo a conversas com múltiplos turnos usando contextId
Upload de Arquivos
Transferência de arquivos via Base64 com suporte a diferentes tipos MIME
Streaming
Comunicação assíncrona via Server-Sent Events (SSE) para respostas em tempo real
Visão Geral Rápida
Ponto-chave | Resumo |
---|---|
Objetivo | Padronizar a conversa entre agentes de IA (independentemente do fornecedor) usando JSON-RPC 2.0 |
Formato base | Cada chamada é um objeto JSON com jsonrpc:"2.0" , id , method e params |
Métodos principais | message/send • message/stream • tasks/get • tasks/cancel • tasks/pushNotificationConfig/{set|get} • tasks/resubscribe • agent/authenticatedExtendedCard |
IDs obrigatórios | messageId (UUID v4) dentro de cada mensagem e id /taskId /callId para rastrear requisição e tarefa |
Recursos de 1ª classe | Conversas multi-turn (contextId ) • Upload de arquivos (parts[] tipo file com Base64 + MIME) • Notificações Push via pushNotificationConfig • Autenticação por x-api-key ou Authorization: Bearer |
Ciclo de vida da tarefa | submitted → working → completed / failed / canceled , relatado em result.status.state |
Métodos do Protocolo
message/send (HTTP Síncrono)
O método principal para enviar mensagens de forma síncrona.
message/stream (SSE Assíncrono)
Para comunicação em tempo real com streaming de respostas.
Exemplos de Implementação
cURL
JavaScript / Fetch
Python
Upload de Arquivos
O protocolo A2A suporta upload de arquivos através do tipo file
em parts
:
Formato Base64: Os arquivos devem ser codificados em Base64 sem o cabeçalho data:mime/type;base64,
.
Apenas o conteúdo Base64 puro deve ser incluído no campo bytes
.
Conversas Multi-turn
Para manter contexto entre múltiplas mensagens, use o contextId
:
Estados da Tarefa
O protocolo A2A define estados específicos para o ciclo de vida das tarefas:
Estado | Descrição |
---|---|
submitted | Tarefa foi recebida e está na fila |
working | Tarefa está sendo processada |
completed | Tarefa foi concluída com sucesso |
failed | Tarefa falhou durante o processamento |
canceled | Tarefa foi cancelada pelo usuário |
Autenticação
O protocolo suporta diferentes métodos de autenticação:
Dicas e Boas Práticas
Recursos Adicionais
Especificação Oficial
Documentação completa do protocolo A2A mantida pelo Google
Repositório GitHub
Código fonte, exemplos e issues do projeto A2A
Guia de Início Rápido
Configure seu primeiro agente em menos de 2 minutos
Tipos de Agentes
Explore diferentes tipos de agentes compatíveis com A2A
Com o protocolo A2A, você pode integrar rapidamente qualquer agente ou aplicação front-end ao ecossistema Evo AI, garantindo interoperabilidade e comunicação padronizada entre diferentes sistemas de agentes de IA.