AI・機械学習
上級
AutoGen(オートジェン)
Microsoftが開発したマルチエージェントフレームワーク。複数のConversableAgentが対話を通じてタスクを協調解決し、コード実行・デバッグ・テストを自律的にループするエージェントシステムを構築できる。
0 回閲覧
0 いいね
2026/6/7 更新
関連タグ
LLM
マルチエージェント
Microsoft
コード実行
エージェント協調
AutoGen とは
AutoGenはMicrosoft Researchが開発したオープンソースのマルチエージェントフレームワークです。2023年の公開後に急速に普及し、LLMを活用した自律コーディング・問題解決システムの実装標準として広く採用されています。
v0.4 アーキテクチャ
2024年末にリリースされた AutoGen v0.4 は大幅再設計されました。
- AgentChat API: 高水準の使いやすいエージェント会話インターフェース
- Core API: 低水準の非同期メッセージングと拡張性
- Extensions: Docker・Jupyter・OpenAI等のサードパーティ統合
基本エージェント (v0.4)
import asyncio
from autogen_agentchat.agents import AssistantAgent
from autogen_ext.models.openai import OpenAIChatCompletionClient
model_client = OpenAIChatCompletionClient(model="gpt-4o")
assistant = AssistantAgent(
name="assistant",
model_client=model_client,
system_message="優秀なPythonプログラマーです。"
)
result = asyncio.run(assistant.run(task="フィボナッチ数列を計算するコードを書いて"))
ConversableAgent パターン (v0.2)
旧来のパターンも広く使われています。
from autogen import AssistantAgent, UserProxyAgent
assistant = AssistantAgent("assistant", llm_config=llm_config)
user_proxy = UserProxyAgent(
"user_proxy",
code_execution_config={"work_dir": "coding", "use_docker": True},
human_input_mode="NEVER",
max_consecutive_auto_reply=10
)
assistant.initiate_chat(user_proxy, message="CSVを読み込み統計を計算するスクリプトを作成して")
human_input_mode="NEVER" で完全自律実行、"TERMINATE" でエージェントが終了合図を出したときのみ停止します。
GroupChat
複数エージェントを集約する GroupChat で役割分担が可能です。
from autogen import GroupChat, GroupChatManager
coder = AssistantAgent("coder", llm_config=llm_config, system_message="コードを書く")
reviewer = AssistantAgent("reviewer", llm_config=llm_config, system_message="コードをレビューする")
tester = AssistantAgent("tester", llm_config=llm_config, system_message="テストを書く")
groupchat = GroupChat(
agents=[coder, reviewer, tester, user_proxy],
messages=[],
max_round=20
)
manager = GroupChatManager(groupchat=groupchat, llm_config=llm_config)
user_proxy.initiate_chat(manager, message="Webスクレイパーを実装して")
コード実行環境
- Dockerコンテナ: 推奨。サンドボックス化されたコード実行
- Jupyterカーネル: インタラクティブなノートブック環境
- ローカル実行: 開発時のみ(本番非推奨)
まとめ
AutoGenは特にコード生成・実行の自律ループが強力で、ソフトウェア開発タスクの自動化に適したフレームワークです。v0.4で非同期ファーストのアーキテクチャに生まれ変わり、本番利用での信頼性が大幅に向上しています。