Protocolo A2A

O Agent Registry indexa os cards de agentes Agent2Agent (A2A), as interfaces de transporte e as habilidades inline para que você e seus agentes orquestradores possam descobrir e chamar agentes no seu ambiente do Google Cloud . Os agentes de IA autônomos podem usar o protocolo A2A para trocar mensagens e delegar tarefas sem compartilhar o estado interno, os comandos ou as ferramentas.

Relação entre agentes de IA, A2A e MCP

As arquiteturas multiagente podem combinar os seguintes padrões abertos que o Agent Registry cataloga:

  • Protocolo Agent2Agent (A2A): padroniza a comunicação ponto a ponto entre um cliente A2A, como um agente orquestrador ou um aplicativo voltado ao usuário, e um agente A2A remoto. O cliente envia mensagens em linguagem natural ou estruturadas e recebe atualizações de tarefas com estado ou artefatos sem precisar de visibilidade do modelo subjacente, do substrato de memória ou do loop de raciocínio interno do agente remoto. O Agent Registry cataloga os agentes integrados do Google expostos pelas APIs do Google Cloud e os agentes A2A personalizados que você implanta no seu próprio ambiente. Para ver um exemplo de arquitetura de hospedagem de agentes A2A personalizados, consulte Visão geral dos agentes A2A no Cloud Run.
  • Protocolo de Contexto de Modelo (MCP): padroniza a execução de ferramentas cliente-servidor, em que um agente se conecta a um servidor MCP para chamar ferramentas determinísticas e ler recursos de dados estruturados.

No Agent Registry, seu agente orquestrador pode consultar um único registro para descobrir subagentes A2A especializados para delegação em várias etapas, além de servidores MCP e habilidades independentes para uso direto de ferramentas.

Versões do protocolo e descoberta de cards de agente

Cada agente compatível com A2A descreve a própria identidade, endpoints e recursos em um documento de metadados JSON chamado card do agente (agent-card.json).

O Agent Registry é compatível com as versões 1.0 (recomendada) e 0.3 da especificação do protocolo A2A. Para informações sobre campos e estruturas específicos do Agent Card dessas versões, consulte Esquema do Agent Card.

Como o Agent Registry indexa os cards de agentes

Se um agente A2A é ingerido por registro automático ou adicionado por registro manual, o Agent Registry valida o card do agente e cria um recurso de descoberta Agent somente leitura com as seguintes informações:

  • Payload do card do agente: o Agent Registry armazena o payload JSON completo no campo card do recurso Agent com type definido como A2A_AGENT_CARD.
  • Campos de descoberta: o registro de agentes extrai os campos displayName, description, version, o transporte protocols e o skills inline do card do agente e os armazena no recurso Agent. É possível pesquisar e filtrar esses recursos sem buscar endpoints /.well-known/agent-card.json individuais em todos os serviços.

Os serviços doGoogle Cloud e os ambientes de execução controlados nem sempre expõem um URL público do /.well-known/agent-card.json. Em vez disso, você e seus aplicativos cliente recuperam o Card do Agente diretamente do Agent Registry. Alguns agentes também fornecem um Card de Agente estendido com detalhes adicionais que estão disponíveis apenas para clientes autenticados. Se um card de agente definir capabilities.extendedAgentCard como true, os clientes autenticados poderão receber o card de agente estendido no endpoint de ambiente de execução do agente para recuperar esses detalhes.

Vinculações de transporte e operações principais

Uma vinculação de transporte define como um cliente formata e envia solicitações para um agente A2A pela rede. O protocolo A2A oferece suporte às seguintes opções de transporte para que agentes criados em plataformas diferentes possam se comunicar:

  • HTTP+JSON: solicitações HTTPS que enviam e recebem payloads JSON.
  • JSON-RPC: solicitações HTTPS que envolvem o nome e os parâmetros da operação em uma mensagem JSON-RPC.
  • gRPC: chamadas gRPC binárias por TLS para comunicação de baixa latência entre serviços.

O registro de agentes registra os tipos de transporte compatíveis de cada agente e os URLs de endpoint do agente no recurso Agent. Como os URLs de endpoint variam entre os serviços e as implantações do Google Cloud , evite codificar URLs no seu código. Em vez disso, procure o URL do endpoint do agente e o transporte no Agent Registry no momento da execução.

Independentemente do transporte usado por um agente, os clientes interagem com ele pelas mesmas operações principais do A2A:

Operação Descrição
SendMessage Envia uma mensagem para iniciar uma nova tarefa ou continuar uma conversa. O agente retorna uma resposta imediata ou uma tarefa que você pode acompanhar.
SendStreamingMessage Envia uma mensagem e transmite atualizações de status em tempo real, respostas parciais e resultados enquanto o agente trabalha, quando o agente oferece suporte a streaming.
GetTask Verifica o status atual e recupera as saídas de uma tarefa existente.
ListTasks Lista as tarefas em uma conversa ou projeto, quando o agente é compatível.
SubscribeToTask Reconecta-se a uma tarefa em execução para transmitir atualizações em tempo real até que ela seja pausada ou concluída.
CancelTask Solicita que o agente interrompa uma tarefa em andamento, quando o cancelamento é permitido.
GetExtendedAgentCard Recupera o card estendido do agente com detalhes adicionais disponíveis apenas para clientes autenticados.

Ciclo de vida da tarefa e estado de vários turnos

A A2A separa a continuidade da conversa das unidades individuais de execução usando dois identificadores:

  • ID de contexto (contextId): agrupa interações de vários turnos relacionadas em uma sessão compartilhada para que o agente remoto possa preservar o contexto da conversa em solicitações sequenciais.
  • ID da tarefa (taskId): identifica uma unidade de trabalho assíncrona ou síncrona específica criada quando um cliente A2A envia uma mensagem.

À medida que um agente remoto processa uma solicitação, a tarefa passa pelos seguintes estados do ciclo de vida do A2A:

Estado Categoria Descrição
TASK_STATE_SUBMITTED Ativo O agente remoto aceitou a solicitação e colocou a tarefa na fila para execução.
TASK_STATE_WORKING Ativo O agente remoto está raciocinando, chamando ferramentas ou gerando artefatos para a tarefa.
TASK_STATE_INPUT_REQUIRED Pausado A execução é pausada aguardando entrada de acompanhamento, esclarecimento ou confirmação human-in-the-loop no mesmo taskId e contextId.
TASK_STATE_AUTH_REQUIRED Pausado A execução é pausada até que o cliente conclua a autenticação ou um fluxo de consentimento do usuário para um recurso downstream.
TASK_STATE_COMPLETED Terminal A tarefa foi concluída e retornou a resposta final ou os artefatos de saída.
TASK_STATE_FAILED Terminal A tarefa foi interrompida devido a um erro de execução ou de serviço downstream.
TASK_STATE_CANCELED Terminal A tarefa foi cancelada antes da conclusão.
TASK_STATE_REJECTED Terminal O agente remoto recusou a execução da tarefa solicitada.

Habilidades de A2A, habilidades independentes e ferramentas do MCP

O Agent Registry indexa três mecanismos de capacidade distintos para que você possa escolher o padrão de integração certo para cada fluxo de trabalho:

  • Habilidades inline de A2A: o campo skills no recurso de descoberta Agent de um agente contém metadados JSON, incluindo id, name, description, tags e examples, incorporados ao card do agente. As habilidades inline de A2A anunciam quais tarefas de alto nível um agente orquestrador pode delegar a esse agente remoto por um transporte de A2A.
  • Habilidades independentes: recursos independentes de nível superior Skill e SkillRevision no Agent Registry contêm arquivos ZIP com controle de versões com instruções em um arquivo SKILL.md e scripts opcionais. Um agente faz o download de uma habilidade independente no próprio contexto, em vez de delegar a execução a outro agente. Para uma comparação completa entre as habilidades inline de A2A e as habilidades independentes, consulte Diferenças entre habilidades independentes e de A2A.
  • Ferramentas MCP: o campo tools em um recurso de descoberta McpServer contém esquemas de função estruturados expostos por um servidor MCP registrado que um agente chama diretamente para consultar dados ou executar operações determinísticas.

Segurança em tempo de execução, governança e chamadas de agentes

O Agent Registry serve como o catálogo para descobrir agentes A2A. A autenticação, a autorização, a inspeção de conteúdo, a geração de registros de auditoria e a aplicação de cotas no ambiente de execução ocorrem quando o cliente ou o agente orquestrador chama o agente de destino:

A seguir