微软 AutoGen:多智能体 AI 应用的开源框架

AutoGen 在 GitHub 上拿到了 58,880 颗 Star。

微软研究院出品的一个开源框架,专门解决多智能体 AI 应用的构建问题。简单说就是:你有几个 AI Agent,需要它们互相配合完成任务,AutoGen 负责把这套协作流程搭起来。

不过有个重要背景需要先说清楚。AutoGen 目前已经进入维护模式,不再接收新功能开发,由社区接管。微软把资源集中到了继任者 Microsoft Agent Framework(MAF)上,后者在 AutoGen 的经验基础上做了企业级的重构。

正文顶部截图

1、它解决什么问题

做一个 AI Agent 不难,难的是让多个 Agent 协作。

比如一个任务需要一个 Agent 搜资料、一个 Agent 写代码、一个 Agent 做审查,这三个 Agent 之间怎么通信、怎么分配任务、怎么处理异常,这些编排逻辑自己写会非常繁琐。

AutoGen 提供了一套分层的架构来处理这些事:

  • Core API:底层的消息传递和事件驱动机制,支持本地和分布式运行时,同时覆盖 Python 和 .NET 两种语言
  • AgentChat API:上层的快速原型接口,支持双人对话、群聊等常见的多智能体模式
  • Extensions API:可扩展的插件体系,LLM 客户端、代码执行等能力都通过这里接入

2、安装和上手

要求 Python 3.10 及以上版本。一行命令安装:

pip install -U "autogen-agentchat" "autogen-ext[openai]"

最快跑通一个例子:

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())

如果需要多 Agent 协作,用 AgentTool 可以把一个 Agent 包装成另一个 Agent 的工具,形成层级调用关系。更复杂的编排模式比如群聊、投票、任务委派等在 AgentChat 文档里都有覆盖。

AutoGen 还支持接入 MCP 服务器。用 Playwright MCP 可以让 Agent 直接操作浏览器,执行网页搜索和数据抓取的任务。

3、AutoGen Studio

配套有一个可视化工具叫 AutoGen Studio,一条命令启动:

autogenstudio ui --port 8080 --appdir ./my-app

提供一个网页界面,用拖拽的方式搭建多智能体工作流,不需要写代码。适合快速验证思路和做 Demo,微软在文档里明确说它不适合直接上生产环境。

README区域截图

4、现在的状态

AutoGen 从微软研究院起步,开创了多智能体协作的研究方向,对整个社区的影响是实打实的。58,880 颗 Star 也说明了这个方向被广泛认可。

但项目现在已经进入维护模式,只接受 Bug 修复和安全补丁,不再有新功能迭代。微软把主力投到了 Microsoft Agent Framework 上,后者在稳定性、多模型支持、跨运行时互操作(A2A 协议和 MCP 协议)方面都做了完整的升级。

正在用 AutoGen 的项目可以继续运行,微软提供了从 AutoGen 迁移到 MAF 的指南。准备启动新项目的话,直接选 MAF 会更合理。

AutoGen 的项目可以继续运行,微软提供了从 AutoGen 迁移到 MAF 的指南。准备启动新项目的话,直接选 MAF 会更合理。

Logo

欢迎加入 MCP 技术社区!与志同道合者携手前行,一同解锁 MCP 技术的无限可能!

更多推荐