Création d'une salle de presse avec agent LLM, protocole A2A et MCP dans Elasticsearch : Partie II

Découvrez comment construire une salle de presse hybride spécialisée pour les agents LLM en utilisant le protocole A2A pour la collaboration entre agents et MCP pour l'accès aux outils dans Elasticsearch.

Agent Builder est désormais disponible en aperçu technique. Commencez avec un essai Elastic Cloud et consultez la documentation d’Agent Builder ici.

A2A et MCP : le code en action

Cet article est le complément de l'article "Creating an LLM Agent newsroom with A2A protocol and MCP in Elasticsearch !", qui expliquait les avantages de la mise en œuvre des architectures A2A et MCP au sein du même agent afin de profiter pleinement des avantages uniques des deux frameworks. Un référentiel est disponible si vous souhaitez exécuter la démo par vous-même.

Voyons comment les agents de notre salle de presse collaborent en utilisant à la fois A2A et MCP pour produire un article. Le référentiel d'accompagnement pour voir les agents en action est disponible ici.

Étape 1 : Attribution de l'histoire

Le chef de l'information (agissant en tant que client) attribue un sujet :

Étape 2 : Le journaliste demande des recherches

L'agent rapporteur reconnaît qu'il a besoin d'informations générales et délègue à l'agent chercheur par l'intermédiaire de l'A2A :

Étape 3 : Le rapporteur demande le contexte historique à l'agent d'archivage

L'agent rapporteur reconnaît que le contexte historique renforcerait l'histoire. Il délègue à l'agent d'archivage (alimenté par l'agent A2A d'Elastic), via A2A, le soin d'effectuer des recherches dans les archives d'articles de la salle de presse alimentées par Elasticsearch :

Étape 4 : L'agent d'archivage utilise l'agent Elastic A2A avec MCP

L'agent d'archivage utilise l'agent A2A d'Elastic, qui à son tour utilise MCP pour accéder aux outils Elasticsearch. Ceci démontre l'architecture hybride où A2A permet la collaboration des agents tandis que MCP fournit l'accès aux outils :

L'agent d'archivage reçoit des données historiques complètes de l'agent A2A d'Elastic et les renvoie au rapporteur :

Cette étape montre comment l'agent A2A d'Elastic s'intègre dans le flux de travail de la salle de presse. L'Archive Agent (un agent spécifique à la salle de presse) se coordonne avec l'A2A Agent d'Elastic (un spécialiste tiers) pour exploiter les puissantes capacités de recherche et d'analyse d'Elasticsearch. L'agent Elastic utilise MCP en interne pour accéder aux outils Elasticsearch, ce qui montre la séparation nette entre la coordination de l'agent (A2A) et l'accès aux outils (MCP).

Étape 5 : Le chercheur utilise les serveurs MCP

L'agent chercheur accède à plusieurs serveurs MCP pour recueillir des informations :

Étape 6 : Le chercheur renvoie les données au rapporteur

L'agent chargé de la recherche renvoie la recherche complète par l'intermédiaire de l'A2A :

Étape 7 : Le journaliste rédige un article

L'agent rapporteur utilise les données de recherche et ses propres capacités LLM pour rédiger l'article. Pendant la rédaction, le Reporter utilise les serveurs MCP pour le style et les modèles :

Étape 8 : le manque de confiance déclenche une nouvelle recherche

L'agent déclarant évalue son projet et constate qu'une créance a un faible degré de confiance. Il envoie une autre demande à l'agent du chercheur :

Le chercheur vérifie l'allégation à l'aide des serveurs MCP de vérification des faits et renvoie les informations mises à jour :

Étape 9 : Le journaliste révise le texte et le soumet au rédacteur en chef

Le rapporteur incorpore les faits vérifiés et envoie le projet complet à l'agent rédacteur par l'intermédiaire de l'A2A :

Étape 10 : Examens des éditeurs à l'aide des outils MCP

L'agent rédacteur utilise plusieurs serveurs MCP pour réviser l'article :

Le rédacteur en chef approuve l'article et le transmet :

Étape 11 : L'éditeur publie via CI/CD

Enfin, l'agent imprimeur publie l'article approuvé en utilisant les serveurs MCP pour le CMS et le pipeline CI/CD :

L'éditeur confirme la publication via A2A :

Voici la séquence complète du flux de travail A2A dans le référentiel d'accompagnement en utilisant les mêmes agents que ceux décrits ci-dessus.

#DePourActionProtocoleDescription
1UtilisateurChef de l'informationAttribuer l'histoireHTTP POSTL'utilisateur soumet le sujet et l'angle de l'article
2Chef de l'informationInterneCréer une histoire-Création d'un enregistrement d'histoire avec un identifiant unique
3Chef de l'informationReporterAffectation des déléguésA2AEnvoi de l'article via le protocole A2A
4ReporterInterneAccepter l'affectation-Stockage interne de l'affectation
5ReporterServeur MCPGénérer un planMCP/HTTPCréation d'un plan d'article et de questions de recherche
6aReporterChercheurDemande de rechercheA2AEnvoie des questions (parallèle avec 6b)
6bReporterArchivisteRecherche dans les archivesA2A JSONRPCRecherche d'articles historiques (parallèle avec 6a)
7ChercheurServeur MCPQuestions de rechercheMCP/HTTPUtilise l'Anthropique via le MCP pour répondre aux questions
8ChercheurReporterRecherche en matière de retourA2ARéponses à la recherche sur les retours
9ArchivisteElasticsearchIndex de rechercheAPI REST ESRequêtes news_archive index
10ArchivisteReporterRetour à l'archiveA2A JSONRPCRenvoie les résultats de la recherche historique
11ReporterServeur MCPGénérer un articleMCP/HTTPCréation d'un article dans un contexte de recherche ou d'archives
12ReporterInterneProjet de magasin-Sauvegarde interne du projet
13ReporterChef de l'informationSoumettre le projetA2ASoumission d'un projet achevé
14Chef de l'informationInterneMise à jour de l'histoire-Stocke le projet, met à jour le statut à "draft_submitted"
15Chef de l'informationÉditeurProjet de révisionA2ARoutes automatiques vers l'éditeur pour révision
16ÉditeurServeur MCPArticle de synthèseMCP/HTTPAnalyse du contenu à l'aide d'Anthropic via MCP
17ÉditeurChef de l'informationRetourner à l'examenA2AEnvoi d'un retour d'information et de suggestions éditoriales
18Chef de l'informationInterneRevue des magasins-Stocke les commentaires des éditeurs
19Chef de l'informationReporterAppliquer les modificationsA2AAcheminement du retour d'information sur l'examen au rapporteur
20ReporterServeur MCPAppliquer les modificationsMCP/HTTPRévision de l'article en fonction du retour d'information
21ReporterInterneProjet de mise à jour-Mise à jour du projet avec des révisions
22ReporterChef de l'informationRetour RéviséA2ARetourne l'article révisé
23Chef de l'informationInterneMise à jour de l'histoire-Stocker le projet révisé, statut à "révisé"
24Chef de l'informationÉditeurPublier un articleA2ARoutes automatiques vers l'éditeur
25ÉditeurServeur MCPGénérer des étiquettesMCP/HTTPCréation d'étiquettes et de catégories
26ÉditeurElasticsearchIndex ArticleAPI REST ESIndexe l'article dans l'index news_archive
27ÉditeurSystème de fichiersSauvegarder la démarqueFichier E/SEnregistre l'article au format .md fichier dans /articles
28ÉditeurChef de l'informationConfirmer la publicationA2ARenvoie l'état de réussite
29Chef de l'informationInterneMise à jour de l'histoire-Mise à jour du statut de l'article à "publié"

Conclusion

L'A2A et le MCP ont tous deux un rôle important à jouer dans le paradigme moderne de l'infrastructure augmentée-LLM. L'A2A offre une certaine souplesse pour les systèmes multi-agents complexes, mais potentiellement moins de portabilité et une plus grande complexité opérationnelle. MCP offre une approche standardisée pour l'intégration des outils, plus simple à mettre en œuvre et à maintenir, bien qu'il ne soit pas conçu pour gérer l'orchestration multi-agents.

Le choix n'est pas binaire. Comme le montre notre exemple de salle de presse, les systèmes les plus sophistiqués et les plus efficaces soutenus par le LLM combinent souvent les deux approches : les agents se coordonnent et se spécialisent par le biais de protocoles A2A tout en accédant à leurs outils et à leurs ressources par le biais de serveurs MCP. Cette architecture hybride offre les avantages organisationnels des systèmes multi-agents ainsi que les avantages de la normalisation et de l'écosystème du MCP. Cela suggère qu'il n'est peut-être pas nécessaire de faire un choix : il suffit d'utiliser les deux en tant qu'approche standard.

C'est à vous, en tant que développeur ou architecte, de tester et de déterminer le meilleur mélange de ces deux solutions pour obtenir le bon résultat pour votre cas d'utilisation spécifique. Comprendre les points forts, les limites et les applications appropriées de chaque approche vous permettra de construire des systèmes d'IA plus efficaces, plus faciles à maintenir et plus évolutifs.

Que vous construisiez une salle de presse numérique, une plateforme de service à la clientèle, un assistant de recherche ou toute autre application alimentée par le LLM, l'examen attentif de vos besoins de coordination (A2A) et des exigences d'accès aux outils (MCP) vous mettra sur la voie de la réussite.

Ressources supplémentaires

Pour aller plus loin

Prêt à créer des expériences de recherche d'exception ?

Une recherche suffisamment avancée ne se fait pas avec les efforts d'une seule personne. Elasticsearch est alimenté par des data scientists, des ML ops, des ingénieurs et bien d'autres qui sont tout aussi passionnés par la recherche que vous. Mettons-nous en relation et travaillons ensemble pour construire l'expérience de recherche magique qui vous permettra d'obtenir les résultats que vous souhaitez.

Jugez-en par vous-même