Protocolo A2A — IA Hablando con IA
Protocolo A2A — IA Hablando con IA — guía fácil de entender basada en la documentación oficial
Imagínalo como dos colegas de empresas diferentes intercambiando correos electrónicos para sacar un proyecto adelante, excepto que ambos colegas son agentes de IA, y el “correo” es un protocolo estándar llamado A2A.
A2A (Agente a Agente) es un estándar abierto (v1.0, gestionado por la Linux Foundation) que permite que agentes de IA independientes hablen entre sí. Es como un idioma universal para la IA: ya sea tu agente un Hermes, un bot de LangChain, un equipo de CrewAI o un agente de Google ADK, todos pueden entenderse.
¿Cuándo Deberías Usar A2A?
Quizás quieras A2A cuando:
- Tu Hermes en tu portátil necesita ayuda de un Hermes en un servidor — cada uno con su propia memoria, herramientas y credenciales.
- Quieres delegar una tarea a un agente especializado — como uno que sea muy bueno en búsquedas web o programación.
- Quieres exponer tu Hermes como un servicio para que los agentes de otros frameworks puedan enviarle tareas.
Consejo: Si estás ejecutando múltiples agentes en la misma máquina, sáltate A2A. Usa subagentes en proceso o un tablero kanban en su lugar. A2A es para cruzar máquinas, procesos o frameworks.
Habilitando A2A
Empezar es sencillo. Ejecuta:
hermes gateway setup
Luego elige A2A. O, edita ~/.hermes/config.yaml:
gateway:
platforms:
a2a:
enabled: true
extra:
port: 9900
Las herramientas de salida (llamar a otros agentes) están desactivadas por defecto. Actívalas con:
hermes tools
Llamando a Otros Agentes (Saliente)
Una vez habilitado, tu Hermes obtiene un conjunto de herramientas:
a2a_discover(url)— obtiene y resume la “Tarjeta de Agente” de un par (como una tarjeta de presentación para IA).a2a_call(agent, message, context_id?)— envía una tarea, recibe una respuesta.a2a_list()— muestra los pares configurados y las conversaciones guardadas.a2a_history(context_id)— recuerda una conversación A2A pasada.a2a_orchestrate(capability, message, mode?)— distribuye una tarea a todos los pares con una habilidad específica.
Puedes configurar pares conocidos en config.yaml:
a2a_agents:
researcher:
url: "http://research-box.local:9900"
auth: { type: bearer, token: "..." }
timeout: 120
capabilities: [web_search, research]
Luego simplemente pídele a tu Hermes: “Pídele al agente investigador que resuma las publicaciones de arXiv de hoy”. Él se encargará del resto.
Siendo Llamable (Entrante)
Con la plataforma habilitada, tu Hermes sirve:
- Tarjeta de Agente en
GET /.well-known/agent-card.json— anuncia el nombre, las habilidades y los requisitos de autenticación de tu agente. - JSON-RPC 2.0 en
POST /— métodos estándar comoSendMessage,GetTask,ListTasks, y más. - Streaming SSE para respuestas en tiempo real.
- Notificaciones push (webhooks) para tareas de larga duración, firmadas con HMAC-SHA256.
Las tareas entrantes se inyectan en una sesión de gateway en vivo — así que tu agente funciona como siempre.
Resumen
A2A es el traductor universal para agentes de IA. Permite que tu Hermes llame a otros y sea llamado, a través de máquinas y frameworks, usando un estándar limpio y abierto.
Consejo práctico: Empieza poco a poco. Habilita A2A, configura un par (como un agente de investigación), y prueba una sola a2a_call. Una vez que veas que funciona, expande a más pares y capacidades. Estarás construyendo un equipo de IA en un abrir y cerrar de ojos.
📖 Documentación oficial
Este artículo se basa en la documentación oficial de Hermes Agent :Docs oficiales › user-guide/messaging/a2a