← 返回博客
283 Net Lines and a Passport

283 行净增代码与一本护照

Ty Dunn2026年2月25日 · 4分钟阅读

昨天我提交了 29 个 PR,更新了护照,并进行了两次对话,而这两次对话恰好落在了同一个问题的两端。

30 个工单

这一天始于一份清单。Linear 项目“The Last Palooza”中有 30 个工单,这属于那种在我构建的功能与我原本打算构建的功能之间积累下的“产品债务”。侧边栏的晃动、令人困惑的按钮、本应瞬间加载却耗时两秒的页面。它们虽然都不紧急,但却决定了软件是“能用”还是“好用”。

我的方法是:8 轮、每轮 4 个并发的 Claude Code 会话,每个会话在各自的 git 工作树(worktree)中进行,先规划后执行。通过一个元规划(meta-plan)来编排每一个计划和实现。因为将 PR、Linear 工单和 Threader 会话手动关联的机械负担太耗时,我在中途开发了一个自动提交脚本。最终成果:增加 3,917 行,删除 3,634 行,净增 283 行。相比于功能的扩展,我更多是在重塑产品。

有一个工单在规划阶段被取消了。“代理页面上还有很多东西”这个描述太模糊,无法执行。这就是“先规划”工作流的价值所在。在编写代码之前发现歧义,总好过写完之后才发现。

节奏很快就稳定了下来。四个标签页是最佳选择:既能保持动能,又不会顾此失彼。我会在一个标签页审批计划,将另一个切换到 YOLO 模式(全自动运行),再检查第三个正在运行的测试任务。真正关键的是判断力:取消模糊的工单,注意到计划中未考虑到的依赖关系,知道哪些工单可以并行,哪些必须等待。其余的就交给机器去处理了。

在轮次间隙,我更新了我的护照。轮到我来满足这些要求了。

同一个问题

两次对话贯穿了全天的工作。

第一次是与一个正在快速扩张的团队对话。大额融资,众多的 SDK。文档从最初的“可选项”逐渐变成了系统的支柱。所有问题背后的核心问题是:当一切发展得如此之快时,我们该如何强制执行质量标准?

第二次是与一个没有安全网、全速构建的人对话。代理在虚拟机上并行运行,编写自己的技能,通过之前运行的轨迹进行自我修复。始终处于 YOLO 模式。但这些代理太心急了:其中一个竟然擅自提交了一个 PR,在未被指令的情况下决定使用 gh CLI。他想要速度,但他也想要保障。问题在于软件开发的每一项任务都是一次性的,而且地基在每个人脚下不断移动。

两种不同的规模,同一个问题。一个团队需要一致地执行现有知识,另一个团队则需要尚未存在的护栏。

我今天提交的每一个 PR 都通过了 27 项检查:代码规范、安全、移动端布局、可访问性、数据库迁移。人类的品味被编码为仓库中的 markdown 文件,作为 AI 代理在每个 PR 上运行,静默通过或带着修复建议报错。我设定标准,检查程序执行标准,而我决定是否发布。整个过程在 Threader 中可见:每一个计划、每一个判断、每一个 YOLO 时刻。

Chad 在本周早些时候写过这种模式,背景是 Vercel 的 57 条 React 性能规则。大多数团队会将这些规则放在 wiki 中或粘贴进代理的提示词里。两者失败的原因相同:它们都依赖于人类的记忆。将标准转化为检查程序才是解决之道。

满足要求

这就是昨天的全部内容。29 个 PR 并不是 29 次自动化行为。而是我在设定品味(取消模糊的工单、审批计划、知道何时放手让程序运行、何时叫停),而机器负责强制执行。那个扩张中的团队正处于把规则写下来的阶段,而那个激进的团队处于代理自己编写规则的阶段。我站在中间,搭建桥梁:将人类知识编码为标准,在每个 PR 上运行,并由人类做出最终决定。

但这样的一天也绘制出了一张地图。每一次干预(取消工单、补救缺失的依赖、拒绝计划)都是信号。每一次非干预(YOLO 模式平稳通过 27 项检查)同样也是信号。正如 Chad 在去年夏天所写的,干预率是新的构建时间。CI/CD 衡量的是你的交付速度,接下来要衡量的是你干预的频率有多低。

这些检查程序就是为什么我能一天提交 29 个 PR 且不偷工减料的原因。下一步是演进流程,让人们只出现在需要判断的环节。不是减少人类的参与,而是让参与更加精准。

护照更新也没什么不同。你填写表格,贴上照片,提供文件。如果有什么不对劲,就会被退回。护照办公室里没人会读你的人生故事,他们只检查你是否符合要求。标准即检查(Standards-as-checks)也是如此。

已提交工单29
已取消工单1
增加行数3,917
删除行数3,634
净增行数+283
已开启 PR29
轮次8
最大并发代理数4
每个 PR 运行的检查数27
会话期间构建的工具1
Midjourney 提示词1
已更新护照1
用户对话2

要在你自己的仓库中设置检查,请将此内容粘贴到你最喜欢的编程代理中

Create AI checks for my codebase: https://continue.org.cn/walkthrough