AI・機械学習
上級

AutoGen(オートジェン)

Microsoftが開発したオープンソースのマルチエージェントフレームワーク。複数のLLMエージェントが会話形式で協調し、コード生成・実行・デバッグなどの複雑なタスクを自律的に解決する。

0 回閲覧
0 いいね

AutoGenとは

AutoGenとは、Microsoft Researchが2023年に公開したオープンソースのマルチエージェント会話フレームワークである。複数のLLMエージェントが自然言語メッセージをやり取りしながら協調的にタスクを解決する設計が特徴で、2026年6月時点でGitHub Stars 38,000超、PyPIダウンロード数は月間200万を超える主要フレームワークに成長した。

コアアーキテクチャ

AutoGenのアーキテクチャは「会話可能エージェント(ConversableAgent)」を基本単位とする。

エージェント種別

エージェント型役割典型的なLLM
AssistantAgentLLM推論・計画立案GPT-4o / Claude 4 Opus
UserProxyAgentユーザー代理・コード実行なし(ローカル実行)
GroupChatManagerマルチエージェント会話の司会GPT-4o-mini / Haiku
TeachableAgent長期記憶・学習機能付きGPT-4o / Sonnet
RetrieveAssistantAgentRAG統合エージェント任意

会話パターン

  1. Two-Agent Chat: AssistantAgent と UserProxyAgent の1対1会話。最もシンプルな構成
  2. Group Chat: 3体以上のエージェントがGroupChatManager経由で順番に発言。round-robin・random・manual選択が可能
  3. Nested Chat: エージェント内部で別の会話セッションを起動し、サブタスクを処理してから親会話に復帰
  4. 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)でコード品質を向上させる。

  1. Coder: 仕様に基づきコード生成
  2. Reviewer: コードレビューし改善提案
  3. Executor: テスト実行し結果を報告
  4. 全員合意するまでループ継続

競合フレームワークとの比較

項目AutoGenLangGraphCrewAI
設計思想会話ベースグラフベースロールベース
学習曲線中高低
並列エージェント0.4で対応ネイティブ限定的
コード実行内蔵要カスタム要カスタム
可観測性AutoGen StudioLangSmithCrewAI+
本番運用実績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で非同期ファースト・イベント駆動・分散実行に対応し本番運用性が大幅向上
  • コード実行内蔵が強みだが、サンドボックスとコスト制御の設定が必須