Agno エージェントやツール呼び出しは、OpenTelemetry (OTEL) を使用して Weave でトレースできます。Agno は、共有メモリ、知識、推論を備えたマルチエージェントシステムを構築するための Python フレームワークです。軽量でモデル非依存かつ高いパフォーマンスを発揮するよう設計されており、テキスト、画像、音声、動画処理を含むマルチモーダル機能をサポートします。
このガイドでは、OTEL を使用して Agno エージェントとツール呼び出しをトレースし、そのトレースを Weave で可視化する方法を説明します。必要な依存関係のインストール方法、Weave に OTEL トレースを送信するトレーサーの設定方法、そして Agno エージェントとツールの計装方法を学びます。
-
必要な依存関係をインストールします:
-
OpenAI API キー (または他のモデルプロバイダー) を環境変数として設定します:
-
Weave で OTEL トレーシングを構成する。
Agno から Weave にトレースを送信するには、TracerProvider と OTLPSpanExporter を使って OTEL を設定します。エクスポーターには、認証とプロジェクト識別のための 正しいエンドポイントと HTTP ヘッダー を指定します。
- Endpoint:
https://trace.wandb.ai/otel/v1/traces
- Headers:
Authorization: W&B API キーを使用した Basic 認証
project_id: W&B エンティティ / プロジェクト名 (例: myteam/myproject)
Agno から Weave に OTEL トレースを送信する
前提条件 を満たしたら、Agno から Weave に OTEL トレースを送信できます。次のコードスニペットでは、Agno アプリケーションから Weave に OTEL トレースを送信するために、OTLP span exporter と tracer provider を構成する方法を示します。
Weave が Agno を正しくトレースできるようにするために、コード内で Agno のコンポーネントを使用する 前に グローバル tracer provider を設定してください。
OTEL で Agno エージェントをトレースする
tracer provider をセットアップしたら、自動トレース付きで Agno エージェントを作成して実行できます。次の例は、ツールを使ったシンプルなエージェントの作成方法を示しています。
すべてのエージェントの操作は自動的にトレースされ Weave に送信されます。これにより、実行フロー、モデル呼び出し、推論ステップ、ツールの呼び出しを可視化できます。
Agno でツールを定義して使用すると、これらのツール呼び出しもトレース内に記録されます。OTEL インテグレーションは、エージェントの思考プロセスと個々のツール実行の両方を自動的にインスツルメンテーションし、エージェントの挙動を包括的に把握できるようにします。
複数のツールを用いた例を次に示します。
OTEL でマルチエージェント チームをトレースする
Agno の強力なマルチエージェント アーキテクチャにより、コンテキストを共有しながら協調して動作するエージェント チームを作成できます。これらのチーム間のやり取りもすべてトレースされます。
このマルチエージェント trace は Weave 内の異なるエージェント間の連携を示し、タスクがエージェント チーム全体にどのように分散・実行されているかという点での公開範囲を提供します。
Agno には、エージェントが問題を段階的に考え進められるよう支援する組み込みの推論機能が備わっています。これらの推論プロセスは トレース にも記録されます。
推論の各ステップは トレース 上に表示され、エージェントが複雑な問題をどのように分解し、どのように意思決定しているかがわかります。
Agno エージェントはメモリを保持し、ナレッジベースへアクセスできます。これらの操作もトレース対象です。
会話履歴の保存や取得といったメモリ操作は、トレースに表示されます。