今年8月起,我手上的AI编程活儿一下子多了起来:正职是帮两三家客户搭建内部系统,业余还维护着一款自己的产品。最初的做法很直接——开一个Claude Code会话,从头聊到尾,需求梳理、编码、修bug、写测试全部塞进同一个窗口。
头两周还凑合,到第三周就撑不住了。问题主要有三:其一,上下文越滚越大。一个中等规模的需求聊完,输入token轻松突破8万,模型到后半程越来越"失忆",之前敲定的接口约定说改就改。其二,角色混在一起。你让它同时当架构师、程序员和评审员,最后就是自己写的代码自己点赞,代码评审沦为走过场。其三,开支刹不住车。那个月Claude Opus的账单高达920美元,大头都花在反复重读整个会话历史上。
我当时的结论是:症结不在于模型不够强,而在于我把一整套工程流程硬生生压缩进了一个对话框。现实中哪有人要求一个程序员同时兼任产品、开发和测试?那我凭什么这样要求Agent?
最终我确定的架构相当简洁,Planner、Executor、Reviewer三个角色,串行流水线运作:
任务卡的模板如下,可以直接拿去用:
task: 订单导出增加CSV格式
goal: 用户可将订单列表导出为CSV
acceptance:
- 导出文件带BOM头,Excel打开不乱码
- 字段顺序与页面一致
- 单测覆盖率不低于80%
files: [src/exporter.py, tests/test_exporter.py]
画分工图谁都会,真正致命的是交接环节。我踩了三个坑,每一个都在烧钱。
坑一:口头交接,信息全漏。 最早的版本里,Planner输出自然语言任务描述,Executor直接读取。结果"页面一致"这种说法,Executor理解成按字母顺序排列字段,Reviewer依据验收条件打回,一来一回白白浪费两小时。后来我强制所有交接物结构化——任务卡YAML + Executor完工后必须回填"实现说明.md",交代自己做了什么、哪里偏离了、原因是什么。仅这一项改动,返工率就从35%降到了12%。
坑二:Reviewer也被带跑了。 有一段时间Reviewer的通过率高得离谱,98%,我心里直打鼓。抽查后发现Executor的实现说明写得天花乱坠,Reviewer被牵着鼻子走,审查重点变成了"说明写得对不对"而非"代码写得对不对"。修复手段简单粗暴但管用:在Reviewer的prompt里加了一条硬指令——"忽略实现说明,只对照diff和验收条件逐条核验"。通过率随即跌到78%,但揪出来的都是真问题。评审不能听口供,只看证据,这个原则对Agent同样成立。
坑三:三个Agent三套格式。 Executor交Python,Planner交YAML,Reviewer输出Markdown评审报告,最初我还得人工把它们拼成一条完整记录。后来统一了一层轻量契约:所有交接物放入约定目录,文件名采用任务ID,评审报告必须引用验收条件编号(例如"AC-2 不通过"),这样grep一下就能追溯。听着像是废话,但缺少这层约定,多Agent就是三个各说各话的哑巴。
满负荷跑了两个月(9月到10月上旬,共42个需求),数据如下:
值不值得这么折腾?我的判断是:如果你每月的AI编程账单超过300美元,或者每周需求超过5个,这套分工两周内就能收回成本,值得投入。反之,如果你只是写写脚本、改改文案,单Agent配一个好prompt就足够了——多Agent是有管理开销的,任务卡维护、交接契约、评审规则,这些本身就是工作量。网上鼓吹的"Agent swarm自动协作"我试过两个框架,一半是智商税:演示视频里无所不能,真上生产全是幻觉接力。先用确定性流水线把基本功练扎实,比追逐swarm热点务实得多。
说明:本文数据来源为公开行业报告综合整理,部分成本与耗时数值为估算仅供参考。