Skip to main content
Claude Agent SDK を使用すると、Claude を活用したエージェントアプリケーションをすばやく構築できます。Claude エージェントに Weave を統合すると、エージェントへのクエリ、モデルの応答、ツールの使用、マルチターンの会話を含む Call を自動的にトレースできます。Weave は取得したデータを project の Agents ビューに表示します。

Weave で Claude Agent SDK エージェントをトレースする

Weave SDK は Claude Agent SDK for Python に自動的にパッチを適用し、最小限の設定で Claude エージェントのトレースを取得できます。このガイドでは、Weave を初期化し、query() を通じて MCP ツールを使用するマルチターンの Claude エージェントを実行する方法を説明します。Weave は、会話、モデルの Call、ツール Call をエンドツーエンドで自動的にトレースします。

前提条件

  • CoreWeave Forge アカウントと、WANDB_API_KEY 環境変数に設定した APIキー。
  • ANTHROPIC_API_KEY 環境変数に設定した Anthropic APIキー。
  • Python 3.10 以降。

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

開発環境に以下のパッケージをインストールします。weave パッケージはトレースを取得し、claude-agent-sdk はエージェントのランタイムを提供します。残りのパッケージは、サンプルツールをサポートするためのものです。

コード内でWeaveを初期化する

weave.init を project に追加し、CoreWeave Forge のチーム名と project 名を更新してから、通常どおりにエージェントを構築してください。weave.init は Claude Agent SDK からのトレースを 取得する 自動パッチ適用を有効にします。この例では、wikipedia_search MCP ツールを定義し、3 ターンの会話を実行します。各ターンは個別の query() 呼び出しですが、後続のターンでは最初のターンのセッション ID を resume に渡すことで、すべてのターンが Weave Agents ビューで 1 つの会話としてグループ化されます。最初の 2 ターンでは Wikipedia のルックアップを実行し、3 番目のターンでは前の会話のコンテキストを使用して、ツール呼び出しなしで要約を生成します。
各 query() 呼び出しは、invoke_agent ルートスパンを生成します。後続のターンは同じセッションを再開するため、Weave はすべてのスパンに同じ gen_ai.conversation.id を付与し、Agents ビューで 1 つの会話としてまとめます。再利用する ID は ResultMessage.session_id に格納されています。また、最初のターンでは resume に None を指定でき、その場合は新しいセッションが開始されます。resume を指定しない場合、各ターンはそれぞれ独自のセッションを開始し、個別の会話として表示されます。ただし ClaudeSDKClient は例外で、async with ブロックの有効期間中は 1 つのセッションを開いたまま保持するため、同じクライアントから送信したターンは最初からグループ化されます。Weave はどちらの方法にもパッチを適用します。

Agents ビューでエージェントのトレースを確認する

スクリプトを実行すると、weave.init() によって project へのリンクが出力されます。Agents ビューを開くと、次の内容を確認できます。
  • 会話のターンを含むセッション
  • invoke_agent スパンとしてレンダリングされた各ターン (子として chat と execute_tool がネストされます)
  • 各ステップの入力、モデル、出力、トークン使用量、ツール結果の全容
Weave で Agents データを表示する方法の詳細については、エージェントのアクティビティを表示するを参照してください。
最終更新日 2026年9月30日