Weave で OpenAI Agents SDK のエージェントをトレースする
- Python
- TypeScript
Weave SDK は OpenAI Agents SDK for Python に自動でパッチを適用するため、最小限のセットアップでエージェントのトレースを取得できます。このガイドでは、Weave を初期化したうえで、OpenAI Agents SDK で構築したマルチターンのリサーチエージェントを実行し、セッション全体のすべてのエージェントの invocation、モデルの Call、ツール呼び出しを Weave で取得する方法を説明します。
前提条件
開始する前に、以下を用意してください。- CoreWeave Forge アカウントと、
WANDB_API_KEY環境変数に設定した APIキー。 - OpenAI APIキー。
- Python 3.10 以降。
パッケージのインストール
Weave と SDK をスクリプトで利用できるように、開発環境に以下の packages をインストールしてください。コードで Weave を初期化する
- Python
- TypeScript
weave.init を project に追加し、CoreWeave Forge のチーム名と project 名を指定してから、通常どおりエージェントを構築します。以下のコードは wikipedia_search 関数ツールと Research assistant エージェントを定義し、OpenAI Agents SDK の Runner を通じて3つの質問を実行します。その間、Weave がトレースを取得します。各 Runner.run 呼び出しはそれぞれ独自のトレースを開始するため、この例ではすべての呼び出しに、共通の group_id を指定した RunConfig を渡します。Weave は group_id を使用して同じ会話のトレースをグループ化します。group_id が設定されていない場合は、代わりに各トレース自身の ID が使用されます。Runner.run への各呼び出しは、前の結果の入力リストを次のリクエストとして渡すことで会話を継続し、同じ group_id を共有します。これにより、Weave は 3 つのターンを Agents ビュー内の 1 つの会話にまとめます。group_id を共有しない場合、各ターンはそれぞれのトレース ID にフォールバックし、別々の会話として表示されます。Agents ビューでエージェントのトレースを確認する
スクリプトを実行すると、weave.init() によって project へのリンクが出力されます。Agents ビューを開くと、次の内容を確認できます。
- 会話のターンを含むセッション
invoke_agentスパンとしてレンダリングされた各ターン (子としてchatとexecute_toolがネストされます)- 各ステップの入力、モデル、出力、トークン使用量、ツール結果の全容