Agent Registry indexe les cartes d'agent Agent2Agent (A2A), les interfaces de transport et les compétences intégrées afin que vous et vos agents d'orchestration puissiez découvrir et appeler des agents dans votre environnement Google Cloud . Les agents IA autonomes peuvent utiliser le protocole A2A pour échanger des messages et déléguer des tâches sans partager leur état interne, leurs prompts ni leurs outils.
Relation entre les agents IA, A2A et MCP
Les architectures multi-agents peuvent combiner les normes ouvertes suivantes, qui sont cataloguées par Agent Registry :
- Protocole Agent2Agent (A2A) : standardise la communication pair à pair entre un client A2A, tel qu'un agent orchestrateur ou une application visible par l'utilisateur, et un agent A2A distant. Le client envoie des messages en langage naturel ou structurés, et reçoit des mises à jour de tâches avec état ou des artefacts sans avoir besoin de visibilité sur le modèle sous-jacent, le substrat de mémoire ou la boucle de raisonnement interne de l'agent distant. Le registre d'agents recense à la fois les agents Google intégrés exposés par des API Google Cloud et les agents A2A personnalisés que vous déployez dans votre propre environnement. Pour obtenir un exemple d'architecture d'hébergement d'agents A2A personnalisés, consultez Présentation des agents A2A sur Cloud Run.
- Model Context Protocol (MCP) : standardise l'exécution des outils client-serveur, où un agent se connecte à un serveur MCP pour appeler des outils déterministes et lire des ressources de données structurées.
Dans Agent Registry, votre agent orchestrateur peut interroger un seul registre pour découvrir des sous-agents A2A spécialisés pour la délégation en plusieurs étapes, ainsi que des serveurs MCP et des compétences autonomes pour l'utilisation directe d'outils.
Versions du protocole et découverte de la fiche d'agent
Chaque agent compatible A2A décrit son identité, ses points de terminaison et ses capacités dans un document de métadonnées JSON appelé carte d'agent (agent-card.json).
Le registre d'agents est compatible avec les versions 1.0 (recommandée) et 0.3 de la spécification du protocole A2A.
Pour en savoir plus sur les champs et les structures de fiches d'agent spécifiques de ces versions, consultez Schéma de fiche d'agent.
Comment Agent Registry indexe-t-il les fiches d'agent ?
Qu'un agent A2A soit ingéré via l'enregistrement automatique ou ajouté via l'enregistrement manuel, le registre d'agents valide sa carte d'agent et crée une ressource de découverte Agent en lecture seule avec les informations suivantes :
- Charge utile de la carte d'agent : Agent Registry stocke la charge utile JSON complète dans le champ
cardde la ressourceAgentavectypedéfini surA2A_AGENT_CARD. - Champs de découverte : le registre d'agents extrait les champs
displayName,description,version, le champ de transportprotocolset le champskillsintégré de la carte d'agent, puis les stocke dans la ressourceAgent. Vous pouvez rechercher et filtrer ces fonctionnalités sans récupérer les points de terminaison/.well-known/agent-card.jsonindividuels dans les services.
Les servicesGoogle Cloud et les environnements d'exécution gérés n'exposent pas toujours une URL /.well-known/agent-card.json publique. À la place, vous et vos applications clientes récupérez la fiche d'agent directement depuis Agent Registry. Certains agents fournissent également une fiche d'agent étendue avec des détails supplémentaires qui ne sont disponibles que pour les clients authentifiés. Si une carte d'agent définit capabilities.extendedAgentCard sur true, les clients authentifiés peuvent obtenir la carte d'agent étendue sur le point de terminaison d'exécution de l'agent pour récupérer ces détails.
Liaisons de transport et opérations de base
Une liaison de transport définit la manière dont un client met en forme et envoie des requêtes à un agent A2A sur le réseau. Le protocole A2A est compatible avec les options de transport suivantes, ce qui permet aux agents créés sur différentes plates-formes de communiquer :
- HTTP+JSON : requêtes HTTPS qui envoient et reçoivent des charges utiles JSON.
- JSON-RPC : requêtes HTTPS qui encapsulent le nom et les paramètres de l'opération dans un message JSON-RPC.
- gRPC : appels gRPC binaires via TLS pour une communication à faible latence entre les services.
Le registre d'agents enregistre les types de transport compatibles de chaque agent et les URL de point de terminaison de l'agent sur la ressource Agent. Étant donné que les URL de point de terminaison varient selon les services et les déploiements Google Cloud , évitez de coder les URL en dur dans votre code. Recherchez plutôt l'URL du point de terminaison et le transport de l'agent dans Agent Registry au moment de l'exécution.
Quel que soit le transport utilisé par un agent, les clients interagissent avec l'agent via les mêmes opérations A2A de base :
| Opération | Description |
|---|---|
SendMessage |
Envoie un message pour démarrer une nouvelle tâche ou poursuivre une conversation. L'agent renvoie une réponse immédiate ou une tâche que vous pouvez suivre. |
SendStreamingMessage |
Envoie un message et diffuse en direct les mises à jour d'état, les réponses partielles et les résultats pendant que l'agent travaille, lorsque l'agent est compatible avec le streaming. |
GetTask |
Vérifie l'état actuel et récupère les résultats d'une tâche existante. |
ListTasks |
Répertorie les tâches d'une conversation ou d'un projet, lorsque l'agent le permet. |
SubscribeToTask |
Se reconnecte à une tâche en cours d'exécution pour diffuser des mises à jour en direct jusqu'à ce que la tâche soit suspendue ou terminée. |
CancelTask |
Demande à l'agent d'arrêter une tâche en cours, lorsque l'annulation est possible. |
GetExtendedAgentCard |
Récupère la fiche d'agent étendue de l'agent avec des détails supplémentaires disponibles uniquement pour les clients authentifiés. |
Cycle de vie des tâches et état multitour
A2A sépare la continuité de la conversation des unités d'exécution individuelles à l'aide de deux identifiants :
- ID de contexte (
contextId) : regroupe les interactions multitours associées au sein d'une session partagée afin que l'agent distant puisse conserver le contexte de la conversation entre les requêtes séquentielles. - ID de tâche (
taskId) : identifie une unité de travail asynchrone ou synchrone spécifique créée lorsqu'un client A2A envoie un message.
Lorsqu'un agent distant traite une requête, la tâche passe par les états de cycle de vie A2A suivants :
| État | Catégorie | Description |
|---|---|---|
TASK_STATE_SUBMITTED |
Actif | L'agent distant a accepté la requête et mis la tâche en file d'attente pour exécution. |
TASK_STATE_WORKING |
Actif | L'agent distant raisonne, appelle des outils ou génère des artefacts pour la tâche. |
TASK_STATE_INPUT_REQUIRED |
Suspendue | L'exécution est suspendue en attendant une entrée de suivi, une clarification ou une confirmation human-in-the-loop (avec intervention humaine) sur les mêmes taskId et contextId. |
TASK_STATE_AUTH_REQUIRED |
Suspendue | L'exécution est suspendue jusqu'à ce que le client termine l'authentification ou un flux de consentement utilisateur pour une ressource en aval. |
TASK_STATE_COMPLETED |
Terminal | La tâche s'est terminée correctement et a renvoyé sa réponse finale ou ses artefacts de sortie. |
TASK_STATE_FAILED |
Terminal | La tâche s'est arrêtée en raison d'une erreur d'exécution ou d'un service en aval. |
TASK_STATE_CANCELED |
Terminal | La tâche a été annulée avant d'être terminée. |
TASK_STATE_REJECTED |
Terminal | L'agent distant a refusé d'exécuter la tâche demandée. |
Compétences A2A, compétences autonomes et outils MCP
Le registre d'agents indexe trois mécanismes de fonctionnalités distincts afin que vous puissiez choisir le modèle d'intégration adapté à chaque workflow :
- Compétences A2A intégrées : le champ
skillsde la ressource de découverteAgentd'un agent contient des métadonnées JSON, y comprisid,name,description,tagsetexamples, intégrées à la fiche de l'agent. Les compétences A2A intégrées indiquent les tâches de haut niveau qu'un agent orchestrateur peut déléguer à cet agent distant via un transport A2A. - Compétences autonomes : les ressources de premier niveau
SkilletSkillRevisionindépendantes dans Agent Registry contiennent des archives ZIP avec versions, avec des instructions dans un fichierSKILL.mdet des scripts facultatifs. Un agent télécharge une compétence autonome dans son propre contexte plutôt que de déléguer l'exécution à un autre agent. Pour une comparaison complète entre les compétences A2A intégrées et les compétences autonomes, consultez Différences entre les compétences autonomes et les compétences A2A. - Outils MCP : le champ
toolsd'une ressource de découverteMcpServercontient des schémas de fonction structurés exposés par un serveur MCP enregistré qu'un agent appelle directement pour interroger des données ou exécuter des opérations déterministes.
Sécurité, gouvernance et appels d'agents au moment de l'exécution
Agent Registry sert de catalogue pour découvrir les agents A2A. L'authentification, l'autorisation, l'inspection du contenu, la journalisation d'audit et l'application des quotas se produisent au moment de l'exécution, lorsque votre client ou votre agent d'orchestration appelle l'agent cible :
- Recherche et appels de points de terminaison d'agents cibles : recherchez les points de terminaison d'agents A2A cibles et envoyez des messages à l'aide d'Agent Development Kit (ADK) ou de clients HTTP et Python standards. Pour en savoir plus, consultez Créer des systèmes multi-agents et appeler des agents A2A.
- Authentification et champ d'application des identifiants : configurez des jetons d'accès OAuth 2.0, des jetons d'ID OpenID Connect (OIDC), la fédération d'identité de charge de travail ou des liaisons du gestionnaire d'authentification Agent Identity pour les appels d'agent à agent.
- Contrôle des accès et stratégies de refus : appliquez des autorisations d'accès d'exécution, des stratégies de refus IAM (Identity and Access Management) et des stratégies de sortie Identity-Aware Proxy (IAP). Pour en savoir plus, consultez Rôles et autorisations.
- Inspection des prompts et des réponses : inspectez les charges utiles des prompts et des réponses A2A compatibles pour détecter les injections de prompts et l'exposition de données sensibles en configurant l'intégration de Model Armor à Agent Gateway et les liaisons d'extension de service.
- Journaux d'audit et quotas : inspectez les enregistrements d'audit pour les appels A2A dans Journaux d'audit d'Agent Registry et planifiez les quotas de débit de l'agent cible et du service en aval dans Quotas et limites du système.
Étapes suivantes
- Recherchez des agents, des outils et des compétences dans les cartes d'agent et les compétences A2A intégrées.
- Créer des systèmes multi-agents et appeler des agents A2A à l'aide de clients ADK ou A2A.
- Examinez les schémas JSON des fiches d'agent A2A.
- Comparez les compétences A2A autonomes et intégrées.