Dans ce tutoriel, vous utiliserez Agent Communication Protocols (ACP) pour explorer un workflow d’IA multiagent et multiplateforme qui démontre la collaboration des agents en temps réel avec BeeAI et crewAI. ACP fonctionne comme une couche de messagerie partagée et ouverte qui permet aux agents de différents frameworks de communiquer et de se coordonner sans logique d’intégration personnalisée.
ACP est particulièrement précieux pour les environnements d’IA d’entreprise, où les équipes ont souvent besoin de créer des agents et des workflows sur diverses plateformes, outils et infrastructures. En fournissant une couche de messagerie standardisée, ACP permet une collaboration entre agents évolutive, sécurisée et modulaire qui répond aux exigences des systèmes d’IA des entreprise modernes.
Ce projet démontre l’interopérabilité des agents en permettant aux agents pilotés par l’IA de collaborer à travers les silos du framework, en combinant les capacités des agents comme la recherche, la génération de contenu et les commentaires dans un workflow unifié.
La plupart des frameworks d’IA agentique gèrent la communication à l’aide de systèmes personnalisés ou fermés. Cette architecture rend difficile la connexion des agents entre les chaînes d’outils, les équipes ou les infrastructures, en particulier lorsque vous combinez des composants provenant de différents systèmes d’IA.
ACP introduit un format de messagerie standardisé et indépendant de tout framework pour la manière dont les agents autonomes envoient, reçoivent et interprètent les messages. Les messages sont structurés, généralement au format JSON, et contiennent des métadonnées visant à enrichir les interactions entre agents en termes de clarté et de cohérence.
En découplant la communication de la logique interne d’un agent, ACP permet aux équipes de mélanger et d’associer des agents construits avec différents frameworks d’agents d’IA, tels que BeeAI, crewAI, LangChain ou LangGraph, sans nécessiter de code d’intégration personnalisé. Cette approche accroît l’évolutivité, simplifie l’automatisation et favorise une conception de systèmes modulaire et transparente, conforme aux normes modernes du secteur.
À la fin de ce tutoriel, vous aurez vu un exemple pratique d’ACP et aurez acquis une expérience concrète de l’utilisation des technologies suivantes :
Ce projet présente un workflow multiagent qui montre comment ACP (via acp-sdk) peut rationaliser une collaboration cohérente et observable à travers l’écosystème d’agents.
Le workflow commence lorsque l’utilisateur fournit une URL. Un système d’agents spécialisés, modulaire et indépendant du framework transforme ensuite le contenu de la page Web en un artefact créatif (une chanson originale) accompagné d’une critique professionnelle. Tous les composants fonctionnent de concert pour combiner ces résultats en un rapport Markdown unique et unifié, lisible par l’humain. Le résultat final représente une transformation complète des données d’origine, combinant la génération créative avec des informations analytiques.
Ce workflow d’écriture de chansons illustre comment ACP permet à un système d’IA agentique multiagent de coordonner la collaboration entre les agents développés avec deux frameworks distincts : BeeAI et crewAI, en servant de couche de communication partagée sur l’ensemble du système.
En séparant la communication de l’implémentation, le système reste modulaire et extensible, capable d’orchestrer les agents entre les frameworks tout en produisant des sorties cohérentes de bout en bout à partir d’un contenu Web non structuré.
Agents ACP
Ce projet utilise quatre agents d’IA spécialisés :
Workflow du projet de composition et de critique
Tout au long du workflow, les messages échangés entre les agents sont structurés en tant qu’objets JSON enrichis de métadonnées. Ces métadonnées permettent à chaque agent de comprendre le contenu du message, le contexte et les réponses attendues.
Ce workflow démontre un modèle réutilisable applicable à tout cas d’utilisation nécessitant l’orchestration de pipelines de transformation des données et d’analyse multiagents.
ACP fournit un système de messagerie commun qui permet aux agents construits avec différents frameworks d’échanger des informations de manière standardisée. Ce protocole ouvert permet aux agents d’interagir sans nécessiter d’intégrations personnalisées ni de logique interne partagée.
Le client ACP (
Aperçu du workflow du client ACP
Le
Les principaux rôles des
Exemple d’utilisation client :
Voici la configuration système requise pour exécuter ce projet :
Avant de vous lancer, voici un rapide aperçu des outils et des services fournisseur dont vous aurez besoin.
La liste suivante couvre les principaux frameworks, plateformes et API nécessaires pour le workflow.
Dans les sections suivantes, vous trouverez des instructions étape par étape pour installer, paramétrer et utiliser chaque outil et fournisseur afin de configurer votre environnement.
BeeAI et crewAI sont tous deux conçus pour fonctionner avec une variété de fournisseurs de modèles de langage, ce qui les rend flexibles pour différents environnements et cas d’utilisation. Dans ce tutoriel, OpenRouter est le fournisseur LLM pour l’agent BeeAI, tandis qu’Ollama est utilisé localement pour les agents crewAI.
Les deux frameworks sont indépendants des fournisseurs, ce qui vous permet de passer à d’autres services LLM en mettant à jour les paramètres de configuration. Votre configuration peut varier en fonction du fournisseur de LLM que vous choisissez. De plus, ce tutoriel comprend une configuration et préconfigurée optionnelle qui permet d’utiliser IBM watsonx.ai comme fournisseur alternatif basé sur le cloud.
Vous pouvez également utiliser votre fournisseur et votre modèle LLM préférés. Notez toutefois que seules les configurations présentées dans ce tutoriel ont été testées. D’autres fournisseurs et modèles peuvent nécessiter une configuration ou des ajustements supplémentaires.
Les exigences suivantes s’appliquent aux trois fournisseurs pris en charge dans ce projet :
Vous aurez besoin d’une clé API OpenRouter pour utiliser le serveur d’agents BeeAI préconfiguré avec des modèles de langage basés sur le cloud.
Pour utiliser OpenRouter comme fournisseur LLM pour l’agent BeeAI, suivez ces étapes :
Remarque : le modèle gratuit peut varier selon la date d’exécution de ce tutoriel. Pour les modèles gratuits, consultez la liste des modèles OpenRouter en version gratuite.
Si vous prévoyez d’utiliser Ollama comme fournisseur LLM pour l’agent crewAI, suivez ces étapes :
Pour utiliser IBM watsonx.ai comme fournisseur LLM pour le serveur crewAI, suivez ces étapes :
IBM watsonx.ai est utilisé comme fournisseur cloud optionnel pour les agents crewAI dans ce tutoriel.
AgentOps est un service optionnel qui permet de tracer, de surveiller et de visualiser vos workflows multiagents.
Si vous souhaitez utiliser AgentOps dans ce projet, suivez ces étapes :
Bien qu’il ne soit pas nécessaire pour exécuter le workflow, AgentOps peut vous aider à surveiller l’activité des agents et à déboguer les interactions multiagents.
Pour exécuter ce projet, clonez le référentiel GitHub en utilisant https://github.com/IBM/ibmdotcom-tutorials.git comme URL HTTPS. Pour savoir comment cloner un référentiel, consultez la documentation GitHub.
Ce tutoriel se trouve dans le répertoire des projets du dépôt.
Dans un terminal, accédez au répertoire de ce tutoriel :
Ce projet nécessite trois scripts Python distincts devant s’exécuter simultanément pour chaque composant du système multiagent. En conséquence, vous devrez ouvrir trois fenêtres ou onglets de terminal.
Commencez par garder votre terminal actuel ouvert, puis ouvrez deux autres terminaux et assurez-vous que les trois dirigent vers les répertoires appropriés (comme indiqué dans les étapes suivantes).
Vous utilisez un IDE ?
Si vous utilisez un IDE tel que Visual Studio Code*, vous pouvez utiliser la fonctionnalité Split Terminal pour gérer plusieurs terminaux côte à côte.
Sinon, ouvrez trois fenêtres de terminal indépendantes et naviguez dans chacune d’elles jusqu’au sous-répertoire approprié.
Navigation dans les terminaux
Chaque terminal est responsable de l’un des composants suivants :
Chaque composant s’exécute dans son propre environnement virtuel pour assurer une gestion claire des dépendances. Ce tutoriel utilise UV, un gestionnaire de paquets Python basé sur Rust, pour gérer et synchroniser des environnements.
Remarque : assurez-vous que Python 3.11 ou version ultérieure est installé avant de continuer.
Installez UV
Si ce n’est pas déjà fait, installez UV à l’aide de Homebrew (recommandé pour macOS et Linux) :
Remarque pour les utilisateurs de Windows : installez WSL (Windows Subsystems for Linux) et suivez les instructions Linux dans votre terminal WSL.
Créez et activez un environnement virtuel (dans chaque terminal)
Dans chaque terminal (BeeAI, crewAI et client ACP), exécutez le code suivant :
Cette étape permet de créer et d’activer un
L’exécution de
Installez maintenant les dépendances dans chaque terminal en utilisant :
Cette étape installe les dépendances répertoriées dans le fichier
Une fois BeeAI installé, utilisez la CLI pour démarrer la plateforme BeeAI dans le
Remarque : lors de la première exécution, cette étape peut prendre plusieurs minutes.
Configurez votre fournisseur LLM (OpenRouter)
Exécutez la commande suivante pour configurer le fournisseur et le modèle LLM via la CLI interactive :
Suivez les invites pour sélectionner OpenRouter et saisissez votre clé API ainsi que les détails de votre modèle.
Pour confirmer vos paramètres, utilisez :
Cette étape doit générer la sortie que vous avez configurée
Les utilisateurs avancés peuvent également modifier manuellement un fichier
Exemple .env pour OpenRouter
Pour vérifier que BeeAI fonctionne, envoyez un prompt de test :
Une réponse valide confirme que la plateforme est active.
Identification et résolution des problèmes
Si nécessaire, vous pouvez mettre à jour ou redémarrer la plateforme :
Dans le répertoire
Ouvrez
Vous pouvez également personnaliser votre propre fournisseur en utilisant les documents de configuration du LLM crewAI.
Mettez à jour le code de l’agent crewAI
Dans
Assurez-vous que les noms des variables d’environnement dans votre
Une fois BeAI et crewAI configurés, démarrez les serveurs d’agents dans leurs terminaux respectifs.
Démarrez le serveur de l’agent BeeAI
Dans le terminal beeai_agent_server :
Vous devriez voir la sortie confirmant que le serveur a démarré
Le terminal doit enregistrer les pings de diagnostic d’intégrité toutes les deux secondes. Un état
Démarrez le serveur d’agent crewAI
Dans le terminal crewai_agent_server :
Vous devriez voir le serveur s’exécuter sur
Confirmez que tous les agents sont en cours d’exécution
Les agents conformes au protocole ACP et construits localement sont automatiquement reconnus par BeeAI. Utilisez la CLI BeAI pour confirmer que tous les agents locaux sont enregistrés et opérationnels (cette étape peut être exécutée dans n’importe quel terminal libre) :
Vous devriez voir des entrées pour :
S’ils sont répertoriés et accessibles, nous pouvons confirmer que l’interopérabilité de ces agents est réussie !
Dans le terminal dédié au serveur acp-client (à l’intérieur, (dans le
Dans le terminal, vous serez invité à saisir une URL. Cette entrée déclenche le workflow multiagent.
Avec tous les agents et le client/serveur en cours d’exécution, vous êtes prêt à démarrer le projet ACP !
Remarque : les sorties des grands modèles de langage (LLM) sont probabilistes et peuvent varier chaque fois que vous exécutez le workflow, même avec la même entrée.
Dans ce tutoriel, vous avez connecté deux frameworks multiagents différents via un client/serveur ACP qui exposait des points de terminaison permettant aux agents d’IA de collaborer pour générer et transformer des données. En séparant la communication du comportement des agents, ACP permet aux agents construits avec BeeAI, crewAI, LangChain et d’autres frameworks d’agents de fonctionner ensemble sans logique d’intégration personnalisée. Cette approche améliore la modularité, la mise à l’échelle et l’interopérabilité.
Le protocole ACP est une initiative ouverte motivée par la nécessité pour les agents d’envoyer, de recevoir et d’interpréter des messages. Les messages dans ACP sont structurés (généralement dans des formats comme JSON) et enrichis de métadonnées pour assurer la cohérence et la clarté dans les interactions avec les agents. Que vous utilisiez des agents alimentés par OpenAI, Anthropic ou d’autres modèles d’IA, ACP fournit une couche de messagerie partagée qui prend en charge l’interopérabilité indépendamment du framework.
En suivant ce workflow, vous avez vu comment les agents créatifs et analytiques peuvent travailler en harmonie, transformant le contenu Web non structuré en une chanson, une critique professionnelle et un rapport Markdown unifié. Cette approche démontre la puissance d’’ACP pour créer des systèmes d’IA multiagents transparents, évolutifs et flexibles.
Une fois vos expérimentations avec le système terminées, suivez ces étapes pour arrêter proprement tous les composants en cours d’exécution :
1. Arrêter chaque serveur en cours d’exécution
Dans chaque fenêtre de terminal, appuyez sur
Vous devriez obtenir une sortie comme celle-ci :
2. Si le serveur se bloque pendant l’arrêt
Si un serveur ne répond plus ou est bloqué (par exemple, à
Recherchez l’identifiant du processus (PID)
Exécutez la commande suivante pour localiser le processus de serveur :
Identifiez le PID du processus que vous essayez d’arrêter. Exemple :
Mettez fin au processus. Utilisez le PID pour forcer l’arrêt :
Répétez ce processus pour chaque serveur si nécessaire.
Et voilà ! Vous avez réussi à exécuter un système multiagent complet en utilisant ACP.
Créez, déployez et gérez de puissants assistants et agents IA qui automatisent les workflows et les processus grâce à l’IA générative.
Construisez l’avenir de votre entreprise avec des solutions d’IA en lesquelles vous pouvez avoir confiance.
IBM Consulting et ses services d'IA accompagnent les entreprises dans la redéfinition de leurs activités avec l'intelligence artificielle pour mener leur transformation.