Protocollo A2A

Agent Registry indicizza le schede degli agenti Agent2Agent (A2A), le interfacce di trasporto e le competenze in linea in modo che tu e i tuoi agenti orchestratori possiate scoprire e chiamare gli agenti nel vostro ambiente Google Cloud . Gli agenti AI autonomi possono utilizzare il protocollo A2A per scambiare messaggi e delegare attività senza condividere lo stato interno, i prompt o gli strumenti.

Relazione tra agenti AI, A2A e MCP

Le architetture multi-agente possono combinare i seguenti standard aperti catalogati da Agent Registry:

  • Protocollo Agent2Agent (A2A): standardizza la comunicazione peer-to-peer tra un client A2A, come un agente orchestratore o un'applicazione rivolta agli utenti, e un agente A2A remoto. Il client invia messaggi in linguaggio naturale o strutturati e riceve aggiornamenti o artefatti delle attività stateful senza richiedere visibilità sul modello sottostante, sul substrato di memoria o sul ciclo di ragionamento interno dell'agente remoto. Agent Registry cataloga sia gli agenti Google integrati esposti dalle API Google Cloud sia gli agenti A2A personalizzati di cui esegui il deployment nel tuo ambiente. Per un esempio di architettura di hosting di agenti A2A personalizzati, consulta Panoramica degli agenti A2A su Cloud Run.
  • Model Context Protocol (MCP): standardizza l'esecuzione degli strumenti client-to-server, in cui un agente si connette a un server MCP per chiamare strumenti deterministici e leggere risorse di dati strutturati.

In Agent Registry, l'agente orchestratore può eseguire query su un singolo registro per scoprire subagenti A2A specializzati per la delega in più passaggi, oltre a server MCP e skill autonome per l'utilizzo diretto degli strumenti.

Versioni del protocollo e rilevamento delle schede degli agenti

Ogni agente conforme ad A2A descrive la propria identità, i propri endpoint e le proprie funzionalità in un documento di metadati JSON chiamato Agent Card (agent-card.json).

Agent Registry supporta le versioni 1.0 (consigliata) e 0.3 della specifica del protocollo A2A. Per informazioni su campi e strutture specifici della scheda dell'agente di queste versioni, consulta Schema della scheda dell'agente.

In che modo Agent Registry indicizza le schede degli agenti

Indipendentisci dal fatto che un agente A2A venga importato tramite registrazione automatica o aggiunto tramite registrazione manuale, il registro degli agenti convalida la relativa scheda e crea una risorsa di rilevamento Agent di sola lettura con le seguenti informazioni:

  • Payload della scheda agente: Agent Registry archivia il payload JSON completo nel campo card della risorsa Agent con type impostato su A2A_AGENT_CARD.
  • Campi di rilevamento: Agent Registry estrae displayName, description, version, protocols di trasporto e skills in linea dell'agente dalla scheda dell'agente e li archivia nella risorsa Agent. Puoi cercare e filtrare queste funzionalità senza recuperare i singoli endpoint /.well-known/agent-card.json tra i servizi.

I serviziGoogle Cloud e i runtime gestiti non espongono sempre un URL /.well-known/agent-card.json pubblico. Invece, tu e le tue applicazioni client recuperate la scheda dell'agente direttamente da Agent Registry. Alcuni agenti forniscono anche una scheda dell'agente estesa con dettagli aggiuntivi disponibili solo per i client autenticati. Se una scheda dell'agente imposta capabilities.extendedAgentCard su true, i client autenticati possono ottenere la scheda dell'agente estesa sull'endpoint di runtime dell'agente per recuperare questi dettagli.

Binding di trasporto e operazioni principali

Un'associazione di trasporto definisce il modo in cui un client formatta e invia le richieste a un agente A2A tramite la rete. Il protocollo A2A supporta le seguenti opzioni di trasporto, in modo che gli agenti creati su piattaforme diverse possano comunicare:

  • HTTP+JSON: richieste HTTPS che inviano e ricevono payload JSON.
  • JSON-RPC: richieste HTTPS che aggregano il nome e i parametri dell'operazione all'interno di un messaggio JSON-RPC.
  • gRPC: chiamate gRPC binarie su TLS per la comunicazione a bassa latenza tra i servizi.

Il registry degli agenti registra i tipi di trasporto supportati da ciascun agente e gli URL degli endpoint dell'agente nella risorsa Agent. Poiché gli URL degli endpoint variano tra i servizi e i deployment Google Cloud , evita di impostare gli URL come hardcoded nel codice. Cerca invece l'URL dell'endpoint e il trasporto dell'agente da Agent Registry in fase di runtime.

Indipendentemente dal trasporto utilizzato da un agente, i client interagiscono con l'agente tramite le stesse operazioni A2A di base:

Operazione Descrizione
SendMessage Invia un messaggio per avviare una nuova attività o continuare una conversazione. L'agente restituisce una risposta immediata o un'attività che puoi monitorare.
SendStreamingMessage Invia un messaggio e trasmette in streaming aggiornamenti di stato in tempo reale, risposte parziali e risultati mentre l'agente lavora, se l'agente supporta lo streaming.
GetTask Controlla lo stato attuale e recupera gli output di un'attività esistente.
ListTasks Elenca le attività in una conversazione o in un progetto, se supportato dall'agente.
SubscribeToTask Si ricollega a un'attività in esecuzione per trasmettere aggiornamenti in tempo reale finché l'attività non viene messa in pausa o completata.
CancelTask Richiede all'agente di interrompere un'attività in corso, se l'annullamento è supportato.
GetExtendedAgentCard Recupera la scheda dell'agente estesa con dettagli aggiuntivi disponibili solo per i client autenticati.

Ciclo di vita delle attività e stato multi-turn

A2A separa la continuità della conversazione dalle singole unità di esecuzione utilizzando due identificatori:

  • ID contesto (contextId): raggruppa le interazioni multi-turn correlate all'interno di una sessione condivisa in modo che l'agente remoto possa preservare il contesto della conversazione tra richieste sequenziali.
  • ID attività (taskId): identifica un'unità di lavoro asincrona o sincrona specifica creata quando un client A2A invia un messaggio.

Mentre un agente remoto elabora una richiesta, l'attività passa attraverso i seguenti stati del ciclo di vita A2A:

Stato Categoria Descrizione
TASK_STATE_SUBMITTED Attivo L'agente remoto ha accettato la richiesta e ha messo in coda l'attività per l'esecuzione.
TASK_STATE_WORKING Attivo L'agente remoto sta ragionando, chiamando strumenti o generando artefatti per l'attività.
TASK_STATE_INPUT_REQUIRED In pausa L'esecuzione è in pausa in attesa di input di follow-up, chiarimenti o conferma human-in-the-loop sugli stessi taskId e contextId.
TASK_STATE_AUTH_REQUIRED In pausa L'esecuzione viene messa in pausa finché il client non completa l'autenticazione o un flusso di consenso dell'utente per una risorsa downstream.
TASK_STATE_COMPLETED Terminale L'attività è stata completata correttamente e ha restituito la risposta finale o gli artefatti di output.
TASK_STATE_FAILED Terminale L'attività è stata interrotta a causa di un errore di esecuzione o del servizio downstream.
TASK_STATE_CANCELED Terminale L'attività è stata annullata prima del completamento.
TASK_STATE_REJECTED Terminale L'agente remoto ha rifiutato di eseguire l'attività richiesta.

Skill A2A, skill autonome e strumenti MCP

Agent Registry indicizza tre distinti meccanismi di funzionalità in modo da poter scegliere il pattern di integrazione giusto per ogni workflow:

  • Skill A2A in linea: il campo skills nella risorsa di discovery Agent di un agente contiene metadati JSON, tra cui id, name, description, tags e examples, incorporati nella scheda dell'agente. Le skill A2A in linea pubblicizzano le attività di alto livello che un agente orchestratore può delegare all'agente remoto tramite un trasporto A2A.
  • Skill autonome: le risorse indipendenti Skill e SkillRevision di primo livello in Agent Registry contengono archivi ZIP con versioni con istruzioni in un file SKILL.md e script facoltativi. Un agente scarica una skill autonoma nel proprio contesto anziché delegare l'esecuzione a un altro agente. Per un confronto completo tra le skill A2A in linea e le skill autonome, consulta Differenze tra le skill autonome e le skill A2A.
  • Strumenti MCP: il campo tools in una risorsa di rilevamento McpServer contiene schemi di funzioni strutturati esposti da un server MCP registrato che un agente chiama direttamente per eseguire query sui dati o operazioni deterministiche.

Sicurezza runtime, governance e chiamate agentiche

Agent Registry funge da catalogo per la scoperta degli agenti A2A. L'autenticazione, l'autorizzazione, l'ispezione dei contenuti, l'audit logging e l'applicazione delle quote in fase di runtime si verificano quando il client o l'agente orchestratore chiama l'agente di destinazione:

Passaggi successivi