当AI降低代码生成成本后,软件工程瓶颈已转移至验证环节,工程师需守住判断力与工程本质,价值依然不可替代。 ## 1. 核心结论:软件工程瓶颈从生产转移到验证 vibe coding已是既定事实,AI将写代码成本降到极低后,软件工程的核心瓶颈从代码生产转移到了验证。 AI一分钟生成300行代码,人却需要30分钟验证正确性,且因未参与编写,验证难度比检查自己代码更高,代码产量暴增反而让验证工作量大幅提升,这是vibe coding范式的内生矛盾「验证鸿沟」。 若AI单次改动正确率为95%,连续30次未干预改动后,全部正确的概率仅约21%,多数项目会被小错误的累积拖垮。 ## 2. AI时代验证的核心原则:实现可以放手,规格不能放手 验证可以部分交给AI,但测试同时承担验证器和需求规格的双重身份,失败测试是向AI明确需求最高效的方式,让TDD在AI时代重新发挥价值。 **关键结论:测试的断言主权必须在人手中**,若让AI对照现有实现写测试,会把既有bug保留,还容易产出无实际校验作用的恒真断言,无法起到验证作用。 ## 3. 不可替代的核心角色:复杂度守门员 大语言模型是最强的偶然复杂度消除器,可以一键解决语法记忆、样板代码、API查询等问题,但业务规则设计、冲突处理等本质复杂度没有任何减少。 AI让代码产出速度提升一个数量级,复杂度积累速度也同步提升一个数量级,AI没有消除复杂度,反而让软件工程本身变得更重要。 人需要守住四个工程纪律: 1. 接口先行,重要功能先由模型提出设计方案,人拍板后再交付实现,避免糟糕接口大范围扩散。 2. 模块划分和边界封装必须由人定义,不能外包给AI。 3. 定期安排AI清理冗余、重构不合理设计,前提是有测试兜底保障行为不变。 4. 清晰命名、补充注释文档,写给人读的代码就是写给AI读的代码。 ## 4. AI开发的安全网:检查点式开发 同一个AI生成的日期格式化bug,没有回归测试的团队损失3个人日还遭遇客户信任危机;有对应测试的团队90秒就发现问题,AI自行撤回改动,仅损失90秒机器时间。 **安全网改变开发心理学,有安全网才敢尝试新动作**。验证后立刻提交极小粒度的增量变更,和AI委托粒度对应,后续定位回滚都能精准定位,避免大量工作陪葬。 ## 5. 规模化提效方向:从生成转向验证决策 根据Amdahl定律,整体加速的上限由未被加速的部分决定,如果编码仅占交付总时间的40%,哪怕AI将编码速度无限提升,整体交付的上限也仅为1.67倍。 很多团队引入AI后生产率未达标,核心就是仍聚焦生成更多代码,规模化提效需要转向加快验证与决策速度。 ## 6. AI时代工程师的核心不可替代资产 **判断力是唯一随着AI变强而升值的资产**,代码无限供应的时代,稀缺的不是产量,是判断什么是好代码、什么需求值得做的能力,可通过读经典开源项目、亲手维护项目、复盘验证自身判断积累。 保持编码手感是验证能力的基础,需要偶尔关掉AI手写代码:外包打字不要外包理解,全程坐副驾的人学不会开车,也看不出司机的错误。 工程师从来不是写代码的人,正如建筑师从来不是砌砖的人:历次工具升级都让编程含义上移,工程师数量不降反升,AI只是这个序列的最新一项,工程师的本质始终是在约束下为人的问题设计可靠解法,这份工作比任何工具都长寿。 ## 7. 这本书本身就是核心观点的完美注脚 这本讨论vibe coding时代软件工程的书,本身就是由人给出提示词、AI生成内容的产物,讨论内容的文字本身也是验证循环的产出,这恰好印证了核心观点——**最终的判断永远需要人来完成**。 vibe coding本身不是洪水猛兽,用于一次性原型玩具完全合理,危险的是把这种方式照搬给需要长期演化的软件;控制复杂度、建立安全网、沉淀意图这些工程核心能力,不仅没有过时,反而变得更值钱。
当AI替你写代码,工程师还剩下什么
2026-07-05 20:30

当AI替你写代码,工程师还剩下什么

本文来自微信公众号: 歪睿老哥 ,作者:歪睿老哥


故事是这样的。


这两天偶遇到一本奇书,讲的是vibe coding时代的软件工程。


我当时第一反应是,这话题是不是有点过了。


vibe coding这个词,Karpathy 2025年初造的,到现在一年半了,该聊的都聊差不多了吧。


结果翻开第一页就被打脸了。


这本书从一个很刁钻的角度切入。


它没有站在AI这边鼓吹“编程已死”,也没有站在传统那边哀叹“世风日下”。


它做了一件我觉得更有意思的事,它把vibe coding当成一个已经发生的事实,然后问了一个问题:


当写代码这件事的成本趋近于零,软件工程的瓶颈到底转移到了哪里?



然后它给出了一个答案。


一个让我看完沉默了好一会的答案。


瓶颈从生产,转移到了验证。


就这么一句话,但推下去的东西太密了。



我最近用了很多AI编程工具。Claude Code也好,codex也好,agy也好。体验是真的很爽。


一个周末能搞出以前两周才能做完的原型,说出需求看着代码一行一行往外蹦,那种感觉你懂的。


但与此同时,有一些说不清的不对劲也在累积。


比如项目第三周的时候改不动了。


新加一个功能,老功能莫名其妙坏了。让AI去修,修好了这里坏了那里。


再修,它开始道歉然后重复同样的错误。最后你盯着屏幕上不知道谁写的三千行代码,脑子里只有一个念头,算了,删掉重来吧。


我以前觉得这是我的问题。


是我提示写得不够好,是我不会用工具。


但这本书告诉我,不是我的问题。


这是vibe coding范式本身的内生矛盾。


书里有一个概念叫「验证鸿沟」。


说的是代码以机器的速度产出,而理解和验证代码的速度,仍然以人的速度进行。


你的AI可以在30秒内生成300行代码,但你要花30分钟去确认这300行代码是不是对的。


而且你还没有参与书写,验证起来更慢,就像检查别人的账本总比检查自己的更费力。



所以看起来AI让写代码快了十倍,但项目整体并没有快十倍。


因为写代码这件事,在软件工程的总成本里,本来就不占大头。


你花在理解需求、设计方案、验证正确性上的时间,一点都没少。


反而因为代码产量暴增,验证的工作量变得更大了。


书里还给了一个数学公式,简单到初中水平但看完让人后背一凉。


设AI每次改动的正确率是95%,你连续委托30次改动,不闻不问。那么最终全部正确的概率是多少?


0.95的30次方。约等于21%。


也就是说,每五次这样干活,有四次项目会在某个你看不见的角落里慢慢烂掉。


不是被一个惊天大bug杀死的,是被每一次差不多对慢慢累积杀死的。


这就是小周的故事。


书里第一章的主人公。


一个周末做出了漂亮的记账网页,一个月后删掉了整个项目。


不是因为他写不出来代码,恰恰相反,因为他写得太容易了,代码堆得太快了,快到他没时间验证,快到他来不及理解。



验证鸿沟,真实的鸿沟。


这本书读到一半的时候,我停下来想了想一个问题。


那验证这件事,有没有可能也交给AI来做?



答案是可以,但有一个前提。


书里说,测试在vibe时代有一个双重身份。它既是验证器,也是规格。


你想想看,一个失败的测试,是你向模型表达什么算做对了的最高带宽形式。


你给模型一个红彤彤的测试用例,说让这个变绿,不比你在自然语言里绕来绕去说十句话要强?


TDD这个老掉牙的实践,在AI时代焕然一新了。


你先写一个表达需求的失败测试。


模型跑它,看到红色,修改代码,看到绿色。


整个循环不需要你在中间翻译做完了吗。


人的全部投入,就是想清楚那几条断言应该长什么样。


但这里有一个非常关键的权力分割,断言必须由人负责。


你让AI写测试,它看着现有实现去写,实现里的bug会被原样供奉进测试。


更糟的是AI特别擅长写那种「assert result is not None」的恒真断言。


覆盖率报表灿烂得不行,但实际什么都没防住。


所以书里给了两条非常硬的原则


「实现可以放手,规格不能放手」


「测试的断言主权在人」。


我觉得这两句话,值得印在每一个vibe工程师的工作台上。


但验证只是表面。这本书真正扎下去的地方,在第四章。


第四章的标题我特别喜欢「不变的本质,复杂度与模块化」。


作者说了一段我反复读了三遍的话。


他说,大语言模型是迄今最强的「偶然复杂度消除器」。


记不住的语法,写不完的样板,查不完的API,这些折磨人的东西几乎被一扫而空。但问题的本质复杂度,业务规则该怎么定、多人共享时账目冲突怎么解决、退款要不要影响已结算的月份,这些,一毫克都没有减少。


AI移除了通往复杂度的旧收费站。


但它没有移除复杂度本身。


反而因为代码的产生速度提高了一个数量级,复杂度的积累速度也提高了一个数量级。


这个洞察我觉得极其锋利。


因为它揭示了一个反直觉的事实,AI不是让软件工程变简单了,而是让软件工程变重要了。


以前代码写得慢,复杂度也积累得慢,你可以在项目彻底烂掉之前慢慢还债。


现在代码喷涌而出,复杂度也呈指数级积累,等到你察觉的时候,已经来不及了。



所以人在vibe工程里有一个不可让渡的岗位,叫复制度的守门员。


书上列了四条纪律,我觉得每一条都可以直接拿来用。


第一,接口先行。


重要功能先让模型提出两三种接口设计,人来拍板,再委托实现。接口一旦定下,实现里的平庸可以日后重写,但糟糕的接口会通过每一个调用者扩散生根。


第二,边界由人守。


模块怎么划分,什么该藏在什么边界后面,这个不要外包。


第三,定期还债。


安排专门的重构任务让模型去清理重复逻辑和过宽的接口。AI极擅长这种机械重构,前提是有测试兜底证明行为没变。


第四,为两种读者写作。


命名、注释、文档,从给同事看的礼貌升级为喂给模型的上下文。


一个叫applyMonthlyDiscount的函数自带规格,一个叫process2的函数对人对机都是模糊之源。


最后一句话尤其值得反复咀嚼「写给人读的代码,就是写给模型读的代码」。


五十年为人类认知极限发明的每一项设计纪律,恰好都在为大语言模型铺路。


这本书看到的另一个维度也很有意思。


关于安全网。


书里讲了一个两家公司的对比故事。


同一个事故,AI重构报表模块时顺手改了一个日期格式化函数,所有导出文件的日期格式变了,下游客户的自动对账脚本开始解析出错误数据。


团队A没有回归测试。两周后由客户投诉暴露,三名工程师排查两天才找到祸首,又花一天评估影响范围。


总损失,三个人日和一次客户信任危机。



团队B有一条回归测试,断言导出文件的日期格式。重构提交后90秒,流水线亮红灯。模型看到失败信息,自己把改动撤了回去。总损失,90秒机器时间。



同一个错误,同一个模型。差别不在谁的工具更智能,而在谁提前织好了网。


安全网改变的是心理学。


没有网的杂技演员只敢做保守动作,有网才敢练新动作。


书里把这种现象叫做「检查点式开发」。


每次验证通过,立刻提交。


提交因此变得极小极频繁,一次一个可验证的增量,恰好与委托粒度一一对应。


完整节拍变成,委托,生成,验证,提交,下一个。



这么做的价值在需要回头的时候才真正体现出来。git bisect定位到的肇事提交只有40行而不是4000行,一眼看穿。回滚可以精确到单个增量,而不是全周的工作一起陪葬。



写到这里我突然想到,很多团队引入AI编程之后生产率并没翻倍,反而出现了CTO说的那句名言“我们不再缺代码了。我们缺的是敢合并代码的人。”


书里用了一条1967年的数学公式来解释这个现象,叫Amdahl定律。


公式很简单,整体加速的上限由未被加速的部分决定。


如果你的编码只占交付总时间的40%,那无论AI把编码提速多少倍,整体交付的上限也只有1.67倍。



这道乘法题的意思太清楚了,规模化之后,加快速度的方向要从「生成更多代码」转向「更快地验证与决策」。


不过我觉得这本书最打动我的,不是它的方法和公式。


是尾章的三封短信。



第一封讲判断力。


说方法可以教,但品味没法教。


看一眼接口就皱眉的直觉,读一段diff就闻到坏味道的鼻子。


在代码无限供应的时代,稀缺的不是产量,是判断什么值得要。


品味的来源没有捷径,但有路径。读一流的代码,那些活过二十年的开源项目,源码就是免费的大师课。


亲手把一个项目维护到第二年,让复杂度真的咬过你,你才认识它。每次做完判断,回头验证自己判对了没有。


「判断力是唯一随着AI变强而升值的资产」,这句话我想了好久。


第二封讲肌肉。


请偶尔关掉AI,手写一点代码。不是因为怀旧。


是因为验证能力的底层,是你亲手建立的心智模型。


什么样的代码会在并发下出错,什么样的接口会让调用者痛苦,这些知识只能从写和被咬中来。


全程坐副驾的人学不会开车。从没开过车的人,坐在副驾也看不出司机正在犯错。


「外包打字,不要外包理解。理解一旦外包,你在循环里就只剩一个功能,按接受键。那个岗位不需要工程师。」


第三封讲身份。


如果机器写代码比我们好,工程师还剩下什么?


书里的回答让我觉得很平静。它说,工程师从来不是「写代码的人」,正如建筑师从来不是「砌砖的人」。五十年里,我们把打孔卡外包给了汇编器,把汇编外包给了编译器,把内存管理外包给了垃圾回收器。


每一次,「编程」的含义都上移一层,而工程师的人数不降反升,因为每次上移都让更多问题变得值得解决。


大语言模型是这个序列的下一项,也许是最大的一项,但结构没有变。工程师的本质工作,始终是在约束之下,为人的问题设计可靠的解法。约束会变,工具会变,「可靠」的验证手段会变。这份工作本身,比任何一代工具都活得长。


说回这本书本身。


作者是谁我不知道,书稿上没有署名。


但我查了一下。


这一查不要紧,是查了一个更奇怪的事。


这本书是由AI生成,当然有人给了个prompt,然后就有了这本书。


我愣住了。


往回翻。重新读了一遍。


然后突然意识到这本书最精彩的部分根本不在正文里,而在正文之外的这个事实本身。


一本关于「当写代码不再值钱之后工程何以立足」的书,它本身的诞生过程就是这句话最完美的注脚。


作者没有亲手写一行字,他给了一个prompt,最后拿到了一个让他满意的东西。


而我们刚刚花了半小时读这本书的感想,讨论验证鸿沟、讨论复杂度的守门员、讨论测试即规格,这些文字本身,也是验证循环的另一端产出的。


镜像套镜像。


这本书用它自己的存在,把一个最刁钻的问题抛了回来。


如果连讨论这本书的文字都可以由AI完成,那写代码这件事的门槛到底被削成了什么样?


工程师在循环里的位置,又到底往哪里缩了?


书里有一句话说得好,我现在才真正理解它的分量。


「判断力是唯一随着AI变强而升值的资产」。


连这本书的好坏,都只能由你来判断了。


我不知道你怎么想。


但我觉得在2026年这个时间点上,能看到这样一本冷静的、不凑热闹的、把vibe coding和软件工程放在一起认真讨论的书,是一件很幸运的事。


vibe coding不是洪水猛兽。


窄义的vibe coding,完全不看代码,一次性的原型和玩具,在自己的合法领地里完全没有问题。


危险的只是把只适用于一次性代码的工作方式,不加改变地用于需要长期演化的软件。


而那些让软件能长期演化的东西,控制复杂度,建立安全网,沉淀意图与知识,这些东西,一点都没有过时。


恰恰相反,它们变得更值钱了。

AI原生产品日报频道: 前沿科技
本内容来源于网络 原文链接,观点仅代表作者本人,不代表虎嗅立场。
如涉及版权问题请联系 hezuo@huxiu.com,我们将及时核实并处理。
正在改变与想要改变世界的人,都在 虎嗅APP