Passer au contenu principal
Essayer dans Colab · Code source GitHub Le SDK Weave vous permet de tracer des agents créés avec des SDK populaires ou des harnesses personnalisés. Ce Démarrage rapide vous montre comment intégrer manuellement Weave dans un agent personnalisé sur plusieurs tours de conversation afin d’émettre et de capturer des spans OpenTelemetry. Pour une compréhension conceptuelle de Weave pour les agents, voir Tracer vos agents. Si vous souhaitez intégrer Weave à des SDK ou à des harnesses comme Claude Agent SDK ou Codex, voir Tracer les intégrations d’agents. Weave applique automatiquement des patchs à plusieurs SDK de création d’agents et harness d’agents pour une intégration rapide.

Ce que vous allez apprendre

À la fin de ce démarrage rapide, vous disposerez d’un agent fonctionnel sur plusieurs tours de conversation qui émet des spans OTel compatibles avec Weave. Vous comprendrez également comment Weave fait correspondre les conversations, les tours de conversation, les appels LLM et les appels d’outil à votre code d’agent, afin de pouvoir appliquer le même modèle à vos propres agents personnalisés. Le code de ce guide configure un petit agent de recherche capable d’interroger Wikipédia. Il pose trois questions (trois tours de conversation) et utilise le LLM pour choisir quand effectuer une recherche sur Wikipédia afin de trouver une réponse. Weave enregistre chaque étape (la conversation, chaque question, chaque réponse de l’IA et chaque recherche sur Wikipédia) pour que vous puissiez voir ce qui s’est passé dans la vue Agents de Weave. Ce guide vous montre comment :
  • Initialiser Weave pour le tracing d’agent avec weave.init().
  • Ouvrir une conversation et un tour de conversation avec start_conversation / startConversation et start_turn / startTurn.
  • Encapsuler les appels LLM avec start_llm / startLLM et enregistrer l’utilisation.
  • Encapsuler les exécutions d’outil avec start_tool / startTool et enregistrer les résultats.
  • Afficher la conversation, les tours de conversation et les appels d’outil obtenus dans la vue Agents.

Fonctionnement du SDK Weave avec les agents

Le SDK Weave inclut un système d’ingestion OTel générique pour les agents, ce qui signifie que Weave peut capturer des informations à partir de n’importe quel span OTel dans le code de votre agent. Cependant, Weave nécessite un traitement particulier des spans suivants pour afficher les traces de votre agent dans la vue Agents de l’interface Weave. En Python, les quatre fonctions s’utilisent comme des gestionnaires de contexte (with weave.start_*(...) as obj:). À la fin du contexte, elles ferment le span et effectuent le vidage des attributs, y compris en cas d’exception. En TypeScript, appelez .end() sur chaque objet renvoyé. Utilisez try { ... } finally { obj.end(); } pour garantir le nettoyage en cas d’exception. D’autres attributs de conventions sémantiques GenAI, tels que gen_ai.usage.* et gen_ai.agent.name, permettent un rendu supplémentaire, mais ils sont facultatifs.

Prérequis

  • Un compte W&B et une clé API.
  • Une clé API OpenAI.
  • Python 3.10+ (pour les exemples en Python).
  • Node.js 18+ (les exemples TypeScript nécessitent la fonction fetch intégrée).

Installer les paquets

Installez les paquets suivants dans votre environnement de développement :

Initialiser Weave

weave.init() s’authentifie auprès de W&B et configure l’exporteur OTel qui envoie les spans d’agent vers la vue Agents. Si le projet n’existe pas dans votre équipe, Weave le crée lors du premier envoi de données.

Définir un outil

Le code suivant définit l’outil de recherche Wikipédia de l’agent, ainsi qu’un schéma d’outil OpenAI qui indique quand et comment utiliser cet outil.

Exécuter un agent tracé sur plusieurs tours de conversation

Une fois l’outil et l’initialisation de Weave en place, l’étape suivante consiste à les intégrer dans une boucle d’exécution complète de l’agent. Cette boucle montre comment les conversations, les tours de conversation, les appels LLM et les appels d’outil s’imbriquent. L’exemple suivant exécute trois tours de conversation dans une seule conversation. Chaque tour de conversation :
  1. Ouvre un span chat et laisse le LLM choisir s’il doit appeler l’outil.
  2. Si le LLM demande à utiliser l’outil, ouvre un span execute_tool autour de l’appel et renvoie le résultat au LLM.
  3. Ouvre un second span chat pour produire la réponse finale.

Voir les traces de votre agent dans la vue Agents

Lorsque weave.init() s’exécute, il affiche un lien vers votre project dans lequel vous pouvez voir :
  • Une ligne dans l’onglet Agents pour research-bot.
  • Une conversation contenant trois tours de conversation.
  • Chaque tour de conversation (invoke_agent) avec deux spans chat et un span execute_tool imbriqué.
  • Le nombre de jetons, la latence, le modèle et l’échange complet de messages pour chaque chat.
Cliquez sur n’importe quel tour de conversation pour inspecter les entrées, les sorties, les arguments de l’outil et les résultats de l’outil.

Prochaines étapes