1. 概要 — AutoGen で外部 LLM を扱う考え方
AutoGen のエージェントは llm_config で LLM との接続情報を受け取ります。config_list という配列に 「モデル名・キー・API 種別・エンドポイント URL など」 を列挙し、エージェント生成時に渡すだけで OpenAI 互換 API も 独自クライアント も同じ書式で管理できますmicrosoft.github.io。
以下では主要な 3 系統 ― OpenAI/Azure OpenAI・Anthropic Claude・LLaMA 系(LiteLLM+Ollama 例) ― の実装手順と運用上の注意点を解説します。
2. OpenAI / Azure OpenAI との接続
2-1. Python-API 版(最もシンプルなケース)
-
Assistant API(server-side agent)を使う場合は、[Cookbook] の実装例のように
OpenAIAssistantAgentを継承すると、スレッド管理・ストリーミング出力・コード実行ツール等を統合できますmicrosoft.github.io。 -
マルチモデル冗長化:
config_listを複数記述しておくと、タイムアウト時に順次フォールバックできます。
2-2. Azure OpenAI デプロイへの差替え
api_type: "azure", base_url, api_version を追加し、model には デプロイ名 を入れるだけです(Chat Completion エンドポイント互換)microsoft.github.io。
3. Anthropic Claude との接続
-
追加ライブラリ
-
設定例
-
特徴と留意点
-
AutoGen v0.2.30 以降は Anthropic Client をネイティブサポートし、Function/Tool Calling のトークン課金も自動集計されますmicrosoft.github.io。
-
OpenAI 形式との併用も可能。
tagsで「reasoning=Claude」「coding=gpt-4o」など役割分担させるのが典型です。
-
4. LLaMA・その他オープンモデルとの接続(LiteLLM+Ollama 例)
4-1. なぜプロキシを使うのか
多くのオープンモデルは OpenAI 互換 HTTP インタフェース を持たないため、AutoGen からは LiteLLM(OpenAI 互換プロキシ)や vLLM、LM Studio 経由で呼び出すのが最短ですmicrosoft.github.io。
4-2. 手順(ローカル推論)
-
制約: Ollama-API は一部機能(
function_callなど)を実装していない場合があります。使用前に該当プロキシの互換性表を確認してくださいmicrosoft.github.iomicrosoft.github.io。 -
.NET 版 AutoGen でも同じ考え方で
OpenAIChatAgentにローカル URL を渡せます(/v1/ パス必須)microsoft.github.io。
4-3. カスタム Model Client(上級者向け)
自前で推論ランタイムを実装している場合は、ChatCompletionClient を継承し create() を定義するだけで純粋な Python 関数呼び出し に落とし込めます。AutoGen 公式ブログのチュートリアルを参照。
5. マルチ LLM オーケストレーションのベストプラクティス
| 課題 | 推奨設定・テクニック |
|---|---|
| コスト最適化 | config_list に単価を含め、軽量タスクを GPT-3.5/重い推論を GPT-4o へタグで振り分け |
| 可用性向上 | 同一タスク用に複数モデルを列挙 ➜ タイムアウト時に自動リトライ |
| 速度改善 | Claude(高速長文)+ GPT-4o(コード生成)+ LLaMA(ローカル推論)をパラレル呼び出し |
| 安全性 | モデルごとに max_tokens や stop を明示し、出力長暴走を防止 |
6. 運用・セキュリティの注意点
-
API キーは必ず環境変数または JSON ファイル に分離し、Git へコミットしない(
config_list_from_json()パターンが便利)microsoft.github.io。 -
Rate Limit とリトライ:
api_rate_limit,timeout,retry_wait_timeを設定してスロットリングに備える。 -
観測性:
Agent Observabilityモジュールや OpenTelemetry 連携で呼び出し回数・トークン数をダッシュボード化。 -
キャッシュ: セッション内の重複呼び出しを避けるため
seed_cacheやローカル DB キャッシュを有効化。
7. まとめ
-
AutoGen の外部 LLM 連携は “OpenAI 互換 API +
config_list” が基本形。 -
OpenAI/Azure はネイティブ対応、Claude は
api_type:"anthropic"で即利用可能。 -
オープン LLM は LiteLLM、Ollama、vLLM などプロキシ経由が最短。
-
マルチ LLM を組み合わせることで 性能・コスト・速度・オンプレ制約 をバランス良く最適化できる。
これらの設計指針とコード断片を組み合わせれば、AutoGen エージェントを あらゆる外部 LLM と柔軟に統合 し、プロダクション品質のマルチエージェントアプリケーションを構築できます。
ChatGPT4o 生成日:2025/06/15