ag2
开源多智能体 Agent 编排框架,让多个 AI Agent 像团队成员一样协作完成复杂任务
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
开源多智能体 Agent 编排框架,让多个 AI Agent 像团队成员一样协作完成复杂任务
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下,你正在管理一支高效的软件开发团队。团队里每个人都有明确的职责:有人负责写代码,有人负责 code review,有人负责部署,还有人在旁边盯着质量。这样的团队协作模式,在真实软件开发中早已成熟——而 AG2(曾经的 AutoGen)正是将这套逻辑移植到 AI 世界的框架:让多个 AI Agent 像团队成员一样分工协作,共同完成复杂任务。

AG2 由微软研究院发起,由 Chi Wang 和 Qingyun Wu 两位学者主导,是最早一批开源多智能体 AI 框架之一。2024 年 11 月,因与微软官方维护的 AutoGen v0.4+ 产生路线分歧,社区主导分支正式更名为 AG2,继续沿用经过生产验证的 v0.2 代码基线,并宣布向 v1.0 演进。这是一个关于开源治理的经典案例:框架的生命力不在于某一个商业公司的意志,而在于社区的持续投入。
大语言模型(LLM)虽然强大,但单次调用往往难以完成复杂的多步骤任务。以"分析某只股票并生成投资报告"为例:模型需要先联网查行情数据,再调用财务分析工具,最后生成结构化报告——这超出了单次 API 调用的能力边界。
传统解决方案是让开发者手动编排 Prompt 链,但这很快会遇到维护噩梦:Prompt 耦合在业务代码里,修改一个环节可能影响全局,且难以处理 Agent 之间的动态对话和状态传递。
AG2 提出的核心理念是多智能体对话编排(Multi-Agent Conversation):框架自动管理多个 Agent 之间的消息传递、状态维护和协作流程,开发者只需声明"有哪些 Agent、各自负责什么"即可。这种思路极大降低了复杂 AI 应用开发门槛,也与 2025-2026 年 Google ADK、OpenAI Agents SDK 等大厂产品的设计哲学不谋而合。
AG2 的架构可以类比为"AI 团队 + 工作流引擎"。系统由以下几个核心组件构成:
1. ConversableAgent:智能体基类
所有 Agent 的父类。一个 Agent 本质上是一个可以收发消息、执行工具的实体。AG2 内置了 AssistantAgent(专职执行者)和 UserProxyAgent(人类代理,可人工介入)两种常见类型:
AssistantAgent:调用 LLM 执行任务,内置系统提示词和工具注册接口。UserProxyAgent:代表人类用户,可自动执行代码、搜索信息,或在关键时刻暂停等待人工确认。2. GroupChat:群聊协作
多个 Agent 之间可以通过群聊模式(GroupChat)协作。在群聊中,消息在所有参与者之间广播,由内置的聊天管理器决定消息的传播顺序和路由策略。AG2 支持多种群聊策略,包括轮询(round_robin)、自动(auto)等,开发者可以根据任务特性选择合适的协作模式。

3. AgentChat:任务级编排
比群聊更结构化的是 AgentChat,它是 AG2 v1.0 beta 的核心 API。相比于早期版本中 Agent 直接互发消息的松散模式,AgentChat 提供了更清晰的边界:每个 Chat(对话实例)有独立的上下文生命周期,支持持久化、多轮交互和状态恢复,更适合生产环境。
4. 工具生态与 MCP 集成
AG2 原生支持函数调用(Function Calling),Agent 可以声明和调用任意 Python 函数。更值得关注的是对 MCP(Model Context Protocol) 的内置支持:开发者可以通过 MCP 协议连接外部工具服务器(如文件系统、数据库、API),让 Agent 具备真正的"动手能力"。项目仓库中的 autogen/mcp/ 目录提供了完整的 MCP 客户端实现。
5. A2A(Agent-to-Agent)协议
AG2 率先支持 Google 主导的 A2A 协议,允许不同框架实现的 Agent 之间相互通信。这意味着 AG2 构建的 Agent 可以与 LangChain Agent、Vertex AI Agent 互通,是走向真正互操作性的重要一步。仓库 examples/a2a/ 目录下有完整的 A2A 客户端和服务器示例。

支持主流 LLM
AG2 对 LLM 后端保持了极大的灵活性。项目原生支持 OpenAI GPT 系列、Anthropic Claude 系列、Google Gemini、本地模型(通过 Ollama 或 LiteLLM),以及任何兼容 OpenAI API 格式的推理端点。这种灵活性让 AG2 在不同场景下都能找到用武之地:从调用 GPT-4 处理复杂任务,到完全本地化部署保护数据隐私。
CLI 工具:ag2
项目包含独立的 CLI 模块(cli/),通过 pip install ag2 安装后,可以使用 ag2 命令行工具快速初始化项目、查看配置和运行示例。这降低了入门门槛——用户不需要深入阅读源码,30 秒内就能跑通一个多智能体对话示例。
实时交互(Live)
examples/live_playground/ 目录下包含多个实时交互示例,支持语音输入输出、实时工具调用和流式响应。这展示了 AG2 在更沉浸式应用场景(语音助手、实时客服)中的潜力。
代码执行能力
UserProxyAgent 内置代码执行功能,Agent 可以自主生成、运行和调试 Python 代码。这让 AG2 不只是"聊天",而是真正具备"执行"能力——可以写代码解决问题,可以操作文件,可以用代码验证自己的想法。
AG2 是一个 Python 库,通过 pip 安装即可使用:
pip install ag2
安装完成后,你可以立即创建一个最简单的多智能体对话:
from autogen import ConversableAgent
assistant = ConversableAgent("assistant", system_message="你是一个有帮助的助手。")
user_proxy = ConversableAgent("user_proxy", ishuman=True)
chat_result = assistant.initiate_chat(user_proxy, message="你好,介绍一下你自己。")
硬件需求极低:AG2 本身是纯 Python 包,不依赖 GPU,只负责编排和消息传递。所有 LLM 推理通过 API 调用完成(也可以连接本地 Ollama)。在树莓派级别的硬件上也能流畅运行。
生产部署建议:由于无内置 Web UI,生产环境通常需要:
需要注意的是,项目不包含根目录 Dockerfile,官方也不提供一键部署方案。对习惯 Docker 化部署的团队来说,这是一个需要自行解决的问题——好在项目本身结构清晰,Docker 化难度不大。
与微软 AutoGen 的分裂
这是 AG2 发展史上最大的阴影。微软在 AutoGen v0.4 进行了彻底的重写,而 AG2 社区坚持沿用 v0.2 的成熟代码路线。两者的 API 设计理念差异巨大,导致社区分裂、文档混乱,新手容易在"该用哪个版本"的问题上困惑。AG2 官方坦诚面对这一现实,在文档中明确标注了版本演进路线,但这个历史包袱依然影响着项目生态。
文档质量参差不齐
AG2 的 API 文档和示例覆盖较全,但部分高级功能(如 GroupChat 策略定制、MCP 深度集成)的文档仍然薄弱。beta API 与 stable API 的边界有时模糊,对新手不够友好。
生产治理挑战
作为一个"社区主导"的 fork 项目,AG2 的长期治理依赖于志愿者 Maintainer 的持续投入。项目设定了申请加入核心维护团队的渠道(联系 Chi Wang 和 Qingyun Wu),但相比商业公司主导的项目,其稳定性和响应速度存在不确定性。
性能开销
多智能体架构天然比单 Agent 调用有更高的延迟(消息在多个 Agent 间流转)和成本(多次 LLM 调用)。对于简单任务,使用 AG2 反而是"杀鸡用牛刀"。最佳实践是:简单任务用单 Agent,复杂任务才动用多智能体协作。
从 2023 年 AutoGen 论文发布,到 2026 年 AG2 演进至 v1.0 路线,AG2 经历了 AI Agent 领域最剧烈的发展期。它的意义不仅在于框架本身,更在于验证了几个关键命题:
当前(2026年),多智能体框架赛道竞争激烈:OpenAI Agents SDK、Google ADK、LangChain Agents、CrewAI 都在争夺开发者心智。AG2 作为最早的开源多智能体框架之一,在学术影响力和先发优势上仍有独特地位——GitHub 超 4600 颗星、来自微软研究院的学术论文引用、以及 DeepLearning.ai 官方课程背书,都是其护城河。
