weave) の createOtelExtension インテグレーションを使用して、Pi のセッション、LLM Call、ツール実行を自動的にトレースします。このインテグレーションは GenAI セマンティック規約に準拠しています。このページでは、Pi アプリケーションで Agent Lens のトレースを有効にする方法を説明します。トレースを有効にすると、エージェントの動作の観察、run のデバッグ、トークン使用量とコストの分析が可能になります。
CoreWeave Forge SDK はまだ Pi インテグレーションに対応していないため、このページでは Weave SDK を使用します。両プロダクトは同じトレース データを共有しているため、Weave で送信したトレースは Agent Lens に表示されます。
前提条件
- Node.js (v22.19 以降) 。Node 20 の場合は、Node 20 を引き続きサポートしている旧バージョンの Pi が
npmによってインストールされます。 - CoreWeave Forge アカウントと、
WANDB_API_KEY環境変数に設定した APIキー。
Pi は TypeScript および Node.js 向けのフレームワークで、Python 版はありません。Pi を使用するには ESM モジュールシステムが必要です。プロジェクトの
package.json で "type": "module" を指定するか、TypeScript を ESM 形式でコンパイルしてください。CommonJS プロジェクトではエラーになります。ESM プロジェクトのセットアップについて詳しくは、TypeScript SDK インテグレーションを参照してください。パッケージのインストール
Agent Lens、Pi、Node の型定義を、ローカルプロジェクトの依存関係としてインストールします。Pi のプロンプトと応答をトレースする
次の例は、Pi の単一のプロンプトと応答をトレースするために最低限必要なセットアップを示しています。エージェントセッションを作成する前にweave パッケージの init() を呼び出し、createOtelExtension() を拡張機能ファクトリーとして渡します。Agent Lens は、エージェントのライフサイクル全体をトレースします。対象は、会話、プロンプトと応答の各サイクル (invoke_agent) 、個々の LLM Call (chat) 、およびツール実行 (execute_tool) です。セッション ID は SessionManager.inMemory() によって自動的に生成されます。
tsx を使用してスクリプトをコンパイルし、実行します。[FILENAME] は TypeScript ファイル名に置き換えてください。
https://forge.coreweave.com/agent-lens/[YOUR-TEAM]/[YOUR-PROJECT]) に表示されます。Agent Lens は、アプリケーションの実行ごとに Pi のセッション、LLM Call、ツール実行を取得します。
次のステップ
この例をマルチターンの会話にするには、プロンプトを追加します。Agent Lens はsession.prompt() の各 Call を個別の invoke_agent スパンとしてトレースし、それらはすべて 1 つのルートスパンの下にネストされます。エージェントはプロンプトをまたいでコンテキストを自動的に保持します。
コードを実行すると、Conversations タブにマルチターンのタイムライン全体が表示され、ネストされた LLM Call、ツール実行、トークン使用量、コストを確認できます。