Skip to content

15 · 该不该上多 Agent

先泼一盆冷水

📚 系列导航:这是《Agent 开发进阶》的第 15 篇(共 24 篇)。上一篇你用 MCP 接入了工具生态,单体能力基本到位;这一篇先泼盆冷水——动手拆多 agent 前,把收益代价这笔账算清。下一篇:16 · 编排者-工人模式

刷技术文章时,你大概率见过十几个框框连线的多 agent 架构图,看着就"高级"。我也心动过,照着搭了一套五 agent 系统,联调两周,效果不如单 agent 改一天 prompt。这不是我笨——多数人根本没碰到单 agent 的天花板,就先给自己上了分布式的复杂度。多 agent 不是更高级的 agent,是一笔要精打细算的买卖。这一篇只干一件事:给你一套判据,让你在动手之前就得出"拆还是不拆"的结论。

看完这一篇,你会拿到:

  • 单 agent 三堵墙对照表,逐条自测
  • 三真收益 vs 三真代价的算账清单
  • 五问判据清单,套用出拆/不拆结论
  • 反例解剖:系统怎么被拆碎拆笨

01 单 agent 的天花板到底在哪

多数人抱怨"单 agent 不行",真实问题往往是 prompt 糙、工具描述含混、上下文没管理——第 05、06 篇的作业没做完,不是架构问题。真正的天花板只有三堵墙:上下文塞不下(所需信息远超窗口,压缩也救不回);任务域冲突(一个 agent 又当运动员又当裁判,立场打架);必须并行(子任务独立,串行等不起)。

该不该上多Agent:三个判据条件

我的判断很直接:三堵墙一堵没撞上,就回去把单 agent 做扎实。Anthropic 在《Building Effective Agents》里的口径也一样——能用简单方案解决的,别加编排层。

💡 一句话总结:先确认撞的是墙而不是地基——多数"天花板"其实是没写好的 prompt。

02 三真收益 vs 三真代价

该不该拆,本质是一笔账。打个比方,这就像一个人单干和开公司招人:招人确实能分担活(收益),但从此你要开会、对齐、发工资(代价)。

真收益三条:上下文隔离——每个 agent 只装自己那摊事,注意力不被稀释;并行——独立子任务同时跑,总耗时大降;专业化——每个角色的 prompt 和工具都能精调。真代价也三条:通信损耗——agent 间传话必丢信息;调试地狱——出错先花半天定位是哪个 agent 的锅;成本翻倍——每个 agent 各烧各的 token,账单按份数涨。

💡 一句话总结:收益和代价都是真的——账要摆到桌面上算,不能只看架构图好看。

03 判据清单:五个信号说明该拆

把下面五问过一遍,答"是"记一分:

  1. 上下文是否稳定超窗,压缩后仍丢关键信息?
  2. 是否存在天然独立、可并行的子任务?
  3. 是否需要立场独立的角色(如评审)制衡产出?
  4. 不同子任务是否需要截然不同的工具集或规则集?
  5. 单 agent 是否已按 05/06 篇优化到位仍不达标?

0–1 分别拆;2–3 分从"编排者+一个工人"的最小拆分试起;4–5 分值得上。第 5 问一票否决——单 agent 没优化到位,前四问都是伪信号。

💡 一句话总结:判据清单是护栏——分不够就不拆,别让"想拆"污染了"该拆"。

04 反例解剖:拆错刀口,系统变笨

我见过最惨的拆法是按技术层拆:"模型调度""工具执行""记忆管理"各一个 agent。听着像微服务,实际每个 agent 都残缺——干活的没上下文,有上下文的不干活,一个请求在三个 agent 间倒手三次,上下文传丢一半。正确的刀口是按任务域拆:调研、写作、审查,每个 agent 拿到一件完整的事,配齐全部工具和上下文。检验一句话:任何 agent 单拎出来能否独立干完自己那份活?不能就是拆错了。

💡 一句话总结:按任务域拆出完整的手艺人,按技术层拆出一堆半成品。

05 动手:给自己的场景出一份拆/不拆结论

任务:拿你手头真实的 agent 场景,走一遍 03 的五问判据,逐问写下答案和依据,落成一页 ADR(架构决策记录):结论(拆/不拆/最小拆分)+ 三条理由 + 重新评估的触发条件(如"压缩后成功率跌破 80%")。

验收标准:一页纸 ADR,别人不问也能看懂为什么这么定,理由能对应判据编号。

两种结果都正常:结论是"不拆"——恭喜,你省下了两周联调,把精力投回工具与上下文优化;结论是"拆"——带着判据依据进下一篇,从最实用的架构起步。

06 小结

你现在应该能:说清单 agent 的三堵墙、算清三收益三代价的账、用五问判据给自己的场景产出一页 ADR。

下一篇 16 · 编排者-工人模式:如果你的结论是"拆",这是覆盖 80% 场景的第一选择。


📎 实战案例

一个团队模仿大厂架构图起手五个 agent,联调两周,效果不如单 agent 调优一天。按五问判据重评(上下文没超窗、无并行需求、无立场制衡需求,得 0 分),砍回单 agent 后一周上线——复杂度是要挣来的,不是送的。

踩坑

  • 我照大厂架构图起手五个 agent,联调两周不如单 agent 改一天 prompt——复杂度自负盈亏。
  • 我按技术层拆过一版,用户请求在三个 agent 间倒手,上下文传丢一半,成功率掉了 20 个点——任务域才是正确的刀口。
  • 我上多 agent 后没盯账单,三个 agent 各带全量历史,成本是单 agent 的 3 倍、效果持平——拆之前先给成本设上限。