AI编程工具让代码产出速度提升了10倍,但Bug、崩溃、安全漏洞也在同步爆发。问题不在AI本身,而在于我们用AI开发软件的方式——正在重蹈"千刀万剐"的覆辙。本文结合经典软件工程思考,探讨AI时代如何守住代码质量。
引言
你有没有发现一个诡异的现象?
自从Cursor、Copilot、Claude Code这些AI编程工具普及之后,代码写得越来越快了。一个功能,以前要写两天,现在半小时就"搞定"了。产品经理笑开了花,老板觉得效率翻倍,团队产能"暴涨"。
但与此同时,线上事故变多了。用户投诉变多了。技术债像滚雪球一样越滚越大。系统越来越脆弱,改一个地方崩三个地方。
速度上去了,质量下来了。
这不是巧合。这是一篇2022年发表的经典文章《How To Not Die By A Thousand Cuts》(如何不死于千刀万剐)早就预言过的事情——只是AI时代,这个问题被放大了十倍。

千刀万剐:软件质量的隐形杀手
先说一个残酷的事实:软件从来不是被一个大Bug杀死的,而是被无数个小问题慢慢割死的。
每一次"先上线再说"的妥协,是一刀。
每一次"这个测试先跳过"的偷懒,是一刀。
每一次"反正用户不会遇到这个边界情况"的侥幸,是一刀。
每一次"AI生成的代码看起来没问题"的轻信,也是一刀。
这些刀单独看都不致命。但它们会叠加、复合、恶化——先是创可贴,然后是缝合线,然后是石膏,最后是坏疽。
原文作者用了一个精准的比喻:这就像健身。休息了一年之后想恢复体能,路径是痛苦的——肌肉酸痛、骂闹钟、脾气暴躁、和即时满足感做斗争。但只有熬过去,才能回到巅峰。然后,再攀登下一座山峰。
AI时代的软件质量,正处在"休息了一年"之后的那个痛苦阶段。
AI加速的不是质量,是切割的速度
让我们回到一个根本问题:软件质量的本质是什么?
原文给出了一个深刻的定义——质量是"过程的体验"。好的质量,本质上是"优雅地完成过程,离开时比来时更好"。
注意,这里说的不是"产出的速度",而是"过程的品质"。
AI工具改变的是什么?是编码环节的速度。它没有改变需求分析的质量,没有改变架构设计的深度,没有改变测试覆盖的完整性,更没有改变团队对质量的共识。

这就好比一条工厂流水线。AI让传送带的速度提升了10倍,但质检环节还是老样子,甚至因为"反正AI写的应该没问题"而放松了质检。结果呢?次品的产出速度也提升了10倍。
更糟糕的是,AI生成的代码有一种隐蔽的危险特性:它看起来很对。语法正确、结构清晰、注释完整——甚至比很多人类程序员写的代码还"好看"。但"看起来对"和"真正对"之间,可能藏着逻辑错误、安全隐患、性能陷阱。
这种"体面的错误"比"明显的错误"更危险,因为没人会去仔细检查它。
谁该为AI时代的软件质量负责?
原文提出了一个尖锐的问题:软件质量到底该谁负责?
传统答案是QA团队。但原文说,不对——质量是每一个参与产品生命周期的人的责任。产品经理、设计师、开发者、运维、客服、甚至CEO。
在AI时代,这个答案需要更新:质量是每一个写代码的人的责任——不管是人类还是AI。
但这里有一个致命的陷阱。当AI帮你写了80%的代码时,人的心态会发生微妙变化:
- "这是AI写的,应该没问题吧?"→ 责任稀释
- "我又不是一行行写的,细节我不太清楚"→ 理解缺失
- "反正改起来也快,出了问题再让AI修"→ 修复依赖
- "AI都过不了测试,那肯定是测试的问题"→ 标准降级

每一个心态变化,都是新的一刀。
原文那张经典的图告诉我们:线性流程中,风险是前置的,修复成本是指数增长的。 如果在需求阶段就错了,后面所有的"快"都是在错误的方向上加速。AI让开发变快了,但如果方向错了,你只是更快地抵达了一个错误的目的地。
如何在AI时代创造高质量软件?
好消息是,原文也给出了创造质量的路径。核心思想是:不要做那些摧毁质量的事,然后做它们的反面。
结合AI开发的现实,我总结了五条关键原则:
1. AI是副驾驶,不是司机
AI生成的每一行代码,都必须经过人类的审查和理解。不是"扫一眼觉得差不多",而是真正理解它在做什么、为什么这样做、边界条件是什么。
如果你不能向别人解释清楚一段AI生成的代码,你就不应该让它上线。
2. 测试不是可选项,是生命线
当代码产出速度提升10倍时,测试覆盖必须同步提升。不是"让AI写测试"然后直接通过——而是人类设计测试策略,AI辅助生成测试用例,人类验证测试的有效性。
原文提到一种有毒文化:"那些是已知的不稳定测试,重新触发构建就好。"在AI时代,这种文化会变成:"那些是AI生成的不稳定代码,让它重新生成就好。"——这不是在解决问题,这是在掩盖问题。
3. 慢就是快
原文引用了Alan Kay的名言:"视角值80个IQ点。"
在AI时代,最稀缺的不是编码速度,而是判断力。知道什么时候该快、什么时候该慢、什么时候该停下来重新思考——这比任何AI工具都重要。
一个经过深思熟虑的架构决策,胜过100次AI快速迭代。
4. 质量是系统问题,不是个人问题
原文最深刻的洞察之一是:不要找替罪羊,要改善系统。
当AI生成的代码出了Bug,与其追问"谁让AI写的这段代码",不如问:"我们的流程中,为什么没有机制在代码进入生产环境前发现这个问题?"
好的系统让普通人做出不普通的事,坏的系统让优秀的人不断犯错。
5. 学会"建设性地受苦"
原文最后提出了一个反直觉的观点:痛苦是必要的。
恢复体能需要肌肉酸痛的痛苦。提升软件质量也需要不适感——对"差不多就行"的不适,对"先上线再说"的不适,对"AI写的就不用细看"的不适。
这种不适感,就是质量的免疫系统。

总结
AI不会杀死软件质量。但用AI的方式会深刻影响到软件质量。
用千刀万剐来比喻在AI时代非常贴切。每一刀都不大——一个没审查的AI输出、一个跳过的测试、一个"差不多就行"的妥协。但刀刀累积,终成坏疽。
好消息是,解药一直都在:把质量当作每个人的责任,把过程看得比产出重要,把"建设性的不适"当作成长的信号。
AI是强大的工具。但工具再快,也快不过质量崩塌的速度。
慢一点,稳一点。在AI时代,这反而可能是最快的路。
原文链接:How To Not Die By A Thousand Cuts
觉得这篇文章有价值?点个赞和在看,让更多开发者看到!收藏起来,下次AI帮你写完代码时翻出来看看。
欢迎在评论区分享你的经历——你用AI开发时遇到过哪些质量坑?
欢迎转发给身边的朋友。
#AI编程 #软件质量 #AI开发 #代码质量 #Cursor #Copilot #技术债 #软件工程 #AI代码审查 #开发效率
夜雨聆风