microsoft/autogen
A programming framework for agentic AI
AutoGen – 多智能体 AI 框架(已归档)
它是什么 – AutoGen 是一个 Python/.NET 库,允许你构建多个 LLM 驱动的智能体相互对话、调用工具,并可选地与人类交互的应用程序。它提供了三层 API:
- Core – 低层消息传递和分布式运行时。
- AgentChat – 更高级、有主见的辅助工具,用于快速原型设计双智能体聊天、群聊和工具驱动的工作流。
- Extensions – 针对特定 LLM 提供商(OpenAI、Azure OpenAI)的插件,以及通过 Playwright MCP 进行网页浏览等功能。
它还附带两个开发者工具:
- AutoGen Studio – 一个无代码 Web UI,用于编排多智能体流程。
- AutoGen Bench – 一个用于衡量智能体性能的基准测试套件。
为什么重要 – AutoGen 是微软第一个展示如何编排多个 LLM 智能体的开源项目,这种模式现在在研究团队和产品团队中很常见。尽管该仓库现已归档,但其设计在积极维护的 Microsoft Agent Framework 中得以延续。
安装(Python)
# 核心包
pip install -U "autogen-agentchat" "autogen-ext[openai]"
# 可选的无代码 GUI
pip install -U "autogenstudio"
需要 Python 3.10+。最新的稳定二进制文件发布在 PyPI 上。
快速入门示例
1. Hello-World 助手
import asyncio
from autogen_agentchat.agents import AssistantAgent
from autogen_ext.models.openai import OpenAIChatCompletionClient
async def main():
client = OpenAIChatCompletionClient(model="gpt-4.1")
agent = AssistantAgent("assistant", model_client=client)
print(await agent.run(task="Say 'Hello World!'"))
await client.close()
asyncio.run(main())
2. 使用 Playwright MCP 进行网页浏览
# 先安装 MCP 服务器:npm i -g @playwright/mcp@latest
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():
client = OpenAIChatCompletionClient(model="gpt-4.1")
server = StdioServerParams(command="npx", args=["@playwright/mcp@latest", "--headless"])
async with McpWorkbench(server) as mcp:
agent = AssistantAgent(
"web_browsing_assistant",
model_client=client,
workbench=mcp,
model_client_stream=True,
max_tool_iterations=10,
)
await Console(agent.run_stream(task="Find how many contributors for microsoft/autogen"))
asyncio.run(main())
3. 多智能体编排
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():
client = OpenAIChatCompletionClient(model="gpt-4.1")
math = AssistantAgent("math_expert", model_client=client, system_message="You are a math expert.")
chem = AssistantAgent("chem_expert", model_client=client, system_message="You are a chemistry expert.")
tools = [AgentTool(math, True), AgentTool(chem, True)]
boss = AssistantAgent(
"assistant",
system_message="You are a general assistant. Use expert tools when needed.",
model_client=client,
tools=tools,
max_tool_iterations=10,
)
await Console(boss.run_stream(task="What is the integral of x^2?"))
await Console(boss.run_stream(task="What is the molecular weight of water?"))
asyncio.run(main())
使用 AutoGen Studio(无代码)
autogenstudio ui --port 8080 --appdir ./my-app
在浏览器中打开 http://localhost:8080,你可以拖放智能体、连接工具并运行流程,而无需编写 Python 代码。该 Studio 不适合生产环境;它仅用于原型设计和演示。
项目状态与迁移
- 已归档 – 微软不再提供错误或安全修复。仅用于学习或研究,避免在生产环境中使用。
- 继任者 – Microsoft Agent Framework (MAF) 是积极维护的企业级替代品。建议现有 AutoGen 用户遵循官方迁移指南。
何时选择 AutoGen 与 MAF
| AutoGen(已归档) | Microsoft Agent Framework | |
|---|---|---|
| 维护 | 无更新,存在安全风险 | 持续发布,长期支持 |
| 语言支持 | Python 和 .NET | Python 和 .NET |
| 功能 | Core、AgentChat、Extensions、Studio、Bench | 相同的核心思想,加上生产就绪的 API、多提供商模型支持、A2A 和 MCP 互操作性 |
| 最佳用例 | 学习多智能体模式、快速原型、社区实验 | 构建生产服务、企业部署 |
获取帮助
- Discord: https://aka.ms/autogen-discord
- GitHub Discussions: https://github.com/microsoft/autogen/discussions
- 文档: https://microsoft.github.io/autogen/
- 迁移指南: https://learn.microsoft.com/en-us/agent-framework/migration-guide/from-autogen/
底线 – AutoGen 是一个可靠的多智能体 LLM 编排参考实现,但由于它已归档,你应该将其视为学习资源,并将新工作迁移到 Microsoft Agent Framework。
相关
- 项目
- 项目
- 项目
- 项目
- 项目