メインコンテンツへスキップ
Claude Agent SDK は、Claude を使ったエージェントアプリケーションを構築するための Anthropic 製 Python SDK です。weave.init() を呼び出すと、W&B Weave は Claude Agent SDK の呼び出しを自動的にトレースし、クエリ、ツールの使用状況、複数ターンの会話を記録します。 このガイドでは、Claude Agent SDK アプリケーションを Weave で計装し、Weave UI で各クエリ、ツール呼び出し、会話の各ターンを確認する方法を説明します。これは、カスタムのトレースコードを記述せずにエンドツーエンドの可観測性を実現したい、Claude ベースのエージェントを構築する開発者を対象としています。

前提条件

コード例を実行する前に、Weave が認証を行い、トレースを project にルーティングできるよう、以下のセットアップを完了してください。
  • weave.init() の呼び出しで、your-team-name をご利用の W&B チーム名に置き換えます。
  • 環境変数に WANDB_API_KEYANTHROPIC_API_KEY を設定します。W&B APIキーの詳細は、API keys を参照してください。

インストール

pip を使用して、Weave と Claude Agent SDK の両方を環境で利用できるように、必要な依存関係をインストールします。

はじめに

このセクションでは、1 つの run の中で Weave が Claude Agent SDK のさまざまな使用パターンをどのようにトレースするかを示す、完全な例を紹介します。 Claude Agent SDK を使用する前に weave.init() を呼び出すと、Weave は自動的に SDK にパッチを適用し、すべてのクエリをトレースします。 次の例では、3 つの機能を紹介します。
  • query() 関数を使用したシンプルな単発クエリ。モデルの応答とコストも含まれます。
  • ClaudeSDKClient を使用した MCP ツール の利用。Claude Agent SDK は、インプロセスの MCP server を通じて custom ツール をサポートします。
    • Weave は、ツール の定義、ツール の呼び出し、結果をエージェントのクエリとあわせてトレースします。
    • この MCP デモでは、2 つの MCP ツール を定義し、それらを使用するクエリを実行します。
  • weave.thread() によって 1 つのトレースにグループ化される複数ターンの会話。Weave は各ターンをスレッドの子として取得するため、Weave UI で会話全体の流れを確認できます。

トレースを表示

この例を実行した後、Weave は project に一連のトレースを記録します。これらのトレースは、エージェントの動作のデバッグや分析に使用できます。 この例を実行すると、Weave ダッシュボードへのリンクが表示されます。リンクを開くと、クエリの入力、モデルの応答、ツール呼び出し、会話スレッドなどを含むトレースを確認できます。