Skip to main content
Pi est un agent de développement qui s’exécute dans le terminal. Weave trace automatiquement les sessions Pi, les appels LLM et les exécutions d’outils grâce à l’intégration createOtelExtension, conforme aux conventions sémantiques GenAI. Cette page explique comment activer le traçage Weave dans une application Pi afin d’observer le comportement de l’agent, de déboguer les runs et d’analyser l’utilisation des jetons et les coûts.
Cette intégration envoie les données de session Pi vers Weave. Ces données peuvent inclure les prompts des utilisateurs, les réponses du modèle, les entrées et sorties des outils, le contenu des fichiers lus par les outils Pi, les commandes shell et leur sortie, ainsi que les URL récupérées et le contenu des pages.L’intégration n’effectue aucune suppression des données personnelles (PII) ni aucun masquage des données sensibles. Si vos exigences de sécurité ou de conformité ne vous permettent pas d’envoyer ces données vers Weave, n’activez pas le traçage Weave dans votre application Pi.

Prérequis

  • Node.js (v18 ou version ultérieure).
  • Un compte CoreWeave Forge et une clé API définie dans la variable d’environnement WANDB_API_KEY.
Pi est un framework TypeScript et Node.js qui n’a pas d’équivalent en Python. Pi nécessite le système de modules ESM. Votre projet doit utiliser "type": "module" dans package.json, ou compiler le TypeScript en ESM. Les projets CommonJS génèrent une erreur. Pour en savoir plus sur la configuration d’un projet ESM, consultez Intégration du SDK TypeScript.

Installer les packages

Installez Weave, Pi et les définitions de types Node en tant que dépendances locales du projet :

Tracer un prompt et une réponse Pi

L’exemple suivant présente la configuration minimale requise pour tracer un seul prompt et sa réponse avec Pi. Appelez weave.init() avant de créer votre session d’agent, puis passez createOtelExtension() comme fabrique d’extensions. Weave trace le cycle de vie complet de l’agent : la conversation, chaque cycle prompt-réponse (invoke_agent), chaque appel LLM (chat) et chaque exécution d’outil (execute_tool). SessionManager.inMemory() génère automatiquement l’ID de session.
Compilez et exécutez le script avec tsx, en remplaçant [FILENAME] par le nom de votre fichier TypeScript :
Lorsque vous exécutez votre code, vos traces s’affichent dans l’onglet Agents de votre projet Weave, à l’adresse https://forge.coreweave.com/wandb/[YOUR-TEAM]/[YOUR-PROJECT]/weave/agents. Weave capture les sessions Pi, les appels LLM et les exécutions d’outils pour chaque run de votre application.

Étapes suivantes

Pour transformer cet exemple en conversation sur plusieurs tours, ajoutez d’autres prompts. Weave trace chaque appel à session.prompt() sous la forme d’un span invoke_agent distinct, tous imbriqués dans un même span racine. L’agent conserve automatiquement le contexte d’un prompt à l’autre. Après l’exécution du code, l’onglet Agents affiche la chronologie complète de tous les tours de conversation, avec les appels LLM imbriqués, les exécutions d’outils, l’utilisation des jetons et le coût.
Dernière modification le 30 septembre 2026