
§1 — 删除#
2026-05-04,在提交 f25d2d5f 中,我从一个仓库里删掉了 34,523 行代码。1
一百二十二个文件。一个围绕十二个工具构建的遗留功能面,被压缩成四个工具。不是因为那十二个工具坏了 —— 它们能工作。也不是因为项目失败了 —— 它有 2,727 次提交,横跨四个半月的活跃开发。删除之所以发生,是因为十二工具功能面从一开始就是一个探针,而探针已经返回了读数。
留下来的四个工具,是那些积累了真实使用的工具。没留下的八个并不是失败。它们是用可运行代码提出的问题,而答案返回来了:不需要。在 AI 之前的构建经济里,为了弄清十二个工具里有四个值得保留而把十二个都交付出去,成本会高到难以承受 —— 团队要花数周时间,才能发现如今一次提交就能丢弃并替换的东西。经济条件已经改变。
什么样的实践会长成这样?什么样的成本模型,会让一次 34,523 行代码的删除看起来像好工作,而不是鲁莽?
这次删除不是在混乱中发生的。同一个仓库里有 .claude/hooks/gha-tdd-guard.mjs —— 一个 hook,用来阻止没有同级测试文件的生产代码被提交。它的 AGENTS.md 里写着规则:“超过 500 行的计划,在 Phase 1 提交之前需要 Codex 审计。”那 34,523 行是在结构之内被移除的。结构才是重点,而这个故事开始于这些代码存在之前几十年。
§2 — 为什么旧习惯曾经理性#
Frederick Winslow Taylor 发明细致计划,并不是因为他觉得工人愚蠢。他这么做,是因为工人面对一个真实的物理约束:“他在机器前工作和在桌前工作,在物理上不可能同时进行。”2
他的解决方案是架构性的。计划专家在计划室工作;执行工人在工厂车间工作。“每个工人的工作,都由管理层至少提前一天完整计划出来,并且在多数情况下,每个人都会收到完整的书面指令,详细说明他要完成的任务。”2 泰勒的理由是认知专业化和物理不可能性 —— 但他搭建的结构编码了一种特定的成本不对称。计划时间是更便宜的变量:它只需要思考、纸张和专家注意力,这些都不会磨损机器,也不会消耗材料。执行时间才是昂贵的瓶颈:它需要工厂车间里的时间、金钱和协调。
“成本不对称”这个框架,是本文从泰勒的结构中作出的推论,不是泰勒明说的主张。泰勒描述的是他观察到的高效组织。但他观察到的结构,正在回应那个时代的经济条件:相对于行动,思考便宜。
这种不对称塑造了一个世纪的职业文化。细致计划的伦理,并不是一种性格特质,也不是伪装成美德的东西 —— 它是一种成本优化的启发式方法,校准于一个执行才是稀缺且昂贵资源的环境。当构建任何东西都需要时间、金钱和协调时,思考必须代替测试完成测试的工作。那个在脑中模拟后说“这个设计行不通”的过程,节省了数周本来会证明同一件事的物理劳动。旧习惯是理性的。问题是,曾经支撑它的成本是否仍然成立。
§3 — 等待自身经济条件的方法#
托马斯·爱迪生并没有发明经验方法。他是在没有足够理论可替代它的时刻,把它工业化了。
门洛帕克实验室为白炽灯泡进行了数千次灯丝测试 —— 系统测试材料,记录结果,用失败约束下一次猜测。特斯拉同时代的批评在技术上是准确的:“只要一点理论和计算,就能为他省下 90% 的劳动。”3 特斯拉漏掉的是,在没有足够理论可供计算时,总成本如何计算。维基百科对爱迪生方法的描述很精确:他诉诸试错,具体是因为“缺乏足够理论,或不知道有足够理论”。3 当理论可用时 —— 焦耳定律和欧姆定律可用时 —— 爱迪生会使用理论。枚举是在预测理论上最优、实践上却不可用时的剩余策略。
重点不是爱迪生很聪明,也不是特斯拉错了。重点是,经验性枚举一直是一种有效的认识论。限制它的是每次试验的成本:每次测试都需要构建一个物理组件,运行一次物理实验,手工记录结果。方法是古老的。约束是经济性的。
改变软件计算方式的,并不是一个新想法。而是经验方法已经等待了一个世纪的经济条件终于到来。
§4 — 成本坍缩,用数字说#
三个代码库,大约五个月,约 4,929 次提交,跨一个插件 linter、一个 Tauri 编辑器和一个 Tauri 桌面控制面板,合计约 1,177,000 行代码 —— 由一个人从零开始构建,没有线上用户。4 至少三次明确的丢弃事件:一次 34,523 行删除,一个两天后丢弃的 568 MB 归档,一次重构中生产 LOC 减少 70%。
这些都是作者自己的仓库。这一点很重要,而它们能证明什么、不能证明什么,会在 §9 中直接处理。
| 仓库 |
提交数 |
活跃天数 |
代码行数 |
重要丢弃事件 |
| nlpm |
1,109 |
50 |
28,706 |
9 分钟内重命名 flag(第 2 天) |
| vmark |
2,727 |
~135 |
— |
34,523 行删除(提交 f25d2d5f) |
| claudepot |
1,093 |
31 |
223,303 |
568 MB 单体归档,2 天后重启 |
| 合计 |
~4,929 |
~5 个月 |
~1,177,000+ |
3 次明确丢弃事件 |
第一版构建成本已经坍缩。不是总生命周期成本 —— 运维成本、维护债务、审计费用都仍然存在,并会在维护周期中复利增长。但构造一个第一版、让某个东西跑起来以判断形状是否正确的成本,已经下降到不再是“到底应该测试还是预测”这个决策中的约束瓶颈。
nlpm(Natural-Language Programming Manager):50 天内 1,109 次提交,28,706 行代码。4 峰值速度:一天内 92 次提交。第一天,九分钟内七次提交搭起核心脚手架。第二天,一个 20:11 引入的 flag 在 20:20 被重命名 —— 从识别到执行,九分钟的决策周期,零协调开销,零分支协商,零上下文切换税。仓库有 13 个 GitHub Actions workflow,且没有外部 Python 依赖。速度处在结构之内。
claudepot:568 MB 单体 —— 一个营销站点、ingest pipeline 和内容目录打包在一起 —— 在两天工作后于 2026-04-14 被归档。4 随后从零重启,变成一个聚焦的 Tauri 2 应用。31 天内,1,093 次提交,223,303 行代码;1,700+ 个 Rust 测试和 400+ 个 JavaScript 测试;某次提交写着“audit fix: address 39 of 40 Codex audit findings”;随后一次重构把生产 LOC 从 817 减到 253 —— 一次通过减少 70%。那个 568 MB 归档不是残骸。它回答了一个问题:这个形状不合适。这个答案就是两天工作的交付物。
三个案例合在一起展示了这套逻辑:构建、测量、保留或删除。判断装置 —— 规则文件、TDD guard、跨模型审计循环 —— 让速度有方向,而不是滑向混乱。一个有 10+ 个 .claude/rules/ 规则文件、有一个 CLAUDE.md 命名四个名词组成的领域模型、提交日志里包含 codex audit-fix 循环的开发者,并不是贬义上的 vibe coding。装置始终在场。
§5 — 机制的命名#
当构建第一版的成本低于预测这一版会发现什么的成本时,最优策略就会倒转。
这不是偏好,也不是审美。这是算术。如果细致分析一个十二工具 MCP 表面是否会被真实使用,需要三天专注注意力 —— 架构评审、用户研究、优先级会议 —— 而构建这个十二工具功能面并测量实际使用,只需要两天加一次把测量结果落地的提交,那么预测就成了昂贵路径。现实成了更便宜的分类器。
那 34,523 行被删除的代码不是残骸 —— 它们是信号。残骸本身就是测量结果。仪器被用完了,不是被浪费了;温度计并不会因为已经测过温度而变得没用。
568 MB 的 claudepot 单体回答了“这个形状不合适”。这个答案正好值两天第一版构建成本 —— 同一个答案,用三周架构规划也许能得到,也许得不到,而且预测开销更高,准确性没有保证。探针不是产品。探针产生产品决策所需要的数据。
论证在这里转向。前几节说明,在旧成本下,旧的细致计划习惯是理性的。案例研究说明,成本已经在一定范围内发生变化。机制 —— 策略倒转的那个点 —— 就是成本交叉点:测试变得比预测更便宜,现实变得比预见更可靠。国际象棋和制药业,都比软件更早触达了这个交叉点。
§6 — 两个领域,同一个结果#
1973 年,西北大学 Chess 4.x 团队放弃了基于启发式的选择性搜索,转向全宽度蛮力搜索。他们的发现是成本比较性的:简单枚举所有可用走法所需的时间,显著少于应用知识密集型启发式方法挑选少数有希望走法所需的时间。枚举器击败启发式玩家,不是因为它更聪明,而是因为它让搜索变得比预测更便宜。Chess 4.x 在 1970 到 1979 年十届 ACM 计算机国际象棋锦标赛中赢了八届;一位国际象棋史学者指出,它奠定了现代国际象棋程序至今仍在遵循的范式。5 当枚举变便宜时,专家式启发选择就失去了竞争优势。
制药业在 1990 年代走了一条结构上完全相同的路。高通量筛选 —— 对大型化合物库进行自动化实验测试 —— 随着机器人技术和微型化降低了每次实验测定的成本,成为药物发现中的确认层。计算预测并没有消失;它演化成了前置过滤器。一篇同行评审综述确认,“计算机辅助药物设计,例如生成虚拟库……如今已成为标准流程” —— 先定义更可能产生命中的化学空间子集,再由更昂贵的物理筛选来确认。6 虚拟筛选成为第一遍;HTS 成为验证。预测没有死。它改变了功能。
制药案例预示了 §7 接下来要讲的东西:当实验测试足够便宜时,预测并不会从管线中消失。它会迁移。它变成便宜的第一遍,先缩小空间,然后让更可靠的分类器 —— 实际实验 —— 作出判断。软件计划正在经历同样的结构调整。四功能分解,就是这次调整的地图。
§7 — 四种功能;失去工作的那一种#
在问计划的哪些部分会存活之前,先问计划实际上在做什么,会更有帮助。
基于 Suchman 1987 年关于计划是“行动资源”而不是控制结构的论证,以及 Mintzberg 1994 年对 planning-as-prediction、planning-as-coordination-device、planning-as-control-device、planning-as-communication-device 的区分,本文识别出四种可分离的功能:7
过滤 —— 在花费资源之前,排除不可能或极不可能奏效的路径。这个功能回答的是:如果 A 版本会因为我们可以预见的原因失败,我们还需要构建 B 版本吗?
协调 —— 在多方行动之前,让他们围绕一个共享模型对齐。团队、利益相关方、依赖关系都需要共同框架。计划提供这个框架。
可读性 —— 让预期工作对将要评估、资助或继承它的人可见。未来的自己、资助者、合作者和管理者,都需要理解正在发生什么。
通过想象进行练习 —— 计划这个行为会发展领域理解。思考一个功能将如何运作,会教给构建者一些关于领域的东西;运行代码最终也会教这些东西,但在构建昂贵时,想象更快、成本更低。
当第一版构建成本坍缩时,只有第一种功能 —— 过滤 —— 把工作输给了一个更便宜的竞争者。现实成了比预见更好的过滤器:它抓住计划遗漏的边界情况,它不受计划者盲点影响,而且它的成本永远不会高于构建那个揭示答案的版本。
协调、可读性和通过想象进行练习,全部原样存活。团队仍然需要对齐。项目仍然需要对利益相关方可见。构建者仍然会从预先推演自己将要做的事中获益。执行成本坍缩并不会触碰这三个功能。装置并不替代它们 —— 它只替代过滤功能,而另外三个功能继续在规则层,而不是结果层运作。
本文的原创贡献,是把成本机制过滤器加到这个分解之上。既有工作(Suchman、Mintzberg)描述了这些功能。本文的分析动作,是回答当构建成本下降时,究竟哪个功能被具体淘汰,哪些功能存活。答案是:过滤变得冗余;其余功能没有。
对读者关于删除代码和丢失知识的担忧,还有一个安静的推论。知识存在于探针的结果中 —— 存在于运行代码后学到的东西中 —— 而不是存在于代码本身。被删除的 nlpm flag,被归档的 claudepot 单体:被用完的是仪器,不是知识。知识住在测量里,不住在温度计里。
§8 — 反方证据语料#
最强反方论证,值得以它最强的形式出现,而不是以最弱的形式出现。
2026 年的反方证据语料不只是 CodeRabbit 2025 年 12 月的报告 —— 尽管那项分析 470 个 pull request 的研究发现,AI 共同编写的代码每个 PR 产生的问题约为纯人类代码的 1.7 倍(10.83 vs. 6.45),其中跨站脚本漏洞在 AI 代码中的比例具体达到 2.74 倍。8 那项研究使用基于信号的作者分类,而不是确认过的归因,并且由一个有商业利益去呈现 AI 代码问题的厂商完成 —— 这两个都是合理限定,但都不能解释掉这个发现。
2026 年更强的条目,是 Liu 等人的大规模实证研究 —— 跨 6,299 个 GitHub 仓库、302,600 次已验证的 AI 作者提交,追踪五种 AI 编码助手。标题级发现是:每个工具产生的提交中,超过 15% 至少引入一个问题。更重要的是,22.7% 被追踪的 AI 引入问题,存活到了仓库的最新版本。9 这不是对 470 个 PR 的厂商分析;它是对 302,600 次提交的系统检查,而持久存在比例 —— 几乎四分之一的 AI 引入问题仍存在于最新版本 —— 是对维护债务的直接测量。这项研究是 arXiv 预印本,尚未经过同行评审,这是一个真实限制;但其方法论(用明确 Git 元数据做作者分类,而不是信号推断)显著比 CodeRabbit 的做法更可靠。
METR 2025 年 7 月的随机对照试验发现,16 名经验丰富的开源开发者,在允许使用 AI 工具时,完成任务反而慢了 19% —— 而且是在他们自己成熟代码库上工作,平均有五年过往贡献经验。10 METR 自己 2026 年 2 月的后续研究让情况复杂起来:同一批人返回,在 2025 年末的一次测量中显示 18% 提速 —— 但 METR 明确声明这个数字因严重选择偏差而不可靠。30% 到 50% 的开发者避免提交那些没有 AI 就不想完成的任务,使测量朝相反方向变得不可靠。11 原论文没有被撤回;后续数据也不是生产力提升的证据 —— METR 称它“只能非常微弱地证明这种提升的规模”。诚实读法是:此刻 AI 生产力太依赖群体,难以干净测量;原先 19% 放缓的发现不应被当成定论。
这组反方证据语料不是对本文的反驳。它是本文的预测。
本文的主张是:当第一版构建成本坍缩时,装置 —— 规则文件、TDD guard、审计循环、跨模型评审 —— 是判断所必需的替代落点。2026 年的数据直接证明了,当这种装置缺席时,在总体规模上会发生什么。CodeRabbit 的样本、Liu 等人研究中的 6,299 个仓库、METR 测得的开发者 —— 这些都是没有本文案例所描述的系统性判断装置时的 AI 辅助开发样本。反方证据语料以规模展示了装置存在的目的:防止这些东西发生。
本文对此的诚实立场是:装置是必要的。任何装置是否足以弥合总体规模上的差距 —— 是否能把 22.7% 的持久存在率压到与细致人工开发相当的水平 —— 是一个本文没有解决的实证问题。本文只有一个自律从业者的数据。那不是受控实验。
§9 — n=1 问题,以及符合论证的失败#
幸存者偏差这个反对意见,应该被点名,而不是被软化成范围免责声明。
三个案例研究共享三个限制它们证明力的属性:它们都由同一位作者构建;这位作者就是本文作者;而作者使用的判断装置,是在这些案例开始之前多年组装起来的。.claude/ 基础设施、规则文件、跨模型审计工作流 —— 这些都不是 nlpm 开始时才凭空出现的。它们已经在场。案例研究测量的是“给定装置之后”的结果,不是一个从业者第一次接触这种方法时的结果。
给这个元投资命名:这个装置代表了多年有意投入的、被编码下来的判断。读到本文并试图复制这种实践的开发者,会面对一个 bootstrap 问题 —— 装置需要时间来构建,而构建装置本身就是一种结果预测练习(哪些规则会成立,哪些约束能泛化)。这些案例不是一个拥有 AI 工具的中位开发者会产出什么的基准。它们是机制演示 —— 证明成本坍缩是真实的,并且在判断装置之内进行有方向的经验主义,在结构上是可行的。
给失败命名:568 MB 的 claudepot 单体在 §4 中被呈现为放弃选项的展品 —— 证明丢弃一个不合适的形状,成本是两天而不是两个月。这是准确的。它也证明装置没有阻止失败。两天工作进入了一个不合适的形状,而装置在这两天被花掉之前,没有捕捉到形状错配。装置控制了成本;它没有消灭错误。二者不同。第二个例子:被放弃的 com.claudepot.app fork,95 次提交,于 2026-04-14 被放弃。装置在场。方向错了。成本很低;失败真实。
装置没有阻止失败。它控制了失败。
给证伪条件命名:什么证据会反驳机制主张?一个受控比较 —— 同一从业者在等价绿地项目上,有装置与无装置的对照 —— 如果有装置版本仍然产生反方证据语料所记录的总体规模失败模式,就会反驳这个机制主张。这样的研究不存在。在它存在之前,本文主张是一项关于哪些条件会倒转成本计算的假设,而不是一项证明装置就是解释变量的演示。
本文提出假设。它不能确认假设。
§10 — 计划迁移;问题仍然开放#
处方不是“少计划”。而是“换一种方式计划”。
在旧经济中,计划预测结果:将构建什么、哪些功能会成功、用户会如何反应、会出现哪些边界情况。这些预测在成本上是有理由的,因为替代方案 —— 通过构建来发现 —— 很贵。在新经济中,在制品可以被构建、机器检查并廉价丢弃的领域里,这一层面的结果预测,绕过去比执行它更便宜。外科手术明确不是这样的领域。有真实用户的线上生产系统、受物理制造约束的硬件、土木基础设施,也都不是。范围是真实的。
存活下来的是规则预测 —— 不是预测这个项目会发生什么,而是预测哪些约束将统治所有项目。规则文件、TDD guard、跨模型审计要求:这些也是预测,只是处在不同成本粒度上。一条规则设计一次,应用于许多次构建;一个结果预测做一次,测试一次。结果预测的成本计算已经倒转;规则预测的成本计算没有倒转。计划有了新的对象,不是新的判决。
Karpathy 在 2026 年 4 月命名了这个结构性问题。他写道,在 agentic engineering 中,“你负责品味、工程、设计,以及这个系统是否说得通。”12 这个框架把工艺和监督放在中心,方向上是对的。本文的贡献,是解释为什么这种结构现在在经济上最优的机制:结果预测已经成为昂贵路径,而装置才是细致斟酌如今应当居住的地方。Karpathy 从另一条路抵达了目的地。成本机制解释了为什么这个目的地是稳定的。
判断装置是新的承重投资。不是冲刺,不是交付速度,不是提交数量。判断装置把有方向的经验主义和无方向的乱撞区分开来,也把本文中的案例研究与 Liu 等人测量到的总体区分开来。它是否足以在总体规模上弥合差距,是下一个实证问题。本文识别了它;本文没有回答它。
新经济中的英雄,不是移动最快的构建者,而是设计出让快速移动有方向的装置的构建者。约束、装置、规则:预测现在住在这些地方。不是消失。是迁移。
参考文献#
- Author's own vmark repository: https://github.com/xiaolai/vmark. Commit
f25d2d5f, 2026-05-04. Full commit message: "Hard cut of the legacy MCP surface — 122 files, ~34,500 lines deleted." Numbers extracted 2026-05-13; reproducible via git show f25d2d5f --stat. ↩
- Taylor, F.W. The Principles of Scientific Management. Harper & Brothers, 1911. Chapter 2. Project Gutenberg EBook #6435. marxists.org/reference/subject/economics/taylor/principles/ch02.htm ↩↩2
- "Edisonian Approach." Wikipedia. Fetched 2026-05-13. Tesla quote: Nikola Tesla, as cited in Wikipedia, confirmed verbatim. Also: "The Edisonian Method: Trial and Error," Springer Nature, link.springer.com/chapter/10.1007/978-3-030-29940-8_10. ↩↩2
- Author's own repositories: claudepot-app (https://github.com/xiaolai/claudepot-app, 1,093 commits, first commit 2026-04-12); nlpm (https://github.com/xiaolai/nlpm-for-claude, 1,109 commits, first commit 2026-03-25); vmark (https://github.com/xiaolai/vmark, 2,727 commits). Numbers extracted 2026-05-13 and reproducible via git log. ↩↩2↩3
- "Chess (Northwestern University)." Wikipedia. Fetched 2026-05-13; ACM championship record confirmed; brute-force vs. selective-search paradigm shift confirmed. Also: chessprogramming.org/ACM_1974. ↩
- Baig, M.H. et al. "Combinatorial chemistry and drug discovery." PMC5645069. Journal of Biosciences, 2017. pmc.ncbi.nlm.nih.gov/articles/PMC5645069/ ↩
- The four-function decomposition is the article's analytical contribution, refining prior work: Suchman, L. Plans and Situated Actions. Cambridge University Press, 1987 (plans as resources for action, not control structures); Mintzberg, H. The Rise and Fall of Strategic Planning. Free Press, 1994 (planning as prediction, coordination, control, and communication). ↩
- CodeRabbit. "State of AI vs Human Code Generation Report." coderabbit.ai/blog/state-of-ai-vs-human-code-generation-report, December 17, 2025. Independent coverage: The Register, December 17, 2025. theregister.com/2025/12/17/ai_code_bugs/ ↩
- Liu, Y., Widyasari, R., Zhao, Y., Irsan, I.C., Chen, J., & Lo, D. "Debt Behind the AI Boom: A Large-Scale Empirical Study of AI-Generated Code in the Wild." arXiv:2603.28592. Submitted March 30, 2026; revised April 26, 2026. arxiv.org/abs/2603.28592 (arXiv preprint; not yet peer-reviewed as of 2026-05-13.) ↩
- METR. "Measuring the Impact of Early-2025 AI on Experienced Open-Source Developer Productivity." metr.org/blog/2025-07-10-early-2025-ai-experienced-os-dev-study/, July 10, 2025. arXiv:2507.09089 (preprint; not yet peer-reviewed as of 2026-05-13.) ↩
- METR. "We are Changing our Developer Productivity Experiment Design." metr.org/blog/2026-02-24-uplift-update/, February 24, 2026. ↩
- Karpathy, A. "Sequoia Ascent 2026 summary." karpathy.bearblog.dev/sequoia-ascent-2026/, April 30, 2026. Quote confirmed verbatim. ↩
延伸阅读#
- Suchman, L. Plans and Situated Actions: The Problem of Human-Machine Communication. Cambridge University Press, 1987. — 奠定“计划是行动资源,而不是控制结构”这一论证的基础。§7 的四功能分解直接建立在它之上。
- Mintzberg, H. The Rise and Fall of Strategic Planning. Free Press, 1994. — 区分 planning-as-prediction 与 planning-as-coordination、-control、-communication。本文的四功能分解细化了这个早期分类,并用成本机制过滤器扩展它。
- Taylor, F.W. The Principles of Scientific Management. Harper & Brothers, 1911. Project Gutenberg EBook #6435. — 通读它,可以理解计划-执行分离的原始形态。§2 中的成本不对称框架,是本文从泰勒结构中作出的推论;原文确认了泰勒构建了什么以及为什么构建。
- Karpathy, A. "Vibe Coding." x.com/karpathy/status/1886192184808149383, February 2, 2025. — 命名了本文所分析实践的造词。本文的论证不依赖 Karpathy 的框架,但确实通过他建立的词汇进入当前讨论。
- Ries, E. The Lean Startup. Crown Business, 2011. — build-measure-learn 循环部分预示了本文的论证,但它所处的成本结构中,“build”仍意味着数周。它是理解本文正在更新什么、以及为什么这个更新并非小事的有用背景。
Prediction Was a Substitute for Testing

§1 — The Deletion#
On 2026-05-04, commit f25d2d5f, I deleted 34,523 lines of code from a single repository.1
One hundred and twenty-two files. A legacy surface built around twelve tools, collapsed down to four. Not because the twelve were broken — they worked. Not because the project was failing — it had 2,727 commits spanning four and a half months of active development. The deletion happened because the twelve-tool surface was always a probe, and the probe had returned its reading.
The four tools that survived are the ones that accumulated real use. The eight that didn't aren't failures. They were questions, phrased in running code, and the answers came back: not needed. In a pre-AI build economy, shipping twelve tools to learn that four were worth keeping would have been prohibitively expensive — weeks of team-time to discover what a single commit now discards and replaces. The economy has changed.
What kind of practice looks like this? What cost model makes a 34,523-line deletion look like good work rather than recklessness?
The deletion didn't happen in chaos. The same repository holds .claude/hooks/gha-tdd-guard.mjs — a hook that blocks production code from being committed without a sibling test file. Its AGENTS.md carries the rule: "Plans >500 lines require Codex audit before Phase 1 commits." The 34,523 lines were removed inside structure. The structure is the point, and the story begins decades before any of this code existed.
§2 — Why the Old Habit Was Rational#
Frederick Winslow Taylor did not invent careful planning because he thought workers were stupid. He invented it because workers faced a genuine physical constraint: "it would be physically impossible for him to work at his machine and at a desk at the same time."2
His solution was architectural. Planning specialists worked in the planning room; execution workers worked on the factory floor. "The work of every workman is fully planned out by the management at least one day in advance, and each man receives in most cases complete written instructions, describing in detail the task which he is to accomplish."2 Taylor's rationale was cognitive specialization and physical impossibility — but the structure he built encoded a specific cost asymmetry. Planning time was the cheaper variable: it required only thought, paper, and specialist attention, none of which wore out machinery or consumed materials. Execution time was the expensive bottleneck: it required time, money, and coordination on the factory floor.
The cost-asymmetry framing is the article's inference from Taylor's structure, not Taylor's stated claim. Taylor was describing what he observed about efficient organization. But the structure he observed was responding to the economics of its moment: thought was cheap relative to action.
That asymmetry shaped a century of professional culture. The careful-planning ethos is not a personality trait or a virtue in disguise — it is a cost-optimized heuristic, calibrated to an environment where execution was the scarce and expensive resource. When building anything required time, money, and coordination, thought had to do the testing's job. The mental simulation that said "this design will not work" was saving the weeks of physical work that would have demonstrated the same thing. The old habit was rational. The question is whether the costs that justified it still apply.
§3 — The Method That Waited for Its Economics#
Thomas Edison did not invent the empirical method. He industrialized it at a moment when no adequate theory existed to replace it.
The Menlo Park laboratory ran thousands of filament tests for the incandescent bulb — materials tested systematically, results recorded, failures used to constrain the next guess. Tesla's contemporaneous critique was technically accurate: "just a little theory and calculation would have saved him 90 percent of the labour."3 What Tesla missed was the total-cost calculation when no adequate theory existed to perform the calculation from. Wikipedia's characterization of Edison's method is precise: he resorted to trial-and-error specifically "in the absence of, or lack of awareness of, adequate theories."3 When theory was available — Joule's and Ohm's laws — Edison used it. Enumeration was the residual strategy when prediction was theoretically optimal but practically unavailable.
The point is not that Edison was brilliant or that Tesla was wrong. The point is that empirical enumeration was always a valid epistemology. What gated it was cost per trial: each test required building a physical component, running a physical experiment, recording results by hand. The method was ancient. The constraint was economic.
What changed the calculus for software was not a new idea. It was the arrival of economics that the empirical method had been waiting a century for.
§4 — The Cost Collapse, in Numbers#
Three codebases, approximately five months, roughly 4,929 commits and 1,177,000 lines of code across a plugin linter, a Tauri editor, and a Tauri desktop control panel — built by one person, all greenfield, with no live users.4 At least three explicit disposal episodes: a 34,523-line deletion, a 568 MB archive discarded after two days, a 70% production LOC reduction in a single refactor.
These are the author's own repositories. That matters, and the limits of what they prove will be addressed directly in §9.
| Repository |
Commits |
Active Days |
Lines of Code |
Notable Disposal Event |
| nlpm |
1,109 |
50 |
28,706 |
9-minute flag rename (day 2) |
| vmark |
2,727 |
~135 |
— |
34,523-line deletion (commit f25d2d5f) |
| claudepot |
1,093 |
31 |
223,303 |
568 MB monolith archived after 2 days; restarted |
| Combined |
~4,929 |
~5 months |
~1,177,000+ |
3 explicit disposal episodes |
The first-pass build cost has collapsed. Not total lifecycle cost — operational costs, maintenance debt, audit expense all persist and compound across maintenance cycles. But the cost of constructing a first pass, of getting something running to learn whether the shape is right, has dropped to where it is no longer the binding constraint in the decision of whether to test or predict.
nlpm (Natural-Language Programming Manager): 1,109 commits in 50 days, 28,706 lines of code.4 Peak velocity: 92 commits in a single day. On day one, seven commits in nine minutes scaffolded the core. On day two, a flag introduced at 20:11 was renamed by 20:20 — a nine-minute decision cycle from recognition to execution, with zero coordination overhead, zero branch negotiation, zero context-switch tax. The repository has 13 GitHub Actions workflows and zero external Python dependencies. The speed sits inside structure.
claudepot: 568 MB monolith — a marketing site, ingest pipeline, and content directories packaged together — archived on 2026-04-14 after two days of work.4 Restarted from scratch as a focused Tauri 2 application. Within 31 days, 1,093 commits and 223,303 lines of code; 1,700+ Rust tests and 400+ JavaScript tests; one commit reads "audit fix: address 39 of 40 Codex audit findings"; a subsequent refactor reduced production LOC from 817 to 253 — a 70% reduction in one pass. The 568 MB archive is not wreckage. It answered a question: this shape does not fit. That answer was the deliverable from two days of work.
The three case studies together demonstrate the logic: build, measure, keep or delete. The judgment machinery — rule files, TDD guards, cross-model audit loops — is what makes the speed directed rather than chaotic. A developer with 10+ rule files in .claude/rules/, a CLAUDE.md that names a domain model of four nouns, and a commit log containing codex audit-fix cycles is not vibe coding in the pejorative sense. The apparatus is present throughout.
§5 — The Mechanism Named#
When the cost of building a first pass falls below the cost of predicting what that pass will discover, the optimal strategy inverts.
This is not a preference or an aesthetic. It is arithmetic. If a careful analysis of whether a twelve-tool MCP surface will see real use costs three days of focused attention — architectural review, user research, prioritization sessions — and building the twelve-tool surface and measuring actual usage costs two days plus one commit that takes what the measurement showed, then prediction has become the expensive path. Reality is the cheaper classifier.
The 34,523 deleted lines are not wreckage — they are signal. The carcass was the measurement. The instrument was spent, not wasted; the thermometer does not become less useful because it has taken the temperature.
The 568 MB claudepot monolith answered "this shape does not fit." That answer is worth exactly two days of first-pass build cost to obtain — the same answer that three weeks of architectural planning might or might not have produced, with far higher prediction overhead and no guarantee of accuracy. The probe is not the product. The probe is what produces the data the product decision requires.
This is where the argument pivots. The prior sections established that the old careful-planning habit was rational under old costs. The case studies establish that costs have shifted in scope. The mechanism — the point where strategy inverts — is the cost crossover: the moment when testing becomes cheaper than predicting, and reality becomes a more reliable classifier than foresight. Chess and pharma both hit this crossover before software did.
§6 — Two Domains, Same Outcome#
In 1973, the Northwestern University Chess 4.x team abandoned heuristic-based selective search and switched to full-width brute-force search. Their discovery was cost-comparative: the time required to simply enumerate all available moves was substantially less than the time required to apply knowledge-intensive heuristics to select a few promising ones. The enumerator beat the heuristic player not by being smarter but by making search cheaper than prediction. Chess 4.x won eight of ten ACM computer chess championships from 1970 to 1979 and, as one chess historian noted, set the paradigm that modern chess programs still follow.5 When enumeration became cheap, expert heuristic selection lost its competitive advantage.
The pharmaceutical industry followed a structurally identical path in the 1990s. High-throughput screening — automated experimental testing of large compound libraries — became the confirmation layer for drug discovery as robotics and miniaturization reduced the cost per experimental assay. Computational prediction did not disappear; it evolved into a prefilter. As one peer-reviewed survey confirmed, "computer-assisted drug design, such as generation of virtual libraries... now becomes the standard procedure" — defining subsets of chemical space likely to yield hits before the more expensive physical screening confirms them.6 Virtual screening became the first pass; HTS became the verification. Prediction did not die. It changed function.
The pharma case prefigures what follows in §7: when experimental testing becomes cheap enough, prediction does not disappear from the pipeline. It relocates. It becomes the cheap initial pass that narrows the space before the more reliable classifier — the actual experiment — renders its judgment. Software planning is undergoing the same structural adjustment. The four-function decomposition is the map of that adjustment.
§7 — The Four Functions; The One That Loses Its Job#
Before asking which parts of planning survive, it helps to ask what planning was actually doing.
Building on Suchman's 1987 argument that plans function as resources for action rather than control structures, and on Mintzberg's 1994 distinction between planning-as-prediction and planning-as-coordination-device, planning-as-control-device, and planning-as-communication-device, this article identifies four separable functions:7
Filtering — eliminating paths that are impossible or very unlikely to work before spending resources on them. This is the function that answers: do we need to build version B if version A is going to fail for reasons we can anticipate?
Coordination — aligning multiple actors around a shared model before they begin acting. Teams, stakeholders, and dependencies need a common frame. Plans provide it.
Legibility — making the intended work visible to people who will evaluate, fund, or inherit it. Future-self, funders, collaborators, and managers all need to understand what is happening.
Practice by imagining — the act of planning develops domain understanding. Thinking through how a feature will work teaches the builder things about the domain that running the code would eventually teach anyway, but faster and at lower cost when the build is expensive.
When first-pass build cost collapses, only the first function — filtering — loses its job to a cheaper competitor. Reality is a better filter than foresight: it catches edge cases that planning misses, it is not subject to the planner's blind spots, and it never costs more than building the pass that reveals the answer.
Coordination, legibility, and practice by imagining all survive intact. A team still needs alignment. A project still needs to be visible to its stakeholders. A builder still benefits from working through what they are about to do. Nothing in the cost collapse of execution touches any of these three functions. The apparatus does not replace them — it replaces only the filtering function, while those three continue to operate at the rule layer rather than the outcome layer.
The article's original contribution is the cost-mechanism filter on this decomposition. Prior work (Suchman, Mintzberg) described the functions. The question of which function is specifically obsoleted when build cost falls — and which survive — is the article's analytical move. The answer is: filtering is made redundant; the rest are not.
There is a quiet corollary for the audience's concern about deleted code and lost knowledge. The knowledge is in the probe's result — what was learned by running the code — not in the code itself. The deleted nlpm flag, the archived claudepot monolith: the instrument was spent, not the knowledge. Knowledge lives in the measurement, not in the thermometer.
§8 — The Counter-Corpus#
The steelman deserves its strongest form, not its weakest.
The 2026 counter-corpus is not CodeRabbit's December 2025 report alone — though that study, analyzing 470 pull requests, found AI-co-authored code produced approximately 1.7 times more issues per PR than human-only code (10.83 vs. 6.45 per PR), with cross-site scripting vulnerabilities at 2.74 times the rate specifically for XSS.8 That study used signal-based authorship classification rather than confirmed attribution and was conducted by a vendor with commercial interest in surfacing AI code problems — both legitimate caveats, but neither explains the finding away.
The stronger 2026 entry is a large-scale empirical study by Liu et al. — 302,600 verified AI-authored commits across 6,299 GitHub repositories, tracked across five AI coding assistants. The headline finding: over 15% of commits from every tool introduce at least one issue. More consequentially, 22.7% of tracked AI-introduced issues survive to the latest version of the repository.9 This is not a vendor analysis of 470 pull requests; it is a systematic examination of 302,600 commits, and the persistence figure — nearly one in four AI-introduced issues still present at latest version — is a direct measurement of maintenance debt. The study is an arXiv preprint and has not yet been peer-reviewed, which is a genuine limitation, but the methodology (explicit Git metadata for authorship classification, rather than signal inference) is substantially more reliable than CodeRabbit's approach.
METR's July 2025 randomized controlled trial found that 16 experienced open-source developers completed tasks 19% more slowly when AI tools were permitted — on their own mature codebases with an average of five years of prior contributor experience.10 METR's own February 2026 follow-up complicates this: the same cohort returned and, in a late-2025 measurement, showed an 18% speedup — but METR explicitly disclaimed the reliability of that figure due to severe selection bias. Thirty to fifty percent of developers avoided submitting tasks they didn't want to complete without AI, making the measurement unreliable in the opposite direction.11 The original paper was not retracted; the follow-up data is not evidence of a productivity gain — METR described it as "only very weak evidence for the size of this increase." The honest read is that AI productivity is too cohort-dependent to measure cleanly at this moment, and the original 19% slowdown finding should not be treated as settled science.
This counter-corpus is not the refutation. It is the prediction.
The article's contention is that the apparatus — rule files, TDD guards, audit loops, cross-model review — is the necessary alternative locus for judgment when first-pass build cost collapses. The 2026 data is direct evidence for what happens at population scale when the apparatus is absent. The CodeRabbit population, the 6,299 repositories in Liu et al., METR's measured developers — these are samples of AI-assisted development without the systematic judgment machinery the case studies describe. The counter-corpus shows, at scale, what the apparatus exists to prevent.
The article's honest position on this: the apparatus is necessary. Whether any apparatus is sufficient to close the population-scale gap — to drive that 22.7% persistence rate to something comparable to careful human development — is an empirical question the article does not resolve. The article has one disciplined practitioner's data. That is not a controlled experiment.
§9 — The n=1 Problem and the Failure That Fits#
The survivor-bias objection deserves to be named by name, not softened into a scope disclaimer.
The three case studies share three properties that limit what they prove: they are all built by one author; that author is the writer of this article; and the judgment apparatus the author used was assembled over years before any of these case studies began. The .claude/ infrastructure, the rule files, the cross-model audit workflows — none of these materialized when nlpm started. They were in place. The case studies measure outcomes given the apparatus, not outcomes when a practitioner first encounters this approach.
Name the meta-investment: the apparatus represents years of deliberate investment in codified judgment. A developer reading this article and attempting to replicate the practice will face a bootstrap problem — the apparatus takes time to build, and building the apparatus is itself an exercise in outcome prediction (which rules will hold, which constraints will generalize). The case studies are not benchmarks for what a median developer with AI tools will produce. They are mechanism demonstrations — evidence that the cost collapse is real and that directed empiricism inside judgment machinery is structurally feasible.
Name the failure: the 568 MB claudepot monolith is presented in §4 as the abandonment-option exhibit — evidence that discarding a misfit costs two days rather than two months. That is accurate. It is also evidence that the apparatus did not prevent the failure. Two days of work went into a shape that did not fit, and the apparatus caught nothing about the shape mismatch before the two days were spent. The apparatus contained the cost; it did not eliminate the error. There is a difference. A second instance: the abandoned com.claudepot.app fork, 95 commits, abandoned April 14, 2026. The apparatus was present. The direction was wrong. The cost was low; the failure was real.
The apparatus did not prevent the failure. It contained it.
Name the falsifier: what evidence would refute the mechanism claim? A controlled comparison — a practitioner with the apparatus against the same practitioner without it, on equivalent greenfield projects — would refute the mechanism claim if the with-apparatus version produced the population-scale failure modes the counter-corpus documents. No such study exists. Until it does, the claim is a hypothesis about which conditions invert the cost calculus, not a demonstration that the apparatus is the explanatory variable.
The article advances the hypothesis. It cannot confirm it.
§10 — Planning Relocates; the Question Remains Open#
The prescription is not "plan less." It is "plan differently."
In the old economy, planning predicted outcomes: what would be built, which features would succeed, how users would respond, what edge cases would arise. Those predictions were cost-justified because the alternative — building to discover — was expensive. In the new economy, outcome prediction at that level is cheaper to bypass than to perform, in domains where the artifact can be built, machine-checked, and discarded cheaply. Surgery is explicitly not such a domain. Neither are live production systems with real users, hardware with physical manufacturing constraints, or civil infrastructure. The scope is real.
What survives is rule prediction — not prediction about what will happen in this project, but prediction about what constraints will govern all projects. Rule files, TDD guards, cross-model audit mandates: these are predictions too, but at a different cost grain. A rule is designed once and applied across many builds; an outcome prediction is made once and tested once. The cost calculus has inverted for outcome prediction; it has not inverted for rule prediction. Planning has a new object, not a new verdict.
Karpathy named the structural question in April 2026, writing that in agentic engineering "you are in charge of taste, engineering, design, and whether the system makes sense."12 That framing centers craft and oversight, which is directionally right. The article's contribution is the mechanism that explains why this structure is now economically optimal: outcome prediction has become the expensive path, and the apparatus is where careful deliberation now belongs. Karpathy reached the destination by a different route. The cost mechanism is what explains why the destination is stable.
The judgment apparatus is the new load-bearing investment. Not the sprint, not the shipping velocity, not the commit count. The apparatus is what separates directed empiricism from undirected thrashing, and what separates the case studies in this article from the population measured by Liu et al. Whether it is sufficient to close the gap at population scale is the next empirical question. The article identifies it; it does not answer it.
The builder who designed the apparatus inside which fast movement is directed — not the builder who moved fastest — is the hero of the new economy. The constraints, the apparatus, the rule: these are where prediction now lives. Not gone. Relocated.
References#
Author's own vmark repository: https://github.com/xiaolai/vmark. Commit f25d2d5f, 2026-05-04. Full commit message: "Hard cut of the legacy MCP surface — 122 files, ~34,500 lines deleted." Numbers extracted 2026-05-13; reproducible via git show f25d2d5f --stat. ↩
Taylor, F.W. The Principles of Scientific Management. Harper & Brothers, 1911. Chapter 2. Project Gutenberg EBook #6435. marxists.org/reference/subject/economics/taylor/principles/ch02.htm ↩↩2
"Edisonian Approach." Wikipedia. Fetched 2026-05-13. Tesla quote: Nikola Tesla, as cited in Wikipedia, confirmed verbatim. Also: "The Edisonian Method: Trial and Error," Springer Nature, link.springer.com/chapter/10.1007/978-3-030-29940-8_10. ↩↩2
Author's own repositories: claudepot-app (https://github.com/xiaolai/claudepot-app, 1,093 commits, first commit 2026-04-12); nlpm (https://github.com/xiaolai/nlpm-for-claude, 1,109 commits, first commit 2026-03-25); vmark (https://github.com/xiaolai/vmark, 2,727 commits). Numbers extracted 2026-05-13 and reproducible via git log. ↩↩2↩3
"Chess (Northwestern University)." Wikipedia. Fetched 2026-05-13; ACM championship record confirmed; brute-force vs. selective-search paradigm shift confirmed. Also: chessprogramming.org/ACM_1974. ↩
Baig, M.H. et al. "Combinatorial chemistry and drug discovery." PMC5645069. Journal of Biosciences, 2017. pmc.ncbi.nlm.nih.gov/articles/PMC5645069/ ↩
The four-function decomposition is the article's analytical contribution, refining prior work: Suchman, L. Plans and Situated Actions. Cambridge University Press, 1987 (plans as resources for action, not control structures); Mintzberg, H. The Rise and Fall of Strategic Planning. Free Press, 1994 (planning as prediction, coordination, control, and communication). ↩
CodeRabbit. "State of AI vs Human Code Generation Report." coderabbit.ai/blog/state-of-ai-vs-human-code-generation-report, December 17, 2025. Independent coverage: The Register, December 17, 2025. theregister.com/2025/12/17/ai_code_bugs/ ↩
Liu, Y., Widyasari, R., Zhao, Y., Irsan, I.C., Chen, J., & Lo, D. "Debt Behind the AI Boom: A Large-Scale Empirical Study of AI-Generated Code in the Wild." arXiv:2603.28592. Submitted March 30, 2026; revised April 26, 2026. arxiv.org/abs/2603.28592 (arXiv preprint; not yet peer-reviewed as of 2026-05-13.) ↩
METR. "Measuring the Impact of Early-2025 AI on Experienced Open-Source Developer Productivity." metr.org/blog/2025-07-10-early-2025-ai-experienced-os-dev-study/, July 10, 2025. arXiv:2507.09089 (preprint; not yet peer-reviewed as of 2026-05-13.) ↩
METR. "We are Changing our Developer Productivity Experiment Design." metr.org/blog/2026-02-24-uplift-update/, February 24, 2026. ↩
Karpathy, A. "Sequoia Ascent 2026 summary." karpathy.bearblog.dev/sequoia-ascent-2026/, April 30, 2026. Quote confirmed verbatim. ↩
Further Reading#
Suchman, L. Plans and Situated Actions: The Problem of Human-Machine Communication. Cambridge University Press, 1987. — The foundational argument that plans function as resources for action rather than as control structures. The four-function decomposition in §7 builds on this directly.
Mintzberg, H. The Rise and Fall of Strategic Planning. Free Press, 1994. — Distinguishes planning-as-prediction from planning-as-coordination, -control, and -communication. The article's four-function decomposition refines this earlier taxonomy and extends it with a cost-mechanism filter.
Taylor, F.W. The Principles of Scientific Management. Harper & Brothers, 1911. Project Gutenberg EBook #6435. — Read in full to understand the planning-execution separation in its original form. The cost-asymmetry framing in §2 is the article's inference from Taylor's structure; the primary text confirms what Taylor built and why.
Karpathy, A. "Vibe Coding." x.com/karpathy/status/1886192184808149383, February 2, 2025. — The coinage that named the practice this article analyzes. The article's argument does not depend on Karpathy's framing but does enter the current conversation through the vocabulary he established.
Ries, E. The Lean Startup. Crown Business, 2011. — The build-measure-learn loop that partially anticipated the article's argument, but within a cost structure where "build" still meant weeks. Useful background for understanding what the article is updating and why the update is nontrivial.