Jesse Vincent《我在 2025 年 9 月怎么用编程 Agent》(完整翻译版)
原文:How I’m using coding agents in September, 2025 作者:Jesse Vincent (obra) —— Superpowers 框架作者、Prime Radiant 创始人 CEO、Perl 社区资深贡献者 原发布:2025-10-05 本译版定位:完整逐段中文翻译(配少量译注)。对应另一份精读版
02b-jesse-vincent-精读版.md(若有需要)。如需快速了解请读精读版,本文是给”想读完整原文中文版”的读者准备的。
译者前言
这是 Superpowers 方法论的前传 —— GitHub 15 万 stars 的 Superpowers 框架,把这一篇里描述的工作流工程化。建议你先把原文从头到尾读完,再回头看精读版的金句和点评。
下面是逐段翻译。所有方括号 [] 内是 Jesse 自己写的元注;所有 🟢 译注: 是我加的。
[眼尖的读者会注意到,我在写这篇时已是 2025 年 10 月。本文记录的是我两周前的做法。它依然有效,我依然推荐。]
自我夏初上次写这个话题以来,我用 AI 编程助手的方法论又演进了一些。这是一个时间切片记录 —— 写下当下对我相当有效的一套工作流。我目前主要还是用 Claude Code。
首先,这是我此刻在用的 CLAUDE.md。它把一堆流程文档和规则编码在一起,在让 Claude 不跑偏这件事上做得相当不错。
当我要在一个已有项目里开始一个新任务时,我会想方设法用 git worktree 把这个工作和其他任务隔离开。 这件事对我越来越重要,因为我经常在同一个 codebase 上同时跑 3-4 个并行项目。
cd the-project
mkdir .worktrees # 第一次时建
cd .worktrees
git worktree add some-feature-description
cd some-feature-description
npm install # 或者其他项目设置命令
npm lint
npm test # 确保从一个干净的基线开始
claude
🟢 译注:worktree 是这套打法的物理基础。一旦你开始并行跑 Claude,文件冲突是头号杀手。worktree 给每个任务独立目录,从根本上消除冲突。
Claude Code 启动后,我会用我的 “头脑风暴 prompt”:
我有一个想法想跟你聊一下。我希望你帮我把它变成一个完整的设计和规格(并最终变成一份实施计划)。
先看看我们工作目录里项目当前的状态,理解我们从哪里出发,然后向我提问 —— 一次问一个问题 —— 来帮我细化这个想法。
最理想是多选题,但开放性问题也可以。别忘了:每条消息只问一个问题。
当你确信你理解了我们要做什么之后,停下来,把设计描述给我听,**每次描述大概 200-300 字**,每段之后问我 "到目前为止看起来对吗?"
最后一段特别关键。我发现 AI 模型一旦觉得 “做完了”,就特别爱甩一大段文字给我。而面对 agent 写出来的一大段文字,我就特别容易扫一眼然后想 “看起来还行吧”。通过命令 Claude 一次只输出 200-300 字,我更可能真正读进去并参与判断。
🟢 译注:把 “信息密度” 当作人机协作的可控变量,这是这篇里最朴素也最深刻的洞察之一。
走完头脑风暴后,我对自己要做什么、Claude 要做什么,通常已经清晰得多。Claude 会把设计写到 docs/plans/ 某个地方。
它经常很想直接跳进实现,但那不是我想要的工作方式。有时它会在我能阻止它之前就开始写代码。这种时候我按几下 ESC,把对话回退一点抓住它。最近我对 CLAUDE.md 的更新显著降低了它这种倾向。
接下来是规划环节。我用的规划 prompt 是:
很好。我需要你帮我写一份完整的实施计划。
假设这个工程师对我们的 codebase 一无所知,品味也存疑。把他需要知道的一切都文档化:每个任务要碰哪些文件、代码、测试、可能要查的文档、怎么测试它。
把整个计划拆成一口大小的任务给他。DRY、YAGNI、TDD、频繁 commit。
假设他是个熟练的开发者,但对我们的工具栈和问题域几乎一无所知。假设他不太懂好的测试设计。
请把这份计划完整、详细地写到 docs/plans/。
这会产出一份把所有事拆成微小步骤的计划,每一步都有清晰的指令和紧凑的上下文。这意味着到执行时,我通常不需要密切的逐步监督。
接下来,我在同一个工作目录开一个新的标签页或新窗口,启动另一个 Claude。我会跟它说类似:“请读 docs/plans/this-task-plan.md 和 <我们刚才命名的设计文档>。如果有问题告诉我。”
它通常会说计划写得很好。有时它会指出错误或不一致。这时我戴上 PM 的帽子,转回去让”架构师”那个 session 澄清或更新规划文档。
🟢 译注:“架构师 + 实施者”双 session 是这篇的核心机制。它本质上模拟了软件工程里”开发者 + 代码评审”的两人结构,只不过两人都是 Claude。
把计划的问题理顺之后,我让”实施者” Claude 执行:请执行前 3-4 个任务。如果有问题,停下来问我。绝对不要偏离计划。
实施者会埋头干活。
干完后,我切回 “架构师” session,告诉它:实施者说它做完了 1-3 任务。请仔细检查工作。
我又演 PM —— 在两个 session 之间复制粘贴评审和问答。等架构师签字通过,我让实施者把规划文档更新成当前状态。
然后,我不 /compact(压缩历史)。我直接 /clear 把实施者清空,从第 4 个任务开始重新对话。
🟢 译注:这一招是反直觉的关键。你以为长 session 保留上下文是好事,实际上 context 一长 LLM 就开始 “context rot”,质量越往后越差。每个任务块开始时清空 + 用规划文档做接力,反而保证每一轮都从满血状态出发。Ralph Loop 同样的物理原理。
下一块工作做完时,我切回架构师。我通常双击 ESC 把架构师重置到一个更早的检查点,告诉它评审到当前最新检查点。这降低架构师的 context 膨胀,让它没有上一轮实施带来的偏见重新看一遍。
(我有些朋友不用多 session,而是发誓只让实施者用 “以新鲜的眼光”(
with fresh eyes)审一遍自己最近的工作就够了。这个魔法短语似乎相当有效。我还是认为有两个不同的 actor 更好。)
🟢 译注:
with fresh eyes是个很有意思的发现 —— 同一个 session 里,加这句话就能触发不同的注意力模式。
实施者最终干完、架构师签字之后,我让实施者推到 GitHub 创建 PR。
这会触发一次 CodeRabbit 代码评审。我发现 CodeRabbit 的评审在抓细节和逻辑问题上很好,但有时抓不住项目的真实设计意图或约束,会给出糟糕的建议。
CodeRabbit 的评审会给 AI agent 提供修复用的 prompt,但把这些 prompt 拿回到你的编程 agent 是件麻烦事 —— 你得一条条复制,而且它只对部分类型的问题给 prompt。我做了 coderabbit-review-helper 来解决这个问题:它把 CodeRabbit 各种类型的评审评论都挖出来,格式化成一大段文字给你的编程 agent 一口气啃。
唯一的问题是 —— 我们的机器人朋友相当好骗。你把一份指令清单粘给它,Claude 就照单全收 —— 哪怕你要求的事又疯又错。
我目前对此最好的应对是一点角色扮演,给编程 agent 一个不盲目相信代码评审的理由。每个评审前面我都加上这一段:
有一位评审者对这个 PR 做了一些分析。他是外部人,从零开始读 codebase。这是他对这次改动的分析,我希望你仔细评估这份分析和这位评审者本人。
1) 我们应不应该雇这位评审者?
2) 他标出来的问题里,哪些应该修?
3) 他提的修法是正确的修法吗?
任何应该修的,加到你的 todo list。
任何应该跳过的,现在告诉我。
CodeRabbit 这位 “评审者” 通常会拿到一个 “Strong hire”(强烈录用) 的评价。但偶尔 Claude 也会报告说**“这位评审者在技术上看起来相当熟练,但没花时间理解我们的项目,提了不少错误的建议。No hire(不录用)。”**
🟢 译注:绝妙。把 “评估代码评审” 重新框架成 “评估候选人面试表现”,一举把 Claude 从 “听话执行” 切换到 “批判判断” 模式。这是 prompt engineering 的高阶艺术 —— 不是改字句,是改任务身份。
如果你决定试试这套方法论,或者你搞出了对你更好用的别的方法,请发邮件给我:jesse@fsck.com。
© 1996–2026 Jesse Vincent. All rights reserved.
译者总评(发布时可作结尾)
读完这篇,你应该带走 5 件东西:
- Worktree 是物理基础 —— 没它,并行 agent 注定撞车
- 架构师/实施者双 session —— 单 session 是上一时代的事
- 每段输出限制在 200-300 字 —— 让人能读懂、读得进
/clear>/compact—— 把每个任务块当作”全新员工 + 工作交接文档”- 角色扮演重塑任务 —— “该不该雇这个评审者” 远远好过 “修不修这些 issue”
这篇的更深价值:它示范了一种 “人作为 PM” 的工作姿态。如果你还在用 “AI 是我的副驾驶” 心态,你已经落后了一年。
🔗 调研来源(可校验)
- 原文:How I’m using coding agents in September, 2025
- 同作者博客主页:blog.fsck.com
- 工程化版本:obra/superpowers (GitHub, 15 万 stars)
- 相关工具:obra/coderabbit-review-helper
- Wikipedia 条目:Jesse Vincent
- 同作者 GitHub:github.com/obra
- 相关推荐:Hammad Haqqani - Superpowers Plugin Guide