Skip to main content
Ceci est un notebook interactif. Vous pouvez l’exécuter localement ou utiliser les liens suivants :
Ce tutoriel montre comment créer un système multi-agent qui s’appuie sur la fonctionnalité de sorties structurées d’OpenAI, et comment tracer les interactions entre agents avec Weave. À la fin, vous disposerez d’un pipeline d’analyse de données à quatre agents dont les entrées et sorties intermédiaires sont visibles dans l’interface de Weights & Biases. OpenAI a lancé les sorties structurées pour que le modèle génère toujours des réponses conformes au schéma JSON que vous fournissez, sans avoir à formuler des prompts insistants. Avec les sorties structurées, plus besoin de valider les réponses mal formatées ni de relancer leur génération. Le paramètre strict: true vous permet de garantir que la réponse respecte le schéma fourni. Dans un système multi-agent, les sorties structurées garantissent que les agents échangent des données cohérentes, traitées de manière prévisible. Elles prennent également en charge les refus explicites et évitent d’avoir à relancer les requêtes ou à valider les réponses.
Source : ce cookbook est basé sur l’exemple de code d’OpenAI consacré aux sorties structurées, avec quelques modifications pour améliorer la visualisation dans Weave.

Installer les dépendances

Commencez par installer les bibliothèques nécessaires à ce tutoriel. Il utilise les bibliothèques suivantes :
  • OpenAI pour créer le système multi-agent.
  • Weave pour suivre le flux de travail du LLM et évaluer les stratégies de prompting.
Ensuite, configurez les identifiants et initialisez Weave pour que les traces soient journalisées dans votre projet Weights & Biases. Définissez WANDB_API_KEY dans votre environnement pour pouvoir vous connecter avec wandb.login(). Fournissez cette valeur à Colab sous forme de secret. Indiquez dans name_of_wandb_project le projet Weights & Biases dans lequel journaliser les données.
name_of_wandb_project peut également prendre la forme [YOUR-TEAM]/[YOUR-PROJECT] pour indiquer l’équipe dans laquelle journaliser les traces.
Obtenez ensuite un client Weave en appelant weave.init(). Comme ce tutoriel utilise l’API OpenAI, vous avez également besoin d’une clé API OpenAI. Inscrivez-vous sur la plateforme OpenAI pour obtenir votre propre clé API. Fournissez-la également à Colab sous forme de secret.

Configurer les agents

Une fois Weave initialisé, définissez les agents qui composent le système. Le cas d’usage de ce tutoriel est une tâche d’analyse de données. Tout d’abord, configurez le système à quatre agents :
  • Agent de triage : détermine quels agents appeler.
  • Agent de prétraitement des données : prépare les données pour l’analyse, par exemple en les nettoyant.
  • Agent d’analyse des données : analyse les données.
  • Agent de visualisation des données : visualise les résultats de l’analyse afin d’en tirer des enseignements.
Commencez par définir les prompts système de chacun de ces agents. Ces prompts définissent le rôle de chaque agent ainsi que les outils qu’il est autorisé à appeler.
Ensuite, définissez les outils de chaque agent. À l’exception de l’agent de triage, chaque agent dispose d’outils propres à son rôle : Agent de prétraitement des données : nettoyage, transformation et agrégation des données. Agent d’analyse des données : analyse statistique, analyse de corrélation et analyse de régression. Agent de visualisation des données : création de graphiques à barres, de graphiques linéaires et de graphiques circulaires.

Activer le suivi multi-agent avec Weave

Une fois les agents et leurs outils définis, l’étape suivante consiste à les relier entre eux et à activer le traçage Weave. Écrivez le code permettant de :
  • Gérer la transmission de la requête utilisateur au système multi-agent.
  • Gérer le fonctionnement interne du système multi-agent.
  • Exécuter les appels d’outils.
D’après la requête de l’utilisateur, on peut déduire que les outils à appeler sont clean_data, start_analysis et use_line_chart. Commencez par définir la fonction d’exécution chargée de lancer les appels d’outils. En décorant vos fonctions Python avec @weave.op(), vous pouvez journaliser et déboguer les entrées, les sorties et les traces du modèle de langage. Un système multi-agent comporte de nombreuses fonctions, mais il suffit d’ajouter @weave.op() au-dessus de chacune d’elles.
Créez ensuite les gestionnaires d’outils pour chacun des sous-agents. Chacun d’eux transmet au modèle un prompt et un ensemble d’outils qui lui sont propres. La sortie est alors transmise à une fonction d’exécution qui effectue les appels d’outils.
Enfin, créez l’outil principal chargé de traiter la requête de l’utilisateur. Cette fonction reçoit la requête de l’utilisateur, obtient une réponse du modèle, puis la transmet aux autres agents pour qu’ils l’exécutent.

Exécuter le système multi-agent et le visualiser dans Weave

Maintenant que tous les agents, outils et gestionnaires sont en place, le système est prêt à être exécuté. Pour finir, exécutez la fonction principale handle_user_message avec l’entrée de l’utilisateur et observez les résultats.
Lorsque vous cliquez sur l’URL Weave, la trace d’exécution s’affiche. Sur la page Traces, vous pouvez consulter l’entrée et la sortie. Pour plus de clarté, le schéma inclut des captures d’écran des résultats affichés lorsque vous cliquez sur chaque sortie. Weave s’intègre à l’API OpenAI et calcule automatiquement les coûts. Le coût et la latence sont également affichés à côté de chaque trace. Page Traces de Weave montrant l’exécution multi-agent avec le coût et la latence Cliquez sur une ligne pour afficher les processus intermédiaires exécutés au sein du système multi-agent. Par exemple, l’entrée et la sortie de analysis_agent apparaissent dans un format de sortie structuré. Les sorties structurées d’OpenAI facilitent la collaboration entre les agents, mais à mesure que le système se complexifie, le format de ces échanges devient plus difficile à suivre. Weave vous permet d’inspecter en détail ces processus intermédiaires ainsi que leurs entrées et sorties.
Détail de la trace Weave montrant l’entrée et la sortie structurées de l’agent d’analyse
Voyons plus en détail comment le traçage est géré dans Weave.

Conclusion

Dans ce tutoriel, vous avez appris à développer un système multi-agent à l’aide des sorties structurées d’OpenAI, et à utiliser Weave pour assurer le suivi des entrées, des sorties finales et des formats de sortie intermédiaires. Vous disposez désormais d’un exemple fonctionnel que vous pouvez enrichir en y ajoutant des agents, des outils ou des schémas de réponse structurés.
Dernière modification le 30 septembre 2026