AutoGen(オートジェン)
Microsoft Research が開発したマルチエージェント会話フレームワーク。複数のLLMエージェントが会話形式で協調・議論・タスク実行する仕組みを提供し、コード生成・数学問題・リサーチ等の複雑なタスクを自動化する。2024年にv0.4で大規模リアーキテクチャ。
AutoGenとは
AutoGenは、Microsoft Researchが2023年9月に公開したマルチエージェント会話フレームワークである。複数のLLMエージェントが会話形式でメッセージをやり取りしながら、コード生成・実行・デバッグ・リサーチ等の複雑なタスクを協調的に解決する。GitHub Stars 40,000超(2026年時点)で、LLMエージェントフレームワークの中で最も人気が高い。
主な特徴
- 会話ベースの協調: エージェント間の「会話」がタスク解決の手段。人間の議論プロセスを模倣
- 柔軟なエージェント定義: 各エージェントにシステムプロンプト・ツール・コード実行環境を個別設定
- コード実行統合: エージェントが生成したPythonコードをDockerコンテナ内で自動実行・結果をフィードバック
- GroupChat: 3体以上のエージェントがラウンドロビンまたはLLM選択で発言順を決めるグループ会話
- Human-in-the-Loop: UserProxyAgentが人間の代理として会話に参加。承認・修正・質問が可能
- v0.4 リアーキテクチャ(AutoGen 0.4/AG2): イベント駆動・非同期メッセージパッシング・プラグインベースの新設計。v0.2とはAPIが大きく異なる
- AutoGen Studio: ノーコードUIでエージェントを設計・テスト・デプロイ。プログラミング不要でマルチエージェントを構築
- ライセンス: MIT(CC BY 4.0 for docs)
v0.2 vs v0.4 の違い
| 観点 | v0.2 | v0.4 (AG2) |
|---|---|---|
| アーキテクチャ | 同期関数呼び出し | 非同期イベント駆動 |
| エージェント | ConversableAgent | BaseChatAgent(プラグイン) |
| 会話管理 | GroupChat | Team(RoundRobin/Selector等) |
| コード実行 | DockerCommandLineCodeExecutor | 同左 + WASM Sandbox |
| 状態管理 | 会話履歴のみ | 永続ストア対応 |
| 推奨度 | レガシー | 現行推奨 |
コード例(v0.4)
from autogen_agentchat.agents import AssistantAgent
from autogen_agentchat.teams import RoundRobinGroupChat
from autogen_ext.models.openai import OpenAIChatCompletionClient
model_client = OpenAIChatCompletionClient(model="gpt-4o")
coder = AssistantAgent("coder", model_client=model_client,
system_message="Pythonコードを書いて問題を解決してください")
reviewer = AssistantAgent("reviewer", model_client=model_client,
system_message="コードをレビューしてバグや改善点を指摘してください")
team = RoundRobinGroupChat([coder, reviewer], max_turns=6)
result = await team.run(task="フィボナッチ数列の最適化")
ユースケース
- コード生成+レビュー: Coder→Reviewer→Coderのループで品質の高いコードを自動生成
- リサーチエージェント: Researcher→Critic→Synthesizerの3体で論文調査・批判的検証・要約
- データ分析: Analyst→Visualizerの協調でSQL生成→グラフ描画→考察
- 教育: Teacher→Studentの対話シミュレーションで学習コンテンツ生成
- ゲームプレイ: 複数エージェントがマフィアゲームや人狼を実行する研究事例
選び方・注意点
- v0.2からv0.4への移行: APIが大幅変更。v0.2で構築した既存システムの移行にはコードの書き直しが必要
- コスト管理: エージェント間の会話が冗長になるとAPI呼び出し回数が増大。max_turnsの設定が重要
- コード実行のセキュリティ: DockerまたはWASM Sandboxで隔離必須。ローカル実行は危険
- LangGraphとの使い分け: 明示的なワークフロー制御→LangGraph、自然な会話ベース協調→AutoGen
- AutoGen Studio: 非エンジニアがプロトタイピングに使えるが、本番利用にはコードベースの方が柔軟
よくある質問(FAQ)
Q1: AutoGenとLangChain/LangGraphの違いは? A: LangGraphは「グラフでワークフローを明示的に定義」、AutoGenは「エージェント同士の会話で暗黙的にタスクを解決」。LangGraphは制御性が高く、AutoGenは柔軟性が高い。プロダクション向けにはLangGraph、研究・実験にはAutoGenが向く。
Q2: AutoGen StudioはプロダクションOK? A: 2026年時点ではプロトタイピング・デモ向け。本番利用にはコードベースのv0.4 APIを推奨。ただしAutoGen Studioで設計→コードエクスポート→本番デプロイのワークフローは有効。
Q3: AG2(AutoGen v0.4)と旧AutoGen(v0.2)はどちらを使うべき? A: 新規プロジェクトはv0.4一択。v0.2は公式にレガシーとされ、新機能の追加は行われない。ただしv0.2の方がドキュメント・チュートリアルが豊富で学習しやすい面もある。
まとめ
- AutoGenはMicrosoft Research製のマルチエージェント会話フレームワークでGitHub 40K+ Stars
- 複数エージェントが会話形式で協調しタスクを解決する独自アプローチ
- v0.4でイベント駆動・非同期設計に刷新、AutoGen Studioでノーコード構築も可能
- コスト管理とv0.2→v0.4移行が実用上の課題