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で非同期ファーストのアーキテクチャに生まれ変わり、本番利用での信頼性が大幅に向上しています。

この記事について
カテゴリーAI・機械学習
難易度上級
作成日2026/6/7