多 Agent 协作的关键,不是多开几个模型,而是分工与验收
真正有价值的 multi-agent system,需要角色边界、共享上下文和可验证的交付。
多 Agent 协作的关键,不是多开几个模型,而是分工与验收
多 Agent 这件事很容易让人兴奋。
看上去只要把一个复杂任务拆给几个智能体并行处理,效率和质量就会一起上涨。
但真正做下来就会发现,系统是否有效,往往不取决于“有多少个 Agent”,而取决于三件更朴素的事:
- 分工有没有边界
- 上下文有没有对齐
- 输出有没有验收
为什么很多多 Agent 系统只是“看起来很忙”
因为它们把并行当成了协作。
多个 Agent 同时工作,当然会让日志显得很热闹,但如果角色重叠、上下文不一致、结果没人校验,最后得到的常常只是更多噪声。
常见问题通常包括:
- 几个 Agent 在做重复搜索
- 一个 Agent 改掉另一个 Agent 刚确认的内容
- 上游假设没有同步给下游
- 最终汇总者只能机械拼接结果
这类系统并不是不会工作,而是不会组织工作。
什么样的任务才值得拆成多 Agent
我现在更倾向于一个保守判断:
只有当不同子任务在能力结构、上下文范围或输出形式上明显不同,多 Agent 才真正有优势。
比较适合拆分的场景有:
- 一边做资料研究,一边做实现
- 一边改代码,一边跑验证
- 一边抽取结构化信息,一边写最终报告
不太适合拆分的场景则包括:
- 极短任务
- 强依赖连续上下文的推理
- 任何一步都离不开统一判断标准的任务
我更认同的多 Agent 角色设计
1. 规划者
负责切任务、定顺序、明确依赖关系。
它不一定产出最多内容,但它决定整个系统会不会一开始就走偏。
2. 执行者
负责在局部上下文里高效完成具体任务。
执行者最需要的是清晰边界,而不是无限上下文。
3. 审核者
负责验证结果,而不是重新做一遍任务。
如果审核者只是重复执行者的工作,多 Agent 系统的成本会被迅速拉高。
4. 汇总者
负责把不同输出整理成一个可交付结果。
这一层很重要,因为协作不是结果拼盘,最终输出必须对外部读者保持一致。
共享上下文应该少而准
很多系统一遇到信息不同步,就想把全部上下文广播给所有 Agent。
这当然能降低遗漏,但代价是:
- 成本飙升
- 噪声增加
- 每个 Agent 的职责边界被模糊
我更偏向的原则是:
- 共享全局目标
- 共享必要约束
- 共享上游已确认结论
- 不共享所有中间过程
这样做的核心,是让每个 Agent 知道“自己该知道什么”,而不是“尽可能知道一切”。
验收机制比角色数量更重要
多 Agent 系统最容易被忽略的,其实是交付验收。
没有验收标准,再多角色也只是把不确定性分散到了更多节点。
我现在看一个多 Agent 流程是否健康,最先看的是:
- 每个子任务有没有完成定义
- 交接时有没有显式输出格式
- 最终结果能不能被独立验证
- 失败时能不能定位是哪一层出了问题
如果这几件事做得清楚,哪怕只有两个 Agent,系统也能很强;
如果这几件事做不清楚,十个 Agent 也只会让问题更复杂。
评估多 Agent,不该只看“是否更聪明”
我更愿意用下面四个维度来判断它有没有价值:
- 是否更快
- 是否更稳
- 是否更省
- 是否更容易定位错误
因为很多所谓“更聪明”的协作系统,最终只是多花了一倍资源,换来一点很难稳定复现的效果提升。
结尾
多 Agent 协作真正迷人的地方,不在于把一个模型复制很多份,而在于它逼着我们重新思考:
复杂工作究竟应该如何被拆解、交接、检查和汇总。
如果后面继续深入这个方向,我最关心的已经不是“如何让更多 Agent 一起跑”,而是“如何让更少的 Agent 在更清晰的机制里跑得更稳”。
Discuss this log
这篇文章的评论会同步到 GitHub Discussions。