AutoGen(オートジェン)
Microsoftが開発したオープンソースのマルチエージェントフレームワーク。複数のLLMエージェントが会話形式で協調し、コード生成・実行・デバッグなどの複雑なタスクを自律的に解決する。
AutoGenとは
AutoGenとは、Microsoft Researchが2023年に公開したオープンソースのマルチエージェント会話フレームワークである。複数のLLMエージェントが自然言語メッセージをやり取りしながら協調的にタスクを解決する設計が特徴で、2026年6月時点でGitHub Stars 38,000超、PyPIダウンロード数は月間200万を超える主要フレームワークに成長した。
コアアーキテクチャ
AutoGenのアーキテクチャは「会話可能エージェント(ConversableAgent)」を基本単位とする。
エージェント種別
| エージェント型 | 役割 | 典型的なLLM |
|---|---|---|
| AssistantAgent | LLM推論・計画立案 | GPT-4o / Claude 4 Opus |
| UserProxyAgent | ユーザー代理・コード実行 | なし(ローカル実行) |
| GroupChatManager | マルチエージェント会話の司会 | GPT-4o-mini / Haiku |
| TeachableAgent | 長期記憶・学習機能付き | GPT-4o / Sonnet |
| RetrieveAssistantAgent | RAG統合エージェント | 任意 |
会話パターン
- Two-Agent Chat: AssistantAgent と UserProxyAgent の1対1会話。最もシンプルな構成
- Group Chat: 3体以上のエージェントがGroupChatManager経由で順番に発言。round-robin・random・manual選択が可能
- Nested Chat: エージェント内部で別の会話セッションを起動し、サブタスクを処理してから親会話に復帰
- Sequential Chat: 複数の2者会話を直列に連結し、前の会話結果を次の会話に引き継ぐ
AutoGen 0.4(2025年リリース)の主要変更点
AutoGen 0.4はアーキテクチャを全面刷新し、以下の改善を実施した。
- 非同期ファースト: すべてのエージェント通信がasync/awaitベースに。大量エージェントの並列実行時のパフォーマンスが旧版比3〜5倍向上
- イベント駆動メッセージング: pub/subモデルでエージェント間通信を疎結合化。RabbitMQ・Kafka等のメッセージブローカー統合が可能に
- AutoGen Studio 2.0: Webブラウザ上でエージェントの構成・テスト・デプロイが可能なノーコードUI。Docker経由でローカル実行にも対応
- 分散実行: 複数マシンにまたがるエージェント実行をサポート。Kubernetes上でのスケーリングが容易に
実装パターン
コード生成+実行パターン
AutoGenの代表的なユースケースは、AssistantAgentがPythonコードを生成し、UserProxyAgentがサンドボックス内で実行する構成である。実行結果はAssistantAgentにフィードバックされ、エラーがあれば修正コードを再生成する。
- 最大実行ループ: デフォルト10回(
max_consecutive_auto_replyで制御) - コード実行環境: ローカルPython・Docker・E2B Sandbox から選択
- セキュリティ:
code_execution_configでディレクトリ制限・タイムアウト設定が可能
マルチエージェントデバッグパターン
3体構成(Coder・Reviewer・Executor)でコード品質を向上させる。
- Coder: 仕様に基づきコード生成
- Reviewer: コードレビューし改善提案
- Executor: テスト実行し結果を報告
- 全員合意するまでループ継続
競合フレームワークとの比較
| 項目 | AutoGen | LangGraph | CrewAI |
|---|---|---|---|
| 設計思想 | 会話ベース | グラフベース | ロールベース |
| 学習曲線 | 中 | 高 | 低 |
| 並列エージェント | 0.4で対応 | ネイティブ | 限定的 |
| コード実行 | 内蔵 | 要カスタム | 要カスタム |
| 可観測性 | AutoGen Studio | LangSmith | CrewAI+ |
| 本番運用実績 | Microsoft内部 | 多数企業 | スタートアップ中心 |
注意点とベストプラクティス
- コスト爆発防止:
max_consecutive_auto_replyとmax_roundを必ず設定する。無制限ループはGPT-4oクラスで1タスク$50超になるケースがある - サンドボックス必須: UserProxyAgentのコード実行はDockerサンドボックスで隔離する。ローカル実行はファイル削除やネットワーク操作のリスクがある
- プロンプトインジェクション対策: ユーザー入力をエージェントの
system_messageに直接埋め込まない。入力バリデーション層を設ける - モデルフォールバック: 主要モデル(GPT-4o)がレート制限に達した場合のフォールバック先(Claude Sonnet・Gemini Flash等)を
config_listに設定
よくある質問(FAQ)
Q1: AutoGen 0.2と0.4は互換性がありますか? A: 互換性はない。0.4はアーキテクチャを全面刷新しており、0.2のコードは書き直しが必要。公式移行ガイドが提供されているが、概念レベルで異なるため段階的移行を推奨する。
Q2: AutoGenでローカルLLM(Ollama/LM Studio等)は使えますか?
A: 使える。config_listにOpenAI互換APIのbase_urlを指定するだけでよい。LM Studioのhttp://localhost:1234/v1やOllamaのhttp://localhost:11434/v1をそのまま利用可能。
Q3: AutoGenはどの程度の規模のマルチエージェントシステムに耐えますか? A: 0.4の非同期アーキテクチャにより、100体程度のエージェントまで単一マシンで実行可能。それ以上はKubernetesでの分散実行を推奨。Microsoft社内では500体以上のエージェントを運用した事例がある。
まとめ
- AutoGenはMicrosoftが開発したマルチエージェント会話フレームワーク
- 会話パターン(Two-Agent/Group/Nested/Sequential)で柔軟なエージェント構成が可能
- 0.4で非同期ファースト・イベント駆動・分散実行に対応し本番運用性が大幅向上
- コード実行内蔵が強みだが、サンドボックスとコスト制御の設定が必須