三个Agent组队干活实录:一文讲透多Agent协作的分工交接方法

上个月接了个私活,帮做跨境电商的老友把商品详情页生成工具推倒重来。原来是一堆模板脚本,现在要升级成"标题+卖点+FAQ+多语言翻译"的完整流水线。规模倒不大,就是环节太碎——爬虫清洗、文案生成、翻译、SEO检查、格式导出,五个步骤像链条一样环环相扣。

我一开始想偷个懒,直接开一个Claude Code的Opus会话,扔过去一句"全搞定"。结果呢?跑了47分钟,消耗约230万token,账单11.2刀,交付的东西人工抽检,五个环节错了俩——爬虫把变体商品的价格搞串了,FAQ生成直接照抄了上一个商品的答案。返工又搭进去半小时。

那会儿我突然想通了一件事:单个强模型单线程干活,不是"请了一个聪明员工",而是"让一个聪明员工身兼产品经理、码农、测试和翻译,还不给他任何交接文档"。 人得疯,Agent得瞎。

于是我就开始折腾多Agent协作。这篇文章是我这一个月试错、踩坑、重构的完整记录,包含最终跑通的方案、账面上的真实数字,还有一份你可以直接照抄的作业。

第一次尝试:自由接力,翻车在交接

我最初想到的方案最省事:串行接力。规划Agent写需求,编码Agent实现,检查Agent验收,像流水线一样往下传。

试了两轮,问题全出在交接上。

第一轮,我让"规划Agent"(用的DeepSeek-V3.2,便宜,1块钱大概百万token量级)输出一份自然语言需求文档,直接喂给编码Agent(Claude Code + Sonnet 4.5)。结果需求文档写了1200字,里面一半是"要确保质量""注意兼容性"这种正确的废话,真正关键的约束——比如"价格字段必须取 variant.price 而不是 product.price"——藏在第三段中间,Claude Code直接忽略了。出来的代码能跑,业务全错。

第二轮我学乖了,让规划Agent输出结构化的JSON任务卡,字段包括goal、constraints、acceptance_criteria、forbidden。这次约束确实被执行了,但新问题来了:上下文丢失。编码Agent干活的时候为了方便,把之前爬虫环节的数据结构改成了自己顺手的命名,检查Agent拿着原始需求来验收,两边对不上,互相指责对方错了——当然,是我买单,反复重跑。

两轮下来我算了笔账:看似每次单个Agent都很便宜(DeepSeek一次几分钱,Sonnet一次两三毛),但因为交接不清导致的返工,整体耗时从预期的40分钟膨胀到2小时20分,总成本反而比单Agent方案还高了12%。便宜模型 + 烂交接 = 最贵的方案,这是我踩的第一个坑。

第二个坑更隐蔽:我一开始让三个Agent共享同一个工作目录,觉得这样"沟通顺畅"。结果编码Agent写到一半,检查Agent的某个自动化lint脚本正好在跑,把半成品文件格式化了一遍,编码Agent回来一看自己代码"被改了",开始修一个不存在的问题,多烧了40万token。后来我给每个Agent划了独立工作区,靠显式的文件交接,才消停。

三种方案的成本与通过率对比

重构方案:分工明确、交接物化、验收硬门槛

折腾两周后,我定下了最终架构,三句话概括:分工按"思考成本"切,不按"功能模块"切;交接只认物化的工件,不认聊天记录;验收设硬门槛,不过就回退,不商量。

具体拆成这样四步:

1. 规划环节——用最便宜的模型,干最贵的架构思考。 这里有个反直觉的点:规划恰恰可以用便宜模型,因为规划任务的输出是"给机器看的结构化任务卡",不需要文采,只需要完整和精确。我用DeepSeek-V3.2加一份精心调过的prompt模板(前后改了9版),输出固定字段的JSON任务卡:goal、input_schema、output_schema、constraints(数组,逐条编号)、acceptance_tests(至少3条可自动执行的断言)。单轮成本约0.03元,输出稳定在900token以内。这一步省下来的钱,全都补贴给后面贵模型的执行环节。

2. 编码环节——上最好的模型,但给它戴上镣铐。 编码用Claude Code + Sonnet 4.5,但启动时挂载一份我手写的HANDOFF.md,内容只有两块:任务卡原文,和"你可以改什么、不能改什么"。关键配置是我在.claude/settings.json里关掉了它的自动执行权限,只允许它写文件,跑测试必须由我(或脚本)触发。这样它就没法自己跑一半测试然后说"应该没问题"。这一步单轮成本约0.35刀。

3. 检查环节——换个"物种"来验收。 这是我认为整套方案里最值钱的决定:检查Agent不用Claude,改用GPT-5(当时也试过Codex CLI,效果接近,GPT-5的代码审查指令遵循更稳)。用同一个家族的模型自检,等于让学生自己批改自己的卷子——Claude生成的代码让Claude挑毛病,它总能找到理由原谅自己。换个异构模型,挑剔程度肉眼可见地上升。检查Agent拿到的是任务卡+产物,不拿到编码过程的任何上下文,避免"它都这么辛苦写了"的共情偏差。单轮成本约0.22刀。

4. 回退机制——一次不过,整体回退到编码环节,最多两次。 超过两次就升级到我的桌面,人工看一眼——实践里一个月触发过3次,全是需求本身有歧义,不是Agent的锅。

整个流程我用一个60行的Python脚本编排,脚本本身不调任何模型API,只负责传文件、记日志、算token。模型API全部走各家官方接口,没有用什么花里胡哨的编排框架——这个决定我也要单独说:市面上的多Agent框架我试了三个,全是智商税重灾区,封装一层"Agent社会"的概念,底层还是顺序调用API,但token消耗因为系统prompt膨胀涨了30%以上,调试还更痛苦。一个能看懂的循环脚本,比什么都强。

多Agent分工与交接流程

跑一个月的真实账本

方案上线后我在真实业务上连续跑了一个月,处理详情页生成任务412次,账本如下:

串行接力与结构化交接的差异

什么值得折腾,什么是智商税

折腾一个月,我的态度很明确,直接说:

值得折腾的:异构模型分工(便宜模型规划+贵模型执行+异构模型审查)这一条, alone 就值回所有试错成本;交接工件的结构化(任务卡、schema、验收断言),投入产出比极高,写一次模板受益半年;以及"上下文即成本"的预算意识。

智商税:重型多Agent编排框架(除非你做的是真正需要并行探索的研究型任务);让Agent之间用自然语言"自由讨论"——听起来很美,实测是token黑洞加错误放大器,三个Agent讨论十分钟得出的结论,不如一个清晰的JSON任务卡;以及一切"全自动无人值守"的宣传话术,我的实践是人退到验收和例外处理两个位置,剩下的交给流程,这个位置感比"全自动"靠谱得多。

可照搬的建议清单

  1. 按思考成本分工,不按模块分工:规划用便宜模型(DeepSeek-V3.2级别),执行用强模型(Claude Sonnet级别),审查用异构模型(GPT-5或Codex)。
  2. 交接只认结构化工件:JSON任务卡,字段至少包含goal、input_schema、output_schema、编号化的constraints、可自动执行的acceptance_tests。禁止自然语言长文档交接。
  3. 每个Agent独立工作区,通过显式文件传递状态,禁止共享目录裸奔。
  4. 检查者不能和执行者同家族,且不给它看执行过程,只看需求和产物。
  5. 验收设硬断言,一次不过自动回退,上限两次,超过就人工介入——人工介入不是失败,是流程设计的一部分。
  6. 编排层保持蠢:一个能看懂的Python脚本 > 任何黑盒框架。编排代码不调用模型,只做文件搬运和记账。
  7. 给每个环节记token和耗时,每周看一次结构,推理token占比超过30%就该砍上下文了。
  8. 权限最小化:编码Agent只写文件,不许自跑测试;检查Agent只读不许写。
  9. 模板要迭代:任务卡prompt我改了9版才稳定,别指望第一版就完美,把bad case攒下来喂回去。
  10. 先在一个小任务上跑通全流程再扩面,我第一个月只在详情页生成这一个场景验证,跑顺了才复制到客服话术和邮件营销两个新场景,复制成本很低,因为模板都是现成的。

多Agent协作这事,说到底不是技术问题,是组织设计问题——你本质上是在给一群没有记忆、没有责任心但执行力爆表的"实习生"设计管理制度。想清楚谁有权决定、谁有权执行、谁有权说"不",比换任何一个新模型都管用。

说明:本文数据来源为公开行业报告综合整理,文中涉及的token量、成本、耗时等数值基于作者个人实践记录,部分为估算值,仅供参考。