OpenTelemetry (OTEL) を使用すると、Weave で Google Agent Development Kit (ADK) のエージェントとツール呼び出しをトレースできます。ADK は、AI エージェントを開発およびデプロイするための柔軟でモジュール型のフレームワークです。Gemini と Google のエコシステム向けに最適化されていますが、ADK は特定のモデルやデプロイ先に依存しません。シンプルなタスクから複雑なワークフローまで、agentic アーキテクチャを作成、デプロイ、オーケストレーションするためのツールを提供します。
このガイドでは、OTEL を使用して ADK のエージェントとツール呼び出しをトレースし、それらのトレースを Weave で可視化する方法を説明します。必要な依存関係のインストール方法、Weave にデータを送信する OTEL tracer の設定方法、および ADK のエージェントとツールを計装する方法を学べます。
-
必須の依存関係をインストールします。
-
Google APIキーを環境変数に設定します。
-
Weave で OTEL トレースを設定する。
ADK から Weave にトレースを送信するには、TracerProvider と OTLPSpanExporter を使用して OTEL を設定します。エクスポーターには、認証とプロジェクトの識別に必要な正しいエンドポイントと HTTP ヘッダーを設定してください。
APIキーやプロジェクト情報などの機密性の高い環境変数は、環境ファイル (例: .env) に保存し、os.environ を使って読み込むことを推奨します。これにより、認証情報を安全に保ち、コードベースに含めずに済みます。
- Endpoint:
https://trace.wandb.ai/otel/v1/traces。Dedicated Weave インスタンスを使用している場合、URL は代わりに次のパターンになります: {YOUR_WEAVE_HOST}/traces/otel/v1/traces
- Headers:
Authorization: W&B APIキーを使用する Basic 認証
project_id: あなたの W&B entity/プロジェクト名 (例: myteam/myproject)
ADK から Weave に OTEL トレースを送信する
次のコードスニペットでは、OTLP span exporter と tracer provider を設定して、ADK アプリケーションから Weave に OTEL トレースを送信する方法を示します。
Weave が ADK を適切にトレースできるようにするには、コード内で ADK コンポーネントを使用する 前に、グローバル tracer provider を設定してください。
トレーサープロバイダを設定すると、自動トレース付きで ADK エージェントを作成して実行できます。次の例では、ツールを備えたシンプルな LLM エージェントを作成し、インメモリ ランナー で実行する方法を示します。
エージェントのすべての操作は自動的にトレースされて Weave に送信されるため、実行フローを可視化できます。モデルの呼び出し、推論 step、ツールの呼び出しを確認できます。
ADK でツールを定義して使用すると、それらのツール呼び出しもトレースに記録されます。OTEL インテグレーションにより、エージェントの推論プロセスと各ツールの実行の両方が自動的に計装され、エージェントの動作を包括的に把握できます。
複数のツールを使った例を次に示します。
ADK には、より複雑なシナリオ向けにさまざまな workflow エージェント が用意されています。workflow エージェント は、通常の LLM エージェント と同様にトレースできます。以下は SequentialAgent を使った例です。
このworkflow エージェントのtraceでは、Weave内で両方のエージェントが順番に実行される様子が示され、マルチエージェントシステム内でデータがどのように流れるかを把握できます。