三个Agent组队干活实录:踩遍坑后我整理出的这份分工与交接指南

上个月朋友找上门,让我帮忙把一套跨境电商的商品详情页生成工具彻底翻新。原本是一堆老掉牙的模板脚本,现在要升级成能自动产出"标题+卖点+FAQ+多语翻译"的完整流水线。规模谈不上多大,但环节又碎又杂——爬虫清洗、文案撰写、翻译、SEO校验、格式输出,五个步骤环环相扣,缺一不可。

起初我想偷个懒,直接开了个Claude Code的Opus会话,丢过去一句话"全都交给你了"。结果呢?跑了47分钟,消耗掉差不多230万token,账单11.2美元,交付物我人工抽查后发现,五个环节里错了两个——爬虫把变体商品的价格搞混了,FAQ生成直接把上一个商品的答案复制了过来。又花半小时返工。

那一瞬间我彻底想通了一件事:指望单个强模型单线程包揽全部,不是"雇了一个聪明人",而是"逼一个聪明人同时扮演产品、开发、测试和翻译,还不给他任何交接文档"。 人干这种事会崩溃,Agent干这种事会瞎搞。

于是我一头扎进了多Agent协作的折腾里。下面这篇文章,就是我整整一个月试错、踩坑、重构的全过程记录,包含最终跑通的方案、账面上真实的数字,以及一份你拿去就能用的作业。

初次试水:自由接力,栽在交接上

我最初想到的方案非常朴素:串行接力。一个Agent负责写需求,一个Agent负责编码,再来一个Agent负责验收,像工厂流水线一样依次传递。

跑了两轮,毛病全出在交接环节。

第一轮,我让"规划Agent"(用的是DeepSeek-V3.2,便宜,大概一块钱能跑百万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次,账本如下:

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

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

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

值得折腾的:异构模型分工(便宜模型规划+贵模型执行+异构模型审查)这一条,单拎出来就值回所有试错成本;交接工件的结构化(任务卡、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量、成本、耗时等数值基于作者个人实践记录,部分为估算值,仅供参考。