过去一年里交出了3400次提交,大部分通过 Claude Code、Codex CLI、PI、Gemini CLI 和 OpenCode 某种组合并行跑在同一棵工作树上完成,我对这件事是什么、不是什么形成了强烈的看法。它不是自动补全。它不是”生产力提升”。它是一种新的协作模式,而把它当作自动补全来对待的团队,把大部分价值留在了地板上。

自动补全曾经是什么

自动补全框架——大致是 Copilot 最初的定位——是:你还是那个工程师,AI 是一个更快的键盘。你思考,你打字,它补全。循环紧密,上下文是局部的,输出是逐行的。

那是有用的。它现在是当前这一代工具所做事情的一小部分。

协作模式是什么

现代 coding agent(Claude Code、Codex、Gemini、Cursor、OpenCode,随便哪个)不是在补全你的行。它在承担一个任务——有时上下文里有50多个文件,有时在运行 shell,有时迭代好几分钟,有时暂停来问一个它真正需要你回答的澄清问题。

这不是自动补全。这是一个以40倍速度工作、有完整读取你代码库权限、在你开会的时候会愉快地做90分钟研究的初级到中级工程师。

正确的类比是有一个成本低到可以并行运行的结对编程伙伴。而那个类比的含义是:你需要以和行补全时不同的方式规划工作。

我改变工作方式的五件事

1. 我总是先写规格,再实现

当我自己写代码时,我可以稍微随意一些。我最好的很多代码是那种从编辑中浮现的代码——我打出一个糟糕的版本,看它,重构,最终到达一个不错的地方。

这对 agent 不管用。给一个模糊规格的 agent 会产生模糊的实现,加上三个看起来合理的抽象,然后要你付出评审所有这些的时间。你必须提前把清晰度摆好。“建一个做 X 的东西,有这些约束,使用来自文件 Y 的这个既有模式,除非我要求,不要增加通用抽象。”

我的规格现在比我自己写代码时明确了一个数量级。单单这一点就让我的代码变得更好,不只是我的 AI 交互。

2. 我仔细阅读 diff。每一次。

当 agent 产生500行看起来能跑的代码时,有强烈的诱惑去略读并接受。不要略读。那500行经常会包含:

  • 一个你没有要求的抽象。
  • 一段描述曾经不同的代码的注释。
  • 一个发明出来的函数名,不匹配你代码库的命名约定。
  • 一个 agent 写给自己然后没有做到的 “TODO”。

这些都不是 agent 的 bug。它们是委托的成本。这个纪律和你对一个初级工程师的 PR 应用的纪律是一样的:读它,就好像你要永远维护它,因为你确实会。

3. 我同时运行多个 agent 处理不相关的任务

这是单一最大的解锁。我在一个 tmux 窗格里跑一个 agent 做后端重构,在第二个窗格里做一个文档扫描,在第三个窗格里评估一个库。它们不会冲突,因为我把它们的范围限定在仓库的不相交部分。窗格之间的切换才是我在做真正的高级工作的地方——评审、指挥、拒绝、在它们之间粘贴上下文。

这里倍增的技能是工作分解。识别三小时真正并行的工作——不是表面并行,是真正并行——并用三个 agent 来设置它,是一种没有人教过我的奇特技能,而现在我已经条件反射地做到了。

4. 我跨所有 agent 维护一个共享技能层

不同的 CLI agent(Claude Code、Codex、Gemini、PI、OpenCode)有不同的怪癖。它们共享的是项目上下文——约定、规则文件、测试命令。我在一个地方(rice-shared-skills)维护那个共享上下文,每个 agent 的规则文件是一个薄包装,包含来自那个来源的规范技能。当一个编码标准改变时,我更新一次,每个 agent 在下次激活时继承这个变化。

这个共享技能的想法不新颖。值得注意的是它一旦运行起来消除了多少日常摩擦。“等等,Claude Code 知道我们在这个 repo 里切换到 pnpm 10 了吗?“这种背景噪音就……消失了。

5. 当一个 agent 卡住时,我切换 agent

Claude Code 可能在一个特定重构的推理上陷入循环。我把同样的上下文切换到 Codex,粘贴状态,通常几分钟内就脱困了。不是因为 Codex “更聪明”——它们在绝对意义上大致相当——而是因为任何单个模型的局部最小值是不同的,同样上下文的不同模型会便宜地逃脱它们。

这是我写 raise 的原因之一:通过原子符号链接交换在17个 AI 工具之间切换,同时保留凭证,因为手动重新配置每个工具的认证和设置在吃我的时间。

这不是什么

协作模式不是的几件事:

  • 它不是高级判断力的替代品。 Agent 生成;你评审。如果你无法可信地评审,你在把随机代码发布到生产。“我无法评审这个”的标准应该是”这个 PR 不上线”,和对一个人类一样。
  • 它不是免费的。 我为它付费,成本不小。那些因为按座位费用而否掉 LLM 辅助工程的团队,是在用自动补全框架做电子表格数学,却错过了 agent 在合适的任务上15分钟做了2-3小时工作的事实。
  • 它在任务类型上不是均匀的。 Agent 擅长重构、写样板代码、生成测试、解释不熟悉的代码和写文档。它在架构决策、产品判断和任何需要与人类谈判的事上是平庸的。了解这个不对称性。

对简历的影响

如果你在2026年招聘高级工程师,而面试流程不考察候选人如何使用 AI 工具,你不是在为真正的工作面试。 真正的工作是”这个人能指挥 agent 的工作、认出 agent 何时出错、并在此基础上交付可信的代码吗”。不能做到的候选人会比能做到的慢,而且这种差距会在季度里累积。

说个安静的部分:这是我很多目前”席间”带宽去的地方。通过真实的 AI 辅助流水线跑真实的工作负载,写下什么有效什么没有,交付让模式更可靠的工具。如果你在为这种技能招聘,我在这——我有 commit 图来支持这个说法。