createOtelExtension インテグレーションを使用して、Pi のセッション、LLM Call、ツール実行を自動的にトレースします。このページでは、Pi アプリケーションで Weave のトレースを有効にして、エージェントの動作を観察し、Runs をデバッグし、トークン使用量とコストを分析する方法を説明します。
事前準備
Pi は TypeScript と Node.js のフレームワークで、Python に相当するものはありません。Pi では ESM モジュールシステムが必要です。
package.json で "type": "module" を使用するか、TypeScript を ESM 出力にコンパイルする必要があります。CommonJS プロジェクトではエラーが発生します。ESM project の設定について詳しくは、TypeScript SDK integration を参照してください。パッケージをインストール
Pi のプロンプトと応答をトレースする
weave.init() を呼び出し、拡張機能ファクトリとして createOtelExtension() を渡します。Weave は、会話、各プロンプト/応答サイクル (invoke_agent) 、個々の LLM Call (chat) 、およびツール実行 (execute_tool) を含む、エージェントのライフサイクル全体をトレースします。SessionManager.inMemory() はセッション ID を自動的に生成します。
tsx を使用してスクリプトをコンパイルし、実行します。[FILENAME] は TypeScript file の名に置き換えてください:
https://wandb.ai/[YOUR-TEAM]/[YOUR-PROJECT]/weave/agents) に表示されます。Weave は、アプリケーションの各 run について、Pi セッション、LLM Call、およびツール実行を取得します。
次のステップ
session.prompt() を呼び出すたびに、それぞれが単一のルート span の下にネストされた個別の invoke_agent span としてトレースします。エージェントはプロンプト間で自動的にコンテキストを保持します。
コードを実行すると、Agents タブに、ネストされた LLM Call、ツール実行、トークン使用量、コストを含む、マルチターンの完全なタイムラインが表示されます。