La pile émergente pour agents IA

L’internet évolue. Nous passons d’un réseau conçu pour la navigation web humaine à une infrastructure qui prend en charge des agents autonomes collaborant à travers les systèmes. Ce nouveau paradigme nécessite une pile fondamentalement différente, construite sur des composants ouverts qui facilitent la communication transparente, l’utilisation d’outils et le traitement en temps réel.

Au cœur de cette pile émergente se trouvent quatre technologies clés :

  • Agent2Agent (A2A) : Développé par Google, A2A est un protocole qui permet aux agents de se découvrir et de communiquer entre eux. Il fournit un moyen standardisé pour les agents d’annoncer leurs capacités, d’échanger des tâches et de diffuser des mises à jour.
  • Model Context Protocol (MCP) : Initié par Anthropic, MCP est une norme pour l’utilisation d’outils et le contexte externe. Il définit comment les agents peuvent accéder et utiliser des API et des outils externes, leur permettant d’interagir avec le monde réel.
  • Apache Kafka : Une plateforme de diffusion d’événements distribuée qui agit comme un système nerveux central pour la communication des agents. Kafka fournit un moyen fiable et évolutif de coordonner les interactions entre les agents.
  • Apache Flink : Un moteur de traitement en temps réel qui enrichit, surveille et agit sur les flux d’activité des agents. Flink permet aux agents de réagir en temps réel aux événements, de prendre des décisions et de coordonner des flux de travail complexes.

Le défi des écosystèmes d’agents fragmentés

Actuellement, le développement d’agents d’IA est confronté à des défis importants liés à la fragmentation et au manque d’interopérabilité. Ces défis entravent la création de systèmes d’IA robustes et évolutifs :

  • Agents isolés : Les agents fonctionnent souvent en silos, incapables de communiquer ou de partager des informations. Un agent CRM, par exemple, peut ignorer les informations découvertes par un agent d’entrepôt de données, ce qui entraîne des occasions manquées et des inefficacités.
  • Utilisation fragile des outils : Sans protocoles standardisés pour invoquer les outils et les API, les agents s’appuient sur des intégrations codées en dur qui sont difficiles à maintenir et à réutiliser. Cela limite leur capacité à s’adapter aux environnements changeants et à s’intégrer à de nouveaux systèmes.
  • Frameworks incohérents : Différents environnements d’exécution d’agents utilisent des modèles différents, traitant les agents comme des chatbots, des graphes acycliques dirigés (DAG) ou des planificateurs récursifs. Ce manque de cohérence rend difficile la création d’agents portables et interopérables.
  • Développement axé sur les prototypes : De nombreux agents sont conçus comme des prototypes ponctuels, manquant de la robustesse et de l’évolutivité nécessaires aux déploiements dans le monde réel. Ils ne parviennent souvent pas à résoudre des problèmes critiques tels que les nouvelles tentatives, les échecs, la coordination, la journalisation et la mise à l’échelle.
  • Manque de backbone de collaboration : L’absence d’un bus d’événements central, d’une mémoire partagée ou d’un historique traçable des actions des agents entrave la collaboration et la coordination. Les informations sont souvent piégées dans des appels HTTP directs ou enfouies dans des journaux, ce qui rend difficile la compréhension et le débogage du comportement des agents.

La solution ne réside pas dans la consolidation de tous les agents dans une plateforme monolithique, mais dans la construction d’une pile partagée basée sur des protocoles ouverts, une architecture pilotée par les événements et un traitement en temps réel. Cette approche favorise l’interopérabilité, l’évolutivité et la résilience.

Agent2Agent : Standardisation de la communication des agents

Le protocole A2A de Google est une étape importante vers la résolution du problème de l’interopérabilité des agents. Il fournit un protocole universel pour connecter les agents, quelle que soit leur origine ou leur environnement d’exécution. En définissant un langage partagé pour les agents, A2A leur permet de :

  • Annoncer les capacités : Les agents peuvent annoncer leurs capacités via une AgentCard, un descripteur JSON qui spécifie ce que l’agent peut faire et comment interagir avec lui. Cela permet à d’autres agents de découvrir et d’utiliser leurs services.
  • Échanger des tâches : A2A facilite les interactions structurées entre les agents via JSON-RPC, où un agent demande l’aide d’un autre et reçoit des résultats ou des artefacts en réponse. Cela permet aux agents de collaborer sur des tâches complexes.
  • Diffuser des mises à jour : Les agents peuvent diffuser des commentaires en temps réel pendant les tâches de longue durée ou collaboratives à l’aide d’événements envoyés par le serveur (SSE). Cela assure la transparence et permet aux agents de surveiller les progrès et de réagir aux changements.
  • Échanger du contenu riche : A2A prend en charge l’échange de fichiers, de données structurées et de formulaires, et pas seulement du texte brut. Cela permet aux agents de partager des informations complexes et de collaborer sur un plus large éventail de tâches.
  • Assurer la sécurité : A2A intègre une prise en charge intégrée de HTTPS, de l’authentification et des autorisations, garantissant une communication sécurisée entre les agents. Ceci est essentiel pour protéger les données sensibles et empêcher tout accès non autorisé.

Protocole de contexte de modèle : Activation de l’utilisation des outils et de la sensibilisation contextuelle

Le MCP d’Anthropic complète A2A en standardisant la façon dont les agents utilisent les outils et accèdent au contexte externe. Il définit comment les agents peuvent invoquer des API, appeler des fonctions et s’intégrer à des systèmes externes, leur permettant d’interagir avec le monde réel.

Alors que A2A se concentre sur la façon dont les agents communiquent entre eux, MCP se concentre sur la façon dont les agents interagissent avec leur environnement. Ensemble, ces deux protocoles fournissent un plan complet pour un écosystème d’agents connectés :

  • MCP renforce l’intelligence individuelle des agents en donnant accès aux outils et aux informations.
  • A2A permet l’intelligence collective en facilitant la communication et la collaboration entre les agents.

La nécessité d’une infrastructure de communication robuste

Imaginez une entreprise où les employés ne peuvent communiquer que par le biais de messages directs et individuels. Le partage des mises à jour nécessiterait l’envoi de messages à chaque personne individuellement, et la coordination des projets entre plusieurs équipes impliquerait la transmission manuelle d’informations entre les groupes. Au fur et à mesure que l’entreprise se développe, cette approche devient de plus en plus chaotique et insoutenable.

De même, les écosystèmes d’agents construits sur des connexions directes deviennent fragiles et difficiles à mettre à l’échelle. Chaque agent doit savoir à qui parler, comment le joindre et quand il est disponible. Au fur et à mesure que le nombre d’agents augmente, le nombre de connexions requises augmente de façon exponentielle, ce qui rend le système ingérable.

A2A et MCP fournissent aux agents le langage et la structure nécessaires pour communiquer et agir, mais le langage seul ne suffit pas. Pour coordonner un grand nombre d’agents dans une entreprise, une infrastructure robuste est nécessaire pour gérer le flux de messages et les réactions des agents.

Apache Kafka et Apache Flink fournissent l’infrastructure nécessaire pour prendre en charge la communication et le calcul évolutifs des agents. Kafka agit comme une plateforme de diffusion d’événements distribuée, tandis que Flink est un moteur de traitement de flux en temps réel.

Kafka, initialement développé chez LinkedIn, sert de bus de messages durable et à haut débit, permettant aux systèmes de publier et de s’abonner à des flux d’événements en temps réel. Il dissocie les producteurs des consommateurs et garantit que les données sont durables, rejouables et évolutives. Kafka est largement utilisé dans diverses applications, des systèmes financiers à la détection des fraudes en passant par les pipelines de télémétrie.

Flink, également un projet Apache, est conçu pour le traitement d’événements avec état, à haut débit et à faible latence. Alors que Kafka gère le mouvement des données, Flink gère la transformation, l’enrichissement, la surveillance et l’orchestration de ces données lorsqu’elles circulent dans un système.

Ensemble, Kafka et Flink forment une combinaison puissante : Kafka est le système sanguin et Flink est le système réflexe. Ils fournissent la base pour construire des écosystèmes d’agents évolutifs et résilients.

Tout comme A2A émerge comme le HTTP du monde des agents, Kafka et Flink constituent la base pilotée par les événements qui peut prendre en charge la communication et le calcul évolutifs des agents. Ils résolvent des problèmes que la communication directe, point à point, ne peut pas résoudre :

  • Découplage : Avec Kafka, les agents n’ont pas besoin de savoir qui consommera leur sortie. Ils publient des événements (par exemple, "TaskCompleted", "InsightGenerated") sur un sujet, et tout agent ou système intéressé peut s’abonner.
  • Observabilité et rejouabilité : Kafka conserve un journal durable et chronologique de chaque événement, ce qui rend le comportement de l’agent entièrement traçable, auditable et rejouable.
  • Prise de décision en temps réel : Flink permet aux agents de réagir en temps réel aux flux d’événements, en filtrant, en enrichissant, en joignant ou en déclenchant des actions en fonction de conditions dynamiques.
  • Résilience et mise à l’échelle : Les tâches Flink peuvent être mises à l’échelle indépendamment, récupérer après une panne et maintenir l’état tout au long des flux de travail de longue durée. Ceci est essentiel pour les agents qui effectuent des tâches complexes en plusieurs étapes.
  • Coordination native des flux : Au lieu d’attendre une réponse synchrone, les agents peuvent se coordonner via des flux d’événements, en publiant des mises à jour, en s’abonnant à des flux de travail et en faisant progresser l’état de manière collaborative.

En résumé :

  • A2A définit la façon dont les agents parlent.
  • MCP définit la façon dont ils agissent sur des outils externes.
  • Kafka définit la façon dont leurs messages circulent.
  • Flink définit la façon dont ces flux sont traités, transformés et transformés en décisions.

La pile à quatre couches pour les agents d’IA de niveau entreprise

Les protocoles tels que A2A et MCP sont essentiels pour standardiser le comportement et la communication des agents. Cependant, sans un substrat piloté par les événements comme Kafka et un environnement d’exécution natif des flux comme Flink, ces agents restent isolés, incapables de se coordonner de manière flexible, de s’adapter avec élégance ou de raisonner dans le temps.

Pour réaliser pleinement la vision d’agents d’IA interopérables de niveau entreprise, nous avons besoin d’une pile à quatre couches :

  1. Protocoles : A2A et MCP définissent le quoi de la communication des agents et de l’utilisation des outils.
  2. Frameworks : LangGraph, CrewAI et ADK définissent le comment de la mise en œuvre de l’agent et de la gestion du flux de travail.
  3. Infrastructure de messagerie : Apache Kafka prend en charge le flux de messages et d’événements entre les agents.
  4. Calcul en temps réel : Apache Flink prend en charge la pensée en traitant et en transformant les flux de données en temps réel.

Cette pile à quatre couches représente la nouvelle pile Internet pour les agents d’IA, fournissant une base pour construire des systèmes qui sont non seulement intelligents, mais aussi collaboratifs, observables et prêts pour la production.

Vers un écosystème d’agents connectés

Nous sommes à un moment charnière de l’évolution des logiciels. Tout comme la pile Internet d’origine a déverrouillé une nouvelle ère de connectivité mondiale, une nouvelle pile émerge pour les agents d’IA. Cette pile est conçue pour que les systèmes autonomes travaillent ensemble pour raisonner, décider et agir.

A2A et MCP fournissent les protocoles pour la communication des agents et l’utilisation des outils, tandis que Kafka et Flink fournissent l’infrastructure pour la coordination, l’observabilité et la résilience en temps réel. Ensemble, ils permettent de passer des démonstrations d’agents déconnectés à des écosystèmes évolutifs et intelligents de niveau production.

Il ne s’agit pas seulement de résoudre des défis d’ingénierie ; il s’agit de rendre possible un nouveau type de logiciel où les agents collaborent au-delà des frontières, fournissant des informations et un flux d’actions en temps réel, et permettant à l’intelligence de devenir un système distribué.

Pour réaliser cette vision, nous devons construire ouvertement, de manière interopérable et en gardant à l’esprit les leçons de la dernière révolution Internet. La prochaine fois que vous construirez un agent, ne vous contentez pas de demander ce qu’il peut faire. Demandez-vous comment il s’intègre dans le système plus vaste :

  • Peut-il communiquer avec d’autres agents ?
  • Peut-il coordonner ses actions avec les autres ?
  • Peut-il évoluer et s’adapter aux circonstances changeantes ?

L’avenir n’est pas seulement alimenté par les agents ; il est connecté aux agents.