Protocolo A2A

Agent Registry indexa las tarjetas de agentes de Agent2Agent (A2A), las interfaces de transporte y las habilidades intercaladas para que tú y tus agentes de organización puedan descubrir y llamar a agentes en tu entorno de Google Cloud . Los agentes de IA autónomos pueden usar el protocolo A2A para intercambiar mensajes y delegar tareas sin compartir su estado interno, instrucciones o herramientas.

Relación entre los agentes de IA, A2A y MCP

Las arquitecturas multiagente pueden combinar los siguientes estándares abiertos que cataloga Agent Registry:

  • Protocolo Agent2Agent (A2A): Estandariza la comunicación de par a par entre un cliente A2A, como un agente organizador o una aplicación para el usuario, y un agente A2A remoto. El cliente envía mensajes estructurados o en lenguaje natural, y recibe actualizaciones de tareas con estado o artefactos sin necesidad de tener visibilidad del modelo subyacente, el sustrato de memoria o el bucle de razonamiento interno del agente remoto. El Registro de agentes cataloga tanto los agentes de Google integrados expuestos por las APIs de Google Cloud como los agentes A2A personalizados que implementas en tu propio entorno. Para ver un ejemplo de arquitectura de hosting de agentes A2A personalizados, consulta Descripción general de los agentes A2A en Cloud Run.
  • Protocolo de contexto del modelo (MCP): Estandariza la ejecución de herramientas de cliente a servidor, en la que un agente se conecta a un servidor de MCP para llamar a herramientas determinísticas y leer recursos de datos estructurados.

En Agent Registry, tu agente de organización puede consultar un solo registro para descubrir subagentes de A2A especializados para la delegación de varios pasos, junto con servidores de MCP y habilidades independientes para el uso directo de herramientas.

Versiones de protocolo y descubrimiento de tarjetas de agentes

Cada agente compatible con A2A describe su identidad, sus extremos y sus capacidades en un documento de metadatos JSON llamado tarjeta de agente (agent-card.json).

El Registro de agentes admite las versiones 1.0 (recomendada) y 0.3 de la especificación del protocolo A2A. Para obtener información sobre los campos y las estructuras específicos de la tarjeta de agente de estas versiones, consulta Esquema de la tarjeta de agente.

Cómo Agent Registry indexa las tarjetas de agente

Ya sea que un agente A2A se incorpore a través del registro automático o se agregue a través del registro manual, Agent Registry valida su tarjeta de agente y crea un recurso de descubrimiento Agent de solo lectura con la siguiente información:

  • Carga útil de la tarjeta del agente: El registro de agentes almacena la carga útil de JSON completa en el campo card del recurso Agent con type establecido en A2A_AGENT_CARD.
  • Campos de descubrimiento: Agent Registry extrae el displayName, el description, el version, el protocols de transporte y el skills intercalado del agente de la tarjeta de agente y los almacena en el recurso Agent. Puedes buscar y filtrar estas capacidades sin recuperar extremos /.well-known/agent-card.json individuales en los servicios.

Los servicios deGoogle Cloud y los entornos de ejecución administrados no siempre exponen una URL pública de /.well-known/agent-card.json. En su lugar, tú y tus aplicaciones cliente recuperan la tarjeta de agente directamente de Agent Registry. Algunos agentes también proporcionan una tarjeta de agente extendida con detalles adicionales que solo están disponibles para los clientes autenticados. Si una tarjeta de agente establece capabilities.extendedAgentCard en true, los clientes autenticados pueden obtener la tarjeta de agente extendida en el extremo del entorno de ejecución del agente para recuperar esos detalles.

Vinculaciones de transporte y operaciones principales

Una vinculación de transporte define cómo un cliente formatea y envía solicitudes a un agente A2A a través de la red. El protocolo A2A admite las siguientes opciones de transporte para que los agentes creados en diferentes plataformas puedan comunicarse:

  • HTTP+JSON: Solicitudes HTTPS que envían y reciben cargas útiles de JSON.
  • JSON-RPC: Solicitudes HTTPS que unen el nombre y los parámetros de la operación dentro de un mensaje JSON-RPC.
  • gRPC: llamadas de gRPC binarias a través de TLS para la comunicación de baja latencia entre servicios.

El registro de agentes registra los tipos de transporte admitidos de cada agente y las URLs de los extremos del agente en el recurso Agent. Debido a que las URLs de los extremos varían entre los servicios y las implementaciones de Google Cloud , evita codificar las URLs en tu código. En su lugar, busca la URL del extremo del agente y el transporte desde Agent Registry en el entorno de ejecución.

Independientemente del transporte que use un agente, los clientes interactúan con él a través de las mismas operaciones principales de A2A:

Operación Descripción
SendMessage Envía un mensaje para iniciar una tarea nueva o continuar una conversación. El agente devuelve una respuesta inmediata o una tarea de la que puedes hacer un seguimiento.
SendStreamingMessage Envía un mensaje y transmite actualizaciones de estado en vivo, respuestas parciales y resultados a medida que el agente trabaja, cuando el agente admite la transmisión.
GetTask Verifica el estado actual y recupera los resultados de una tarea existente.
ListTasks Enumera las tareas de una conversación o un proyecto, cuando el agente lo admite.
SubscribeToTask Se vuelve a conectar a una tarea en ejecución para transmitir novedades en tiempo real hasta que la tarea se pause o finalice.
CancelTask Solicita que el agente detenga una tarea en curso, cuando se admite la cancelación.
GetExtendedAgentCard Recupera la tarjeta de agente extendida del agente con detalles adicionales disponibles solo para clientes autenticados.

Ciclo de vida de la tarea y estado de varios turnos

A2A separa la continuidad de la conversación de las unidades de ejecución individuales con dos identificadores:

  • ID de contexto (contextId): Agrupa las interacciones de varios turnos relacionadas dentro de una sesión compartida para que el agente remoto pueda conservar el contexto de la conversación en las solicitudes secuenciales.
  • ID de tarea (taskId): Identifica una unidad de trabajo asíncrona o síncrona específica que se crea cuando un cliente de A2A envía un mensaje.

A medida que un agente remoto procesa una solicitud, la tarea pasa por los siguientes estados del ciclo de vida de A2A:

Estado Categoría Descripción
TASK_STATE_SUBMITTED Activo El agente remoto aceptó la solicitud y puso en cola la tarea para su ejecución.
TASK_STATE_WORKING Activo El agente remoto está razonando, llamando a herramientas o generando artefactos para la tarea de forma activa.
TASK_STATE_INPUT_REQUIRED En pausa La ejecución se detiene mientras se espera una entrada de seguimiento, una aclaración o una confirmación con intervención humana en el mismo taskId y contextId.
TASK_STATE_AUTH_REQUIRED En pausa La ejecución se detiene hasta que el cliente completa la autenticación o un flujo de consentimiento del usuario para un recurso downstream.
TASK_STATE_COMPLETED Terminal La tarea finalizó correctamente y devolvió su respuesta final o los artefactos de salida.
TASK_STATE_FAILED Terminal La tarea se detuvo debido a un error de ejecución o del servicio downstream.
TASK_STATE_CANCELED Terminal La tarea se canceló antes de que se completara.
TASK_STATE_REJECTED Terminal El agente remoto rechazó ejecutar la tarea solicitada.

Habilidades de A2A, habilidades independientes y herramientas de MCP

El registro de agentes indexa tres mecanismos de capacidad distintos para que puedas elegir el patrón de integración adecuado para cada flujo de trabajo:

  • Habilidades de A2A intercaladas: El campo skills del recurso de descubrimiento Agent de un agente contiene metadatos JSON, incluidos id, name, description, tags y examples, incorporados en la tarjeta del agente. Las habilidades de A2A intercaladas anuncian qué tareas de alto nivel puede delegar un agente organizador a ese agente remoto a través de un transporte de A2A.
  • Habilidades independientes: Los recursos independientes de nivel superior Skill y SkillRevision en el Registro de agentes contienen archivos ZIP con versiones que incluyen instrucciones en un archivo SKILL.md y secuencias de comandos opcionales. Un agente descarga una habilidad independiente en su propio contexto en lugar de delegar la ejecución a otro agente. Para obtener una comparación completa entre las habilidades de A2A intercaladas y las habilidades independientes, consulta Diferencias entre las habilidades independientes y las de A2A.
  • Herramientas de MCP: El campo tools de un recurso de descubrimiento McpServer contiene esquemas de funciones estructurados expuestos por un servidor de MCP registrado al que un agente llama directamente para consultar datos o ejecutar operaciones determinísticas.

Seguridad, administración y llamadas de agentes en el entorno de ejecución

Agent Registry funciona como el catálogo para descubrir agentes A2A. La autenticación, la autorización, la inspección de contenido, el registro de auditoría y la aplicación de cuotas en el entorno de ejecución se producen cuando el cliente o el agente de organización llaman al agente de destino:

¿Qué sigue?