AutoGen は、自律的に行動したり、人間と協力したりできるマルチエージェント AI アプリケーションを構築するためのフレームワークです。
注意
AutoGen はメンテナンスモードに移行しました。今後、新しい機能やエンハンスメントは追加されず、コミュニティが管理します。
新しいユーザーは Microsoft Agent Framework から始めることをお勧めします。既存のユーザーは AutoGen → Microsoft Agent Framework 移行ガイド を使用して移行することをお勧めします。
Microsoft Agent Framework(MAF)は AutoGen の企業向け後続製品です。Microsoft Agent Framework は本番対応リリースとして利用可能になりました。安定した API と長期サポートへのコミットメントがあります。単一のアシスタントを構築している場合でも、特化したエージェントのフリートをオーケストレーションしている場合でも、Microsoft Agent Framework 1.0 はエンタープライズグレードのマルチエージェントオーケストレーション、マルチプロバイダーモデルサポート、および A2A と MCP を介したクロスランタイム相互運用性を提供します。
AutoGen には Python 3.10 以降 が必要です。
# Install AgentChat and OpenAI client from Extensions
pip install -U "autogen-agentchat" "autogen-ext[openai]"最新の安定版は releases に記載されています。AutoGen v0.2 からアップグレードしている場合は、コードと設定を更新する方法の詳細な手順について、移行ガイド を参照してください。
# Install AutoGen Studio for no-code GUI
pip install -U "autogenstudio"以下のサンプルは OpenAI API を呼び出すため、まずアカウントを作成して、キーを export OPENAI_API_KEY="sk-..." としてエクスポートする必要があります。
OpenAIの GPT-4o モデルを使用するアシスタントエージェントを作成します。その他のサポートされているモデルを参照してください。
import asyncio
from autogen_agentchat.agents import AssistantAgent
from autogen_ext.models.openai import OpenAIChatCompletionClient
async def main() -> None:
model_client = OpenAIChatCompletionClient(model="gpt-4.1")
agent = AssistantAgent("assistant", model_client=model_client)
print(await agent.run(task="Say 'Hello World!'"))
await model_client.close()
asyncio.run(main())Playwright MCP サーバーを使用するウェブブラウジングアシスタントエージェントを作成します。
# First run `npm install -g @playwright/mcp@latest` to install the MCP server.
import asyncio
from autogen_agentchat.agents import AssistantAgent
from autogen_agentchat.ui import Console
from autogen_ext.models.openai import OpenAIChatCompletionClient
from autogen_ext.tools.mcp import McpWorkbench, StdioServerParams
async def main() -> None:
model_client = OpenAIChatCompletionClient(model="gpt-4.1")
server_params = StdioServerParams(
command="npx",
args=[
"@playwright/mcp@latest",
"--headless",
],
)
async with McpWorkbench(server_params) as mcp:
agent = AssistantAgent(
"web_browsing_assistant",
model_client=model_client,
workbench=mcp, # For multiple MCP servers, put them in a list.
model_client_stream=True,
max_tool_iterations=10,
)
await Console(agent.run_stream(task="Find out how many contributors for the microsoft/autogen repository"))
asyncio.run(main())警告: トラストされたMCPサーバーにのみ接続してください。これらはローカル環境でコマンドを実行したり、機密情報を公開したりする可能性があります。
AgentTool を使用して基本的なマルチエージェント オーケストレーション セットアップを作成できます。
import asyncio
from autogen_agentchat.agents import AssistantAgent
from autogen_agentchat.tools import AgentTool
from autogen_agentchat.ui import Console
from autogen_ext.models.openai import OpenAIChatCompletionClient
async def main() -> None:
model_client = OpenAIChatCompletionClient(model="gpt-4.1")
math_agent = AssistantAgent(
"math_expert",
model_client=model_client,
system_message="You are a math expert.",
description="A math expert assistant.",
model_client_stream=True,
)
math_agent_tool = AgentTool(math_agent, return_value_as_last_message=True)
chemistry_agent = AssistantAgent(
"chemistry_expert",
model_client=model_client,
system_message="You are a chemistry expert.",
description="A chemistry expert assistant.",
model_client_stream=True,
)
chemistry_agent_tool = AgentTool(chemistry_agent, return_value_as_last_message=True)
agent = AssistantAgent(
"assistant",
system_message="You are a general assistant. Use expert tools when needed.",
model_client=model_client,
model_client_stream=True,
tools=[math_agent_tool, chemistry_agent_tool],
max_tool_iterations=10,
)
await Console(agent.run_stream(task="What is the integral of x^2?"))
await Console(agent.run_stream(task="What is the molecular weight of water?"))
asyncio.run(main())より高度なマルチエージェント オーケストレーションとワークフローについては、AgentChat ドキュメントをお読みください。
AutoGen Studio を使用して、コードを書かずにマルチエージェント ワークフローをプロトタイプして実行します。
注意: AutoGen Studio は、マルチエージェント ワークフローを迅速にプロトタイプし、AutoGen で構築したエンドユーザー インターフェースの例を示すことを目的としています。これは本番対応アプリではありません。開発者は AutoGen フレームワークを使用して独自のアプリケーションを構築し、デプロイされたアプリケーションに必要な認証、セキュリティ、その他の機能を実装することをお勧めします。詳細については、セキュリティ ノートを参照してください。
# Run AutoGen Studio on http://localhost:8080
autogenstudio ui --port 8080 --appdir ./my-appMicrosoft Research で開拓された AutoGen は、コミュニティにインスピレーションを与えた実験的なマルチエージェントオーケストレーションパターンへの扉を開きました。AutoGen は現在メンテナンスモードにありますが、既存ユーザーは以下に説明されているアーキテクチャを使用してフレームワークを継続利用できます。新しいプロジェクトの場合は、AutoGen から学んだ教訓をベースにエンタープライズグレードのサポートを備えた Microsoft Agent Framework をお勧めしますです。
autogen フレームワーク は、階層化された拡張可能な設計を使用しています。レイヤーは明確に責任が分かれており、下のレイヤーの上に構築されます。この設計により、高度な API から低度なコンポーネントまで、さまざまな抽象度でフレームワークを使用できます。
- Core API はメッセージパッシング、イベント駆動型エージェント、ローカルおよび分散ランタイムを実装し、柔軟性と力強さを提供します。また、.NET と Python のクロスランゲージサポートもサポートしています。
- AgentChat API は、高速なプロトタイピング向けのシンプルだが独自の API を実装しています。この API は Core API の上に構築され、v0.2 のユーザーが馴染み深いものに最も近く、2 エージェントチャットやグループチャットなどの一般的なマルチエージェントパターンをサポートしています。
- Extensions API は、ファーストパーティおよびサードパーティの拡張機能を有効にし、フレームワーク機能を継続的に拡張できます。OpenAI や AzureOpenAI などの LLM クライアントの特定の実装、およびコード実行などの機能をサポートします。
エコシステムは、2 つの不可欠な開発者ツールもサポートしています。
- AutoGen Studio は、マルチエージェントアプリケーションを構築するためのノーコード GUI を提供します。
- AutoGen Bench は、エージェントのパフォーマンスを評価するためのベンチマーク スイートを提供します。
AutoGen フレームワークと開発者ツールを使用して、ドメイン用のアプリケーションを作成できます。たとえば、Magentic-One は AgentChat API と Extensions API を使用して構築された最先端のマルチエージェント チームで、Web ブラウジング、コード実行、ファイル処理が必要なさまざまなタスクを処理できます。
コミュニティサポートについては、Discord サーバーまたは GitHub Discussions にアクセスしてください。AutoGen は現在コミュニティで管理されており、対応が制限される場合があることに注意してください。
新しいプロジェクトを始めていますか? 最新のマルチエージェント機能と長期サポート向けの Microsoft Agent Framework にアクセスしてください。
既存の AutoGen ユーザーですか? 移行ガイド を使用して移行するか、以下のリソースを参照して現在の AutoGen ドキュメントを確認してください。

