メインコンテンツへスキップ
AutoGen は、AI エージェントやアプリケーションを構築するための Microsoft 製フレームワークです。複雑なマルチエージェントシステムを簡単に構築でき、対話型 AI 向けのコンポーネント (AgentChat) 、マルチエージェントのコア機能 (Core) 、外部サービスとのインテグレーション (Extensions) を提供します。さらに、AutoGen にはノーコードでエージェントをプロトタイピングできる Studio も用意されています。詳しくは、AutoGen 公式ドキュメントをご覧ください。
このガイドは、AutoGen の基本的な理解があることを前提としています。
Weave は AutoGen と統合されており、マルチエージェントアプリケーションの実行をトレースして可視化できます。Weave を初期化するだけで、autogen_agentchatautogen_coreautogen_ext 内のやり取りを自動的にトラッキングできます。このガイドでは、AutoGen と Weave を組み合わせた使い方を、さまざまな例を通して説明します。

前提条件

始める前に、AutoGen と Weave がインストールされていることを確認してください。また、使用する予定の LLM プロバイダ (例: OpenAI、Anthropic) 向けの SDK も必要です。
APIキーを環境変数として設定します:

基本的なセットアップ

トレースの取得を開始するには、スクリプトの先頭で Weave を初期化します。

シンプルなモデルクライアントをトレースする

Weave では、AutoGen 内でモデルクライアントに直接行われる call / calls をトレースできます。

クライアントの create call / calls をトレースする

この例では、OpenAIChatCompletionClient に対する単一の call / calls をトレースする方法を示します。
autogen-simple-client.png

ストリーミングでクライアントの create call / calls をトレースする

Weave はストリーミングされる応答のトレースもサポートします。
autogen-streaming-client.png

Weave はキャッシュされた call / calls を記録します

AutoGen の ChatCompletionCache を使用でき、Weave はこれらのやり取りをトレースして、応答がキャッシュから返されたものか、新しい call / calls によるものかを表示します。
autogen-cached-client.png

ツールcall / callsを行うエージェントのトレース

Weave はエージェントとそのツールの使用状況をトレースし、エージェントがどのようにツールを選択して実行しているかを可視化します。
autogen-agent-tools.png

GroupChat のトレース - ラウンドロビン

Weave は RoundRobinGroupChat などのグループチャット内のやり取りをトレースするため、エージェント間の会話の流れを追跡できます。
round_robin_group_chat.png

メモリのトレース

AutoGen’s メモリコンポーネントは Weave でトレースできます。@weave.op() を使用すると、可読性を高めるために、メモリ操作を単一のトレースにまとめることができます。
autogen-memory.png

RAG ワークフローのトレース

ChromaDBVectorMemory のようなメモリシステムを使ったドキュメントのインデックス作成や検索を含む Retrieval Augmented Generation (RAG) ワークフローは、トレースできます。RAG プロセスに @weave.op() を付けると、処理の流れ全体を可視化しやすくなります。
この RAG の例では chromadb が必要です。pip install chromadb でインストールしてください。
autogen-rag.png

エージェントランタイムのトレース

Weave では、SingleThreadedAgentRuntime のような AutoGen の agent runtime 内の操作をトレースできます。ランタイムの実行関数を @weave.op() でラップすると、関連するトレースをグループ化できます。
autogen-runtime.png

ワークフローのトレース (逐次)

エージェント間のやり取りの順序を定義する、複雑なエージェントワークフローをトレースできます。@weave.op() を使用すると、ワークフロー全体の高レベルなトレースを提供できます。
autogen-sequential-workflow.png

コードエグゼキュータのトレース

Docker 必須 この例では Docker を使ってコードを実行するため、すべての環境 (例: Colab 上で直接実行する場合) で動作するとは限りません。試す場合は、Docker がローカルで実行中であることを確認してください。
Weave は、AutoGen エージェントによるコードの生成と実行をトレースします。
autogen-codegen.png

詳しくはこちら

このガイドは、Weave と AutoGen を統合するための出発点です。Weave UI では、エージェントのやり取り、モデルのcall / calls、ツールの使用状況に関する詳細なトレースを確認できます。