当AI把“写代码”的时间压缩到极致,剩下的,全是判断。
最近,一位资深开发者的工作复盘在技术社区引发了不少共鸣。他描述了一个正在被越来越多团队验证的现实:
“现在干活基本上都挂着各类AI编程助手。AI写代码是真的快,一个下午能写完古法编程一周的量。但我们很快发现:工作量并没有下降,只是从‘写’转移到了‘读’。”
这并非个例。随着GitHub Copilot、Claude Code、Codex等各类代码大模型深度接入开发流程,一种新型的技术疲劳正在蔓延:AI生成的代码,看起来越来越像那么回事,但维护者的心智负担却越来越重。

一、AI代码的“虚胖”:省了键盘,多了判断
AI生成的代码往往具备一切“表面规范”:命名清晰、结构完整、注释齐全、测试全绿。但当你逐行读进去,问题开始浮现:
防御性代码过剩:每一层入口都加上大量if判断,大部分校验分支在实际业务中根本不可能触发。你让它删,它还会振振有词:“这些都是必要的边界保护。”
注释与测试的水分:一大堆注释无人问津,测试虽然全绿,但关键业务场景往往未被覆盖。一问原因,AI会给出一堆“由于xxx原因未覆盖”的解释,仿佛在完成任务而不是交付质量。
隐蔽的线程安全误用:比如明明单线程场景,AI却自作主张选用ConcurrentHashMap,理由是“预设了多线程共享”。你纠正后它立刻道歉并修改,但类似的问题散落在成堆的代码里,需要你逐行甄别。
这位开发者总结得很到位:“以前我写一百行代码,我知道这一百行在哪里、为什么存在。现在AI啪叽拉出来一堆,我还是要花同等的时间去判断:哪一百行是真正有用的。”
省下来的是敲键盘的时间,多出来的是判断的时间。这正好印证了那句话:AI来实现,人来做决策。
二、技术债的隐形放大器
更值得警惕的是,AI正在以前所未有的速度放大技术债。
在所谓的“Vibe Coding”(凭感觉编程)模式下,AI每次都会生成一大坨结构化的代码。如果你依赖各种自动化Skill(架构设计、代码重构插件),效果往往差强人意。因为如果你完全放手让AI完成,会出现几个致命问题:
问题定位失联:一旦出错,你根本不知道问题藏在哪里。虽然可以让AI再分析一遍,但上下文丢失后,排查成本极高。
隐藏假设陷阱:AI在设计方案时,经常会隐含一个前提假设,但它不会主动告诉你。等到部署到测试环境一跑,才发现根本不对。来回拉扯几个回合后,AI轻描淡写地说:“这里有一个前提假设是XXX,按照这个假设,代码就应该是这样的。”——这种事后曝光的“惊喜”,是项目进度的隐形杀手。
掌控力流失:如果长期依赖AI做架构决策,你会逐渐失去对代码整体的掌控力。没人能替你思考,尤其是当AI的“合理”与业务的“真实”发生错位时。
三、开发者的新能力模型:从“码农”到“技术决策者”
面对这种范式转移,继续在AI擅长的领域(语言细节、框架八股、语法糖)深耕,已经意义不大。了解即可,真正的护城河正在向上转移:
1. 提问的精度
跟AI协作,问题含糊,回答就含糊。你糊弄它,它就给你“拉一坨大的”。
最佳实践:将需求拆解到AI不会误解的颗粒度,明确输入输出、约束条件、异常场景。高精度的Prompt能减少80%的扯皮。
2. 判断力
哪块代码有效、哪个方案合理、哪个架构能撑住未来三年的业务,你必须自己有数。
照单全收是要承担后果的。AI不会为线上事故负责,最终兜底的是开发者的技术判断。
3. 读代码的耐心
给公司打工,写的是能维护的商业代码,不是自己玩Demo。你必须理解AI生成代码的设计意图,最好能快速定位到“哪里有问题”。
“能跑”和“能维护”差别很大,后者才是工资的来源。
四、工具越强大,判断失误的代价越大
AI把“写代码”这个环节的成本和时间压缩到了极致,剩下的就全是判断。这既是解放,也是考验。
我们只是担心自己的判断跟不上——因为工具越强大,判断失误的代价就越大。一段错误的AI生成代码,可能在上线后才暴露出线程安全、数据一致性或性能崩塌的问题,而那时修复的成本远高于亲自编写。
但说不定过两年,AI的推理和上下文能力又会质变呢?拭目以待吧。
至少在当下,一个清醒的开发者应该明白:你可以让AI挥洒代码,但绝不能交出思考的权力。
青蓝智慧马老师
本文改编自一线开发者的真实工作复盘,旨在引发对AI时代软件工程实践的思考。
