Multi-Agent 协作——CrewAI、MetaGPT、AutoGen 三种框架实测
Multi-Agent 协作——CrewAI、MetaGPT、AutoGen 三种框架实测
多 Agent 协作是 Agent 领域最热的方向。但 CrewAI、MetaGPT、AutoGen 三个框架差别巨大——选错了浪费 3 个月。
什么是 Multi-Agent
Multi-Agent = 多个 Agent 协作完成复杂任务。
类比公司:
- 单 Agent = 一个员工独立干活
- Multi-Agent = 一个团队分工合作
核心思想:
- 每个 Agent 有明确角色(产品经理 / 工程师 / 测试)
- Agent 之间通过消息传递协作
- 通过工作流编排完成复杂任务
三个框架的定位
CrewAI:角色扮演 + 流程编排
核心思想:像管一个团队一样管理 Agent。
1 | from crewai import Agent, Task, Crew |
优点:
- 上手快,5 分钟能跑通
- 角色化思维,贴近业务
- 任务依赖管理直观
缺点:
- 适合”流程化”任务,不适合复杂规划
- 调试困难,出错信息不清晰
- 中文支持一般
MetaGPT:模拟公司流程
核心思想:把整个”软件公司”流程化——产品经理 → 架构师 → 工程师 → 测试。
1 | from metagpt.software_company import SoftwareCompany |
MetaGPT 会产出:
- 需求文档(由 PM Agent 写)
- 设计文档(由 Architect Agent 写)
- 代码(由 Engineer Agent 写)
- 测试用例(由 QA Agent 写)
优点:
- 完整模拟”软件工程流程”
- 文档齐全,适合学习软件工程
- 一次产出多份资产
缺点:
- 重,启动一个项目要 5-10 分钟
- 复杂任务质量一般——简单 demo 不错,生产项目不行
- 不够灵活——流程是预设的,改起来麻烦
AutoGen:微软出品,对话驱动
核心思想:用”群聊”的方式组织 Agent 协作。
1 | from autogen import AssistantAgent, UserProxyAgent, GroupChat |
核心特性:
- 支持
GroupChat:多个 Agent 群聊 - 支持
嵌套对话:Agent 之间可以开小会 - 支持
人工介入:用户可以中途插入
优点:
- 微软背书,生态好
- 灵活度高,适合研究
- 支持复杂对话模式
缺点:
- 学习曲线陡
- 文档质量一般
- 性能调优困难
三种框架的实测对比
我做了个测试——让三个框架完成同一组任务:
任务集:
- 调研”LLM 推理优化”主题,产出 2000 字报告
- 设计一个 Todo App,产出代码 + 文档
- 模拟一场 5 人会议,讨论”是否上 AI Agent”
- 翻译并润色一篇英文论文
评测维度
- 完成度:任务是否真的做完
- 质量:产出物的可用性
- 速度:耗时
- Token 消耗:成本
- 可调试性:出错能否定位
结果
| 框架 | 完成度 | 质量 | 速度 | Token | 调试 |
|---|---|---|---|---|---|
| CrewAI | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ | 中 | 中 |
| MetaGPT | ⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐ | 高 | 难 |
| AutoGen | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ | 中高 | 中 |
具体观察
调研任务:
- CrewAI:角色清晰,流程顺,产出可用
- MetaGPT:太重,产出一堆不必要文档
- AutoGen:灵活但容易跑偏
代码任务:
- CrewAI:只能产简单代码
- MetaGPT:完整工程但代码质量一般
- AutoGen:灵活,可调深度
我的实际项目经验
项目 1:研究助手(用 CrewAI)
1 | # CrewAI 实现 |
效果:研究质量提升 30%,多了一个”评论”环节是关键。
项目 2:代码生成(用 LangGraph + 单 Agent)
没选 MetaGPT——MetaGPT 太重,我的需求是”单文件代码生成”,不需要完整工程流程。
也没选 AutoGen——AutoGen 灵活但难以调试。
单 Agent + LangGraph + Reflection 反而最实用。
项目 3:复杂规划(用 AutoGen)
需要 5 个 Agent 讨论一个商业方案——AutoGen 的 GroupChat 最合适。
CrewAI 也能做,但角色固定,讨论不自然。
MetaGPT 没有”讨论”模式。
Multi-Agent 的真实价值
价值 1:角色分工
不同 Agent 擅长不同事:
- 研究型 Agent:擅长查资料
- 写作型 Agent:擅长文字
- 代码型 Agent:擅长代码
- 评论型 Agent:擅长挑刺
混用比单 Agent 强。
价值 2:流程编排
Multi-Agent 框架强制你思考”工作流”——
- 谁先做?
- 谁检查?
- 谁修改?
- 谁发布?
这种”显式流程”让复杂任务可控。
价值 3:多视角
让多个 Agent 对同一问题发表意见——投票/辩论,结果更鲁棒。
价值 4:可解释性
Multi-Agent 系统的”消息流”就是天然的日志——用户能看到每个 Agent 怎么想、怎么做。
Multi-Agent 的几个坑
坑 1:Agent 太多,沟通成本爆炸
10 个 Agent 协作——消息传递指数增长,成本爆炸。
经验:3-5 个 Agent 是上限。
坑 2:循环依赖
Agent A 等 Agent B 的结果,Agent B 等 Agent A 的反馈——死锁。
1 | # 必须避免循环 |
坑 3:沟通协议不清晰
Agent A 给 Agent B 发了一段乱糟糟的消息——B 理解偏了。
必须:
- 用结构化消息(JSON schema)
- 每条消息明确”主题 + 内容 + 期望回复”
坑 4:成本失控
每个 Agent 都调 GPT-4o,一次任务调 20 次——$2/任务。
生产场景:降级用小模型——简单 Agent 用 GPT-4o-mini,只有”主决策”用 GPT-4o。
写在最后
Multi-Agent 是 Agent 工程的”必经之路”——但没有”最好框架”,只有”最适合场景”。
我的选择建议:
| 场景 | 推荐框架 |
|---|---|
| 简单研究/写作 | CrewAI(上手快) |
| 完整软件工程 demo | MetaGPT(流程完整) |
| 复杂规划/讨论 | AutoGen(灵活) |
| 生产 Agent 系统 | LangGraph(可控) |
| 简单代码生成 | 单 Agent + Reflection(够用) |
别为了”用 Multi-Agent”而用——单 Agent 能解决的,别上 Multi-Agent。
Multi-Agent 的真正价值,不是”让 AI 更聪明”——是”让复杂任务更可控、更可解释、更可调试”。
