メインコンテンツへスキップ
Amazon Bedrock Agents を使用すると、基盤モデル、ナレッジベース、アクショングループをオーケストレーションするマネージド AI エージェントを AWS 上に構築できます。Weave は bedrock-agent-runtime クライアントへの Call をトレースするため、基盤モデル、トークン使用量、セッション ID、エージェントの応答を含む各 invoke_agent 呼び出しを確認できます。
Weave TypeScript SDK は現在、Bedrock Agents インテグレーションに対応していません。

前提条件

  • W&B APIキー。詳細は、API keysを参照してください。
  • Bedrock Agents へのアクセス権があるアカウント用に設定された AWS 認証情報 (Identity and access management for Amazon Bedrockを参照してください) 。
  • 既存の Bedrock エージェントとエイリアス。agentIdagentAliasId を控えておいてください。ご自身の ID に関連付けられているエージェントの一覧は、次の AWS CLI コマンドを実行して確認できます。<your-region> は、エージェントが存在するリージョンのスラッグに置き換えてください。

インストール

Weave と AWS SDK for Python をインストールします。

invoke_agent Call を トレース する

bedrock-agent-runtime クライアントを作成し、patch_client に渡します。Weave はクライアントのタイプを検出し、invoke_agent メソッドをラップします。patch 適用後は、通常どおりクライアントを使用できます。
invoke_agent Call は、Weave UI で BedrockAgentRuntime.invoke_agent トレースとして表示されます。このトレースには、次の内容が記録されます。
  • エージェントへの入力 (agentIdagentAliasIdsessionIdinputText) 。
  • completionイベントストリームから抽出された assistant のテキスト。
  • エージェントが使用する基盤モデル (オーケストレーショントレースから抽出) 。
  • エージェントから報告された場合のトークン使用量 (prompt_tokenscompletion_tokenstotal_tokens) 。
基盤モデルとトークン使用量は orchestrationTrace イベントから抽出されます。これは、invoke_agentenableTrace=True を指定して呼び出された場合にのみ Bedrock が出力します。このフラグがない場合でも、トレースでは入力と生成された応答テキストは引き続き取得されますが、基盤モデルは bedrock-agent:<agentId> にフォールバックし、トークン数は利用できません。 invoke_agent の呼び出しを、前処理、後処理、または連鎖した API 呼び出しなどの関連ロジックとまとめるには、関数を @weave.op でラップします。Weave では、パッチを適用した invoke_agent のトレースが親 op の内側にネストされます。

マルチターン会話

Bedrock Agents は、sessionId を再利用すると、サービス側で会話の状態を保持します。Weave UI で複数のターンを 1 つのトレースとしてグループ化するには、ターンを weave.thread で囲みます。
Weave では、UI の Threads ビューで、各ターンが個別の行として表示されます。

トレースを表示

この例を実行すると、Weave が project ダッシュボードへのリンクを表示します。リンクを開くと、各 invoke_agent Call のエージェント入力、基盤モデル、トークン使用量、生成されたレスポンスを確認できます。