我从年初开始,不管是自己的开源项目还是工作,99.9% 的代码已经是 CC 写的了,顺手做了一个开源的 harness 叫 Chorus 想把自己的一些实践写到里面去,整了很多功能比如细化需求啊,自动 review 啊等等
现在累计了一些用户,包括我自己每天也是高强度使用,这半年下来最大的感觉用了那么多手法,是“左移”才是最有效的
软件工程里 shift left 是个老概念,把测试和质量挪到开发早期,比写完再抓有效得多。AI 时代这个套路收益更大,因为 agent 写代码飞快,但它对你想要什么的理解是无法保障的。
理想情况是你交代一个任务给 AI ,他 kuku 一顿操作就给你完成了,实际情况是这根本不可能,毕竟你这一句话里的信息量实在太少了,大部分要靠 AI 自己猜。我之前发了一个帖子调查大家理想的 Agent 交互方式 https://www.v2ex.com/t/1215829 大部分人都希望一句话直接撬动成果,但现阶段这么做估计会一地鸡毛
返工成本看着低,反正它写得快嘛。但人 review 的时间是真金白银,而且每改一轮上下文就乱一点,最后连最初想要什么都模糊了,最后就向着💩山一去不复返了。
让 agent 干活之前先完全搞清楚你脑子里是啥这一点远远胜过其他花里胡哨的技巧。我问了几个朋友,superpowers 插件里用的都是啥功能,结果绝大部分的人用一个 brainstorming 就结了,小部分人还会用 systematic-debugging, 这俩一个是左移一个是捅了篓子之后擦屁股
我大概是这么搞的。
第一步是 Elaboration (细化)。粗糙的想法扔进来,Agent 主动追着问。"这个搜索是只搜标题还是带正文?""精确匹配还是模糊?""结果排序按什么?"几轮聊下来,需求就被拍扁成一份明确的描述。关键是 agent 在追问,不是人在写需求文档,门槛低很多。其实和 Branstorming 有点像但所有的决策都会记录在案,方便回看或者交接工作。有的时候想回忆起某个 Feature 做了啥,我去 Chorus 的 UI 上看一眼和 Agent 的问答记录一下就清晰了
第二步是 Proposal (提案)。Agent 基于敲定的需求出方案,包括接口怎么改、任务怎么拆、每个任务的验收标准是什么。这份方案先过一个独立的 reviewer agent 对抗检查,确认接口对得上、任务粒度合理、AC 可测,才递给用户拍板。从这个阶段开始用对抗的方式保证 Agent 写的东西真的方向对而且可以验收,而且这个单独的 Review Agent 也可以充分利用前面环节细化的记录,从第三方视角观察着一份提案有没有跑偏。
第三步是每个任务自带的验收标准 checklist 。Agent 写完代码不是说一句"我做完了"就完事,得逐条对着验收标准自检,再过一个 task-reviewer 对抗校验。这里的 Task Review Agent 又能充分利用前面细化和提案的记录来保证任务本身有没有执行歪。
这些步骤其实就为了一件事:对齐挪到前面、校验放到后面,中间写代码这段就基本能放手了。当然 Proposal 阶段偶尔也会跑偏,但概率比让 agent 直接动手低一个数量级,跑偏了 reviewer 也大概率能挡住,比撒开了写代码再改好多了。
最近 Claude Code 出了个 Workflow 功能,你说一句需求,主 agent 会动态写一段编排脚本,搞出几十上百个 subagent 并行跑不同维度的搜索、审查、合成,最后把结果收拢回来。
这玩意很牛,但解决的是另一个问题:在解空间不确定的时候,用 token 换覆盖面。单 agent 顾不过来 10 个维度,那就开 10 路并行各管一摊,再用一组对抗 agent 反驳每个发现,留下经得起怼的那批。
但 Workflow 不是左移。它是动手之后用更多 agent 探索更优解,重心在执行端的扩散和收敛。token 消耗是单 agent 的几十倍起步,而且 Workflow 本身的对齐环节相对轻,主要靠主 agent 一开始的理解,没有像左移那样反复跟用户确认。
我自己的体感是,绝大多数日常 coding 任务的瓶颈不在"探索得不够广",而在"开头没聊清楚"。开头方向歪了,扩散得再广也是在错的方向上扩散,最后还是要返工。
Workflow 适合那种你已经知道要什么、只是解空间太大、得靠对抗验证的活,解决方案探索啥的。日常开发主体还是要靠左移把对齐做扎实,我觉得目前 Harness 的最大作用不是搞出一大堆流程和 Agent 去干活,而是把你脑子里的东西对齐给 Agent 而且保证他按照这个思路执行到底
代码都在 Chorus 仓库,欢迎讨论。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.