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
carddella risorsaAgentcontypeimpostato suA2A_AGENT_CARD. - Campi di rilevamento: Agent Registry estrae
displayName,description,version,protocolsdi trasporto eskillsin linea dell'agente dalla scheda dell'agente e li archivia nella risorsaAgent. Puoi cercare e filtrare queste funzionalità senza recuperare i singoli endpoint/.well-known/agent-card.jsontra 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
skillsnella risorsa di discoveryAgentdi un agente contiene metadati JSON, tra cuiid,name,description,tagseexamples, 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
SkilleSkillRevisiondi primo livello in Agent Registry contengono archivi ZIP con versioni con istruzioni in un fileSKILL.mde 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
toolsin una risorsa di rilevamentoMcpServercontiene 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:
- Ricerca e chiamate degli Agent Endpoint di destinazione: cerca gli Agent Endpoint degli agenti A2A di destinazione e invia messaggi utilizzando l'Agent Development Kit (ADK) o i client HTTP e Python standard. Per saperne di più, consulta Crea sistemi multi-agente e chiama agenti A2A.
- Autenticazione e definizione dell'ambito delle credenziali: configura i token di accesso OAuth 2.0, i token ID OpenID Connect (OIDC), la federazione delle identità per i workload o i binding del gestore di autenticazione di Agent Identity per le chiamate da agente ad agente.
- Controllo degli accessi e policy di rifiuto: applica le autorizzazioni di accesso in fase di runtime, le policy di rifiuto di Identity and Access Management (IAM) e le policy in uscita di Identity-Aware Proxy (IAP). Per saperne di più, consulta Ruoli e autorizzazioni.
- Ispezione di prompt e risposte: ispeziona i payload di prompt e risposte A2A supportati per rilevare prompt injection ed esposizione di dati sensibili configurando l'integrazione di Model Armor con Agent Gateway e i binding delle estensioni di servizio.
- Audit logging e quote: controlla i record di audit per le chiamate A2A nell'audit logging di Agent Registry e pianifica le quote di frequenza per l'agente di destinazione e il servizio downstream in Quote e limiti di sistema.
Passaggi successivi
- Cerca agenti, strumenti e skill nelle schede degli agenti e nelle skill A2A in linea.
- Crea sistemi multi-agente e chiama gli agenti A2A utilizzando client ADK o A2A.
- Esamina gli schemi JSON per le schede dell'agente A2A.
- Confronta le skill A2A autonome e integrate.