AutoGenとは
複数のAIエージェントによる対話(カンバセーション)を通じてタスクを協調的に解決する、Microsoft発のフレームワーク
ひとことで言うと
複数のAIエージェント同士に会話させながらタスクを解かせる、Microsoftのツール。
概要
AutoGen(オートジェン)とは、Microsoft Researchが開発する、複数のAIエージェント間の対話(カンバセーション)を通じてタスクを協調的に解決するためのオープンソースフレームワーク。 エージェント同士がメッセージをやり取りしながら、コードの生成・実行・修正や、人間を交えたレビューといったプロセスを進められるよう設計されており、複数のエージェントに柔軟な対話パターンを持たせたいケースで利用される。 人間をエージェントの1人として対話に参加させる設定も可能で、AIエージェントの提案に人間が介入・承認するヒューマンインザループのワークフローを組み込みやすい設計になっている。 コード生成タスクでは、あるエージェントが書いたコードを別のエージェントが実行・レビューし、エラーがあれば修正を依頼するといった開発者同士のペアプログラミングに似たやり取りを自動化できる。
背景
複雑なタスクを1つのエージェントに任せるのではなく、複数のエージェントが対話しながら役割を果たすことで、より柔軟に問題を解決できるという発想から、Microsoft ResearchはAutoGenを開発した。
歴史
2023年: Microsoft ResearchがAutoGenを公開し、複数エージェント間の対話に基づくマルチエージェントフレームワークとして展開している。
アーキテクチャ
各エージェントに役割やシステムプロンプトを設定し、エージェント同士、あるいはエージェントと人間との間でメッセージをやり取りするグループチャット形式の対話を軸に処理を進める。 コード実行機能を持つエージェントを組み込み、生成したコードをその場で実行・検証するといった構成も可能。
コード例
ConversableAgentによる対話(概念例)
from autogen import ConversableAgent
assistant = ConversableAgent(
name="assistant",
llm_config={"config_list": [{"model": "gpt-4o-mini"}]},
)
user_proxy = ConversableAgent(name="user_proxy", human_input_mode="NEVER")
user_proxy.initiate_chat(assistant, message="RAGについて説明して")利点
- エージェント同士の対話パターンを柔軟に設計でき、複雑な協調タスクに対応しやすい
- コード生成・実行を伴うエージェントワークフローの構築に強みを持つ
- 人間をエージェントの1人として対話に参加させる、人間参加型のフローを組み込みやすい
欠点
比較
関連用語
よくある質問
AutoGenはMicrosoftの製品専用?
いいえ。 オープンソースで公開されており、OpenAI・Azure OpenAI以外のLLMプロバイダとも組み合わせて利用できる。
参考文献
関連する比較
CrewAI vs AutoGen
CrewAIは役割(ロール)を与えた複数エージェントをチームとして協調させることに特化したPythonフレームワーク、AutoGenはMicrosoft Research発の、エージェント間の対話(カンバセーション)を通じてタスクを解決するフレームワーク。
AutoGen vs OpenAI Agents SDK
AutoGenはMicrosoft Researchが開発する、複数のAIエージェントの対話を通じてタスクを解決するフレームワーク。OpenAI Agents SDKはOpenAIが提供する、エージェント間のハンドオフ機能を軸にした軽量なマルチエージェントフレームワーク。