Skip to main content
Pi はターミナルベースのコーディングエージェントです。Weave は、GenAI セマンティック規約に準拠した createOtelExtension インテグレーションを使用して、Pi のセッション、LLM Call、ツール実行を自動的にトレースします。このページでは、Pi アプリケーションで Weave のトレースを有効にして、エージェントの動作を観察し、run をデバッグし、トークン使用量とコストを分析する方法を説明します。
このインテグレーションは Pi のセッションデータを Weave に送信します。このデータには、ユーザーのプロンプト、モデルの応答、ツールの入力と出力、Pi のツールが読み取ったファイルの内容、シェルコマンドとその出力、取得した URL とページの内容が含まれる場合があります。このインテグレーションには、PII の除去や機密データのマスキングは実装されていません。セキュリティ要件やコンプライアンス要件により、このデータを Weave に送信できない場合は、Pi アプリケーションで Weave のトレースを有効にしないでください。

前提条件

  • Node.js (v18 以降) 。
  • CoreWeave Forge アカウントと、WANDB_API_KEY 環境変数として設定された APIキー。
Pi は TypeScript および Node.js 向けのフレームワークで、Python 版はありません。Pi を使用するには ESM モジュールシステムが必要です。project の package.json で "type": "module" を使用するか、TypeScript を ESM 形式でコンパイルしてください。CommonJS の project ではエラーが発生します。ESM project のセットアップの詳細については、TypeScript SDK インテグレーションを参照してください。

パッケージのインストール

Weave、Pi、Node のタイプ定義をローカル project の依存関係としてインストールします:

Pi のプロンプトと応答をトレースする

次の例では、Pi の単一のプロンプトと応答をトレースするために必要な最小限の設定を示します。エージェントセッションを作成する前に weave.init() を呼び出し、createOtelExtension() を拡張機能のファクトリとして渡します。Weave は、会話、各プロンプトと応答のサイクル (invoke_agent) 、個々の LLM Call (chat) 、ツール実行 (execute_tool) という、エージェントのライフサイクル全体をトレースします。SessionManager.inMemory() はセッション ID を自動的に生成します。
[FILENAME] を TypeScript ファイルの名に置き換え、tsx でスクリプトをコンパイルして実行します:
コードを実行すると、トレースは Weave プロジェクトの Agents タブに https://forge.coreweave.com/wandb/[YOUR-TEAM]/[YOUR-PROJECT]/weave/agents で表示されます。Weave は、アプリケーションのすべての run について、Pi のセッション、LLM Call、およびツール実行を取得します。

次のステップ

この例をマルチターンの会話にするには、プロンプトを追加します。Weave は session.prompt() への各 Call を個別の invoke_agent スパンとしてトレースし、それらはすべて単一のルートスパンの下にネストされます。エージェントはプロンプト間でコンテキストを自動的に保持します。 コードを実行すると、Agents タブに、ネストされた LLM Call、ツール実行、トークン使用量、コストを含むマルチターンのタイムライン全体が表示されます。
最終更新日 2026年9月30日