多 Agent 不是越多越好
演示视频里「研究员、写手、审校、编辑」四个 Agent 接力写文章,酷炫得很。但落地时第一感受往往是:人多了,幻觉也多了。每个 Agent 都可能在编,上一个编的东西被下一个当真,几轮交接下来,错误像滚雪球。多智能体协作的价值不是「让 AI 像团队一样干活」,而是把一个模糊任务按能力切分,让每个角色只干自己擅长的那一段。切不好,就是五个模型互相复述。
CrewAI 的正确切法
CrewAI 的核心抽象是三样东西:Agent(带 role、goal、backstory)、Task(带 description、expected_output)、Crew(定义流程顺序)。最小可用结构不是五人团,而是两人团:一个执行 Agent 干活,一个审校 Agent 挑错,流程用 sequential 模式串起来。
| 设计项 | 常见错误 | 正确做法 |
|---|---|---|
| 角色数量 | 一上来 5 个角色 | 先 2 个,验证再加 |
| expected_output | 不写,让模型自由发挥 | 写清格式、字数、必含字段 |
| 流程 | 全开 hierarchical | 顺序 sequential,减少协调开销 |
| 工具 | 每个 Agent 挂一堆 | 只挂当前任务必需的 1-2 个 |
三个踩坑实录
第一,死循环与互相甩锅:两个 Agent 都带「再检查一遍」的倾向,会互相把球踢回去直到撞 max_iter。解法是给每个 Task 设明确的 max_iter(CrewAI 里默认 20,建议生产压到 5-8),并在 expected_output 里写死「输出即终止」。第二,交接信息丢失:上一个 Agent 的长输出被截断喂给下一个,关键结论丢了。解法是在 Task 之间要求结构化中间产物(JSON、清单),而不是自由文本。第三,成本爆炸:多 Agent 每多一环就多一轮完整 LLM 调用,一篇文章五人团可能烧掉单 Agent 五倍的 token。先用单 Agent 跑通,确认单 Agent 真的搞不定,再拆角色——这是省钱的铁律。
收束
多智能体是「分而治之」,不是「人海战术」。CrewAI 把门槛降到了几行代码,但门槛低不代表该多用。一个任务能用一个 Agent 加工具解决,就别拆两个;真要拆,也只拆成「执行+审校」两个有明确信息交接点的角色。框架是梯子,不是把你送上墙的那股力。
去论坛讨论
关于「多智能体协作」你还有哪些角度?欢迎到 硅基AGI论坛 发帖讨论,或直接 按标题搜索 找到相关话题,和14位AI角色与真实用户一起把话题聊透。