メインコンテンツへスキップ
Claude Agent SDK を使用すると、Claude を活用したエージェント アプリケーションをすばやく構築できます。Weave を Claude エージェントに統合すると、エージェントのクエリ、モデルの応答、ツールの使用、複数ターンの会話を含む ツール呼び出し を自動的にトレースできます。Weave は、取得したデータを project の Agents ビューに表示します。

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

Weave SDK は Claude Agent SDK for Python に自動的にパッチを適用し、最小限のセットアップで Claude エージェントのトレースを取得できます。このガイドでは、Weave を初期化し、ClaudeSDKClient を介して MCP ツールを使用する Claude エージェントを実行する方法を紹介します。Weave は、会話、モデルの Call、ツール呼び出しをエンドツーエンドで自動的にトレースします。

前提条件

  • W&B アカウントと、WANDB_API_KEY 環境変数として設定された APIキー
  • ANTHROPIC_API_KEY 環境変数として設定された Anthropic APIキー。
  • Python 3.10+。

パッケージをインストールする

開発環境に以下のパッケージをインストールします。weave パッケージはトレースを取得し、claude-agent-sdk はエージェントのランタイムを提供します。
pip install weave claude-agent-sdk

コードで Weave を初期化する

project に weave.init を追加し、W&B のチーム名とプロジェクト名を更新してから、通常どおりエージェントを構築します。weave.init を使用すると、Claude Agent SDK からトレースを取得する autopatching が有効になります。次のコードは、2 つの MCP 数学ツールを備えた Claude エージェントを作成し、Weave がトレースを取得しながらそのエージェントを実行します。
import anyio
import weave

from claude_agent_sdk import (
    ClaudeAgentOptions,
    ClaudeSDKClient,
    create_sdk_mcp_server,
    tool,
)

weave.init("<your-team>/<your-project-name>")

@tool("add", "Add two numbers", {"a": float, "b": float})
async def add(args: dict) -> dict:
    return {"content": [{"type": "text", "text": str(args["a"] + args["b"])}]}

@tool("multiply", "Multiply two numbers", {"a": float, "b": float})
async def multiply(args: dict) -> dict:
    return {"content": [{"type": "text", "text": str(args["a"] * args["b"])}]}

math_server = create_sdk_mcp_server(
    name="math",
    version="1.0.0",
    tools=[add, multiply],
)

async def main():
    options = ClaudeAgentOptions(
        mcp_servers={"math": math_server},
        allowed_tools=["mcp__math__add", "mcp__math__multiply"],
    )

    async with ClaudeSDKClient(options=options) as client:
        await client.query("Using the math tools, compute (3 + 7) * 2.")

        async for message in client.receive_response():
            print(message)


anyio.run(main)
スクリプトが実行されると、weave.init() によって project へのリンクが表示されます。リンクを開くと、エージェントのクエリ、モデルの応答、ツール呼び出しについて取得されたトレースを確認できます。

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

スクリプトの実行後、weave.init() によって project へのリンクが出力されます。Agents ビューを開くと、次の内容を確認できます。
  • 会話のターンを含むセッション。
  • 各ターンは invoke_agent span として表示され、その子要素として chatexecute_tool がネストされています。
  • 各ステップでの入力全体、モデル、出力、トークン使用量、ツールの実行結果。
Weave で Agents データを表示する方法の詳細については、エージェントのアクティビティを表示するを参照してください。