Protocole A2A — L'IA qui parle à l'IA
Protocole A2A — L'IA qui parle à l'IA — guide facile à comprendre basé sur les documents officiels
Imaginez deux collègues de différentes entreprises qui s’échangent des e-mails pour mener à bien un projet — sauf que les deux collègues sont des agents IA, et que « l’e-mail » est un protocole standard appelé A2A.
A2A (Agent-to-Agent) est un standard ouvert (v1.0, géré par la Linux Foundation) qui permet à des agents IA indépendants de communiquer entre eux. C’est comme un langage universel pour l’IA : que votre agent soit un Hermes, un bot LangChain, un équipage CrewAI ou un agent Google ADK, ils peuvent tous se comprendre.
Quand utiliser A2A ?
Vous pourriez avoir besoin d’A2A dans les cas suivants :
- Votre Hermes sur votre ordinateur portable a besoin de l’aide d’un Hermes sur un serveur — chacun avec sa propre mémoire, ses outils et ses identifiants.
- Vous souhaitez déléguer une tâche à un agent spécialisé — comme un agent particulièrement doué pour les recherches web ou le codage.
- Vous souhaitez exposer votre Hermes en tant que service afin que les agents d’autres frameworks puissent lui envoyer des tâches.
Astuce : Si vous exécutez plusieurs agents sur la même machine, évitez A2A. Utilisez plutôt des sous-agents en processus ou un tableau kanban. A2A est conçu pour traverser les machines, les processus ou les frameworks.
Activer A2A
C’est simple pour commencer. Exécutez :
hermes gateway setup
Puis choisissez A2A. Ou bien, modifiez ~/.hermes/config.yaml :
gateway:
platforms:
a2a:
enabled: true
extra:
port: 9900
Les outils sortants (pour appeler d’autres agents) sont désactivés par défaut. Activez-les avec :
hermes tools
Appeler d’autres agents (sortant)
Une fois activé, votre Hermes dispose d’un ensemble d’outils :
a2a_discover(url)— récupère et résume la « carte d’agent » d’un pair (comme une carte de visite pour l’IA).a2a_call(agent, message, context_id?)— envoie une tâche, reçoit une réponse.a2a_list()— affiche les pairs configurés et les conversations enregistrées.a2a_history(context_id)— rappelle une conversation A2A passée.a2a_orchestrate(capability, message, mode?)— diffuse une tâche à tous les pairs possédant une certaine compétence.
Vous pouvez configurer des pairs connus dans config.yaml :
a2a_agents:
researcher:
url: "http://research-box.local:9900"
auth: { type: bearer, token: "..." }
timeout: 120
capabilities: [web_search, research]
Puis demandez simplement à votre Hermes : « Demande à l’agent chercheur de résumer les publications arXiv d’aujourd’hui. » Il s’occupe du reste.
Être appelable (entrant)
Avec la plateforme activée, votre Hermes propose :
- Carte d’agent à
GET /.well-known/agent-card.json— annonce le nom, les compétences et les exigences d’authentification de votre agent. - JSON-RPC 2.0 à
POST /— méthodes standard commeSendMessage,GetTask,ListTasks, et plus encore. - Streaming SSE pour les réponses en temps réel.
- Notifications push (webhooks) pour les tâches de longue durée, signées avec HMAC-SHA256.
Les tâches entrantes sont injectées dans une session de passerelle en direct — votre agent fonctionne donc comme d’habitude.
Résumé
A2A est le traducteur universel pour les agents IA. Il permet à votre Hermes d’appeler d’autres agents et d’être appelé, à travers les machines et les frameworks, en utilisant un standard propre et ouvert.
Astuce pratique : Commencez petit. Activez A2A, configurez un pair (comme un agent de recherche), et essayez un simple a2a_call. Une fois que vous voyez que ça fonctionne, étendez à plus de pairs et de compétences. Vous construirez une équipe d’IA en un rien de temps.
📖 Documentation officielle
Cet article est basé sur la documentation officielle de Hermes Agent :Docs officiels › user-guide/messaging/a2a