点击蓝字,关注我们
上篇写了写代码在贬值,什么在升值,核心就一句:AI 把代码变便宜了,想清楚需求变贵了。
那篇发完以后,好些人认为:把需求写清楚丢给AI,就万事大吉了?
不是!
今天我提下另外一个方面——就算你需求写得清清楚楚,工程流程还是老样子,AI 写得越快,你后面越惨(今天这篇稍微有点长)。
一个新的问题
先说一个事,一个十几个人的团队,今年年初开始陆续接入AI编码,需求文档要求比以前细,AI产出的质量也不错。前面一两个月大家都很兴奋——交付速度肉眼可见提上去了。
后面开始出问题了:
代码量暴涨了四倍,原来一个迭代3K行,现在1.2W行。Review根本审查不过来,单元测试覆盖率从72%掉到41%,线上莫名冒一些小bug——不是大问题,是那种「这个地方为什么会写成这样」的问题。
第三个月底,团队暂停了所有新功能都开发,用两个迭代专门还技术债。
我相信,这个不是个例,至少现在你们中的某些人正在经历同样的事情。
说白了,
AI 把「写代码」变成了开水龙头,开多大都行。但「审查代码」还是手工舀水。水溢出去是早晚的事。
四个副作用,一个比一个要命
副作用一:你审不动了
传统节奏:程序员一天写 200-800 行,Review 花半小时,能看出问题。AI 来了以后,一上午能吐出 2000 行。你审吗?审,一上午就搭进去了。不审,代码质量全靠 AI 自觉。
挺尴尬的,说不审吧,心里不踏实。审吧,一天不用干别的了。
有人会说「让 AI 自己审自己」,AI 审代码确实能做——查语法错误、找安全漏洞、甚至读逻辑。但它审不出「这个设计跟三个月前的方案冲突了」「这个改动会让下周上线的那个功能炸掉」。
这类判断,只能靠人。人审代码的速度不会因为 AI 变快。代码产出涨了四倍,审阅能力没变。这个剪刀差会越来越大。以后一个程序员写代码之前,可能要先回答「你打算让我审多少行」。
副作用二:技术债在利滚利
以前欠技术债像分期付款——今天赶进度写了个硬编码,明天堆了个上帝类,后天复制粘贴了一段。一笔一笔还,你有时间反应。
现在呢?你跟 AI 说「把这个模块写完」,它 20 分钟给你扔了 8 个文件。你一看,功能都跑通了,但 8 个文件里 三 个用了不同的错误处理方式,两个的数据库查询方式跟项目规范不一致,一 个引了个你根本没见过的第三方库。
你改不改?工期催着,功能跑通了,你大概率不会改,然后这些不一致就成了债。下次 AI 再写,它基于这些不一致的代码继续生成。三周以后,你的代码库变成了风格拼盘——每翻开一个文件,像换了个团队写的。
这事细想一下挺离谱的。AI 让你直接刷信用卡——额度无限,利息惊人。而且最狠的是,AI 不会觉得自己在欠债,它只是在满足你的 prompt,你让它快点,它就欠快点。
副作用三:代码一致性瓦解了
这一点其实是:Review 环节崩了,没人把关规范了,一致性自然就没了。
AI 写代码,每次都是独立的,你跟它说「写个用户管理模块」,它给你一套,过两天说「写个订单管理模块」,它给你另一套,两套都能跑,但风格完全不同——统一返回格式不一样、异常处理方式不一样、日志规范不一样、连包名都可能不一样(实际不会这么离谱,这里只是举个例子)。
这不是 AI 的错。你没告诉它你的项目规范,它只能按自己的理解来。
但以前不会这样。以前团队里有人——技术 Leader 或者架构师,在 Review 的时候会说「这里要用我们的统一返回格式」「异常不要直接抛,用我们的 GlobalExceptionHandler」,AI 产出快了以后,Review 时间被压缩,这种规范守护越来越少。
三个月后回头看,你的代码库变成了十二种风格的大杂烩。
以前代码一致性靠自觉和 Review 习惯,现在这两样都被 AI 的速度冲垮了。
副作用四:新手在开外挂,但肌肉废了
老程序员用 AI,是真提效。他们见过烂代码、踩过坑,AI 写出来的东西一眼能看出哪有毛病,AI 是他们的加速器,不是拐杖。
但对于新手来说,完全是另外一回事。
一个刚工作一年的程序员,天天用 AI 写代码,遇到问题先问 AI,三秒钟拿到答案。以前我们是怎么过来的:一个 NullPointer,得去翻文档、查 StackOverflow、看不懂还得问前辈,那个痛苦的过程就是学习,现在不痛苦了,但也学不到了。
三个月后,离了 AI,他连一个最基本的 CRUD 都写不利索,这事有点离谱,但现实就是这样。
这不是新人的问题,是学习路径被截断了,编程的肌肉记忆是靠重复练出来的——你写过一百个接口,第一百零一个自然就知道怎么写,现在 AI 替你写了那一百个,你大脑里没留下任何一条神经通路。
还有一个更隐蔽的问题:AI 帮你跳过的坑,你没有感觉。好的程序员看到一段代码会本能地觉得「这里不对」,这种直觉不是天赋,是踩坑踩出来的。AI 帮新人填了所有的坑,他们走得很平,但下一次遇到没填过的坑,连识别都识别不了。
所以我认为新人的评估标准得改,以前看一个新人牛不牛,看他能不能独立写一个模块。现在 AI 帮他写了,这个标准废了。
新标准:给他一段 AI 写的代码,让他审,问他这段代码有什么问题、设计上合不合理、接下去加新功能要注意什么,审代码的能力,才是 AI 时代新人的核心能力。会写的人很多,能看出哪里不对的人很少。
培养新人时,其实可以定一些规则,比如:前一两个月不使用 AI纯手写,把手写的能力和直觉建立了,再上 AI,像开车——先用油车手动挡学会驾驶感觉,再转电车自动驾驶,不能一上来就坐在副驾上。
不是 AI 的问题,是流程没跟上
这四个副作用,说到底是同一件事:代码生产的速度变了,但后面的一切流程都还是旧的。
前面我在另外一篇文章也提过 为什么全员用了AI,公司还是没赚更多钱 流程没改变AI再强的动力也加速不了整个链路。
AI 编程现在就在这个阶段。动力变了,但 Review、测试、合并、规范管理——这些都还是老布局。
很多人以为 AI 会拉平团队差距。
其实恰恰相反。
有的团队越用 AI 越乱。有的团队反而越来越快。
差别不在模型,在组织。
说实话,这事我一开始也没想明白。后来才慢慢感觉到:AI 放大的,好像不是代码能力,更像是组织本身的问题。
怎么办
不是让 AI 写慢点。AI 只会越来越快,拦不住。能做的是把后面的管道也扩粗。
第一,规范要从口头约定变成机器可执行的
以前团队靠口口相传:「异常处理统一下」「日志用 Slf4j」「返回格式用 ResultVO」。靠人肉 Review 把关,不太出大问题。
AI 来了以后,口头约定等于空气,你必须在 AI 动手之前就把规范塞给它。Spring Boot 脚手架、项目模板、编码标准文档——这些东西以前「有了更好」,现在「没有就会乱」,你写好一套脚手架模板,AI 基于模板生成代码,产出自然一致,把 Checkstyle 规则配好、ArchUnit 测试写好,AI 写出来的代码不合规范,编译阶段直接挂。
甚至可以把你的规范作为一个skill,规范不能只存在脑子里,得搬到流水线上。
第二,Review 从逐行看改成查关键点
代码量涨了四倍,逐行看根本不现实。得有一个 Review checklist:SQL 有没有用参数化查询、敏感数据有没有脱敏、第三方库是不是项目已审批的、有没有改到不该改的模块。
把这些关键点列出来,Review 的时候逐条过,剩下的相信 AI 和自动化测试。人有限的注意力,放在 AI 真正容易出问题的地方。
第三,架构从建议变成硬约束
以前架构是方向性指导——「建议用分层架构」「建议控制模块耦合度」,具体怎么写,开发自己把握。
AI 时代这不够了,不是你「建议」AI 不要写上帝类,是你的脚手架模板里根本就不存在写上帝类的可能性,不是你「建议」按领域分包,是你生成的模块结构天然就是领域驱动。
好的架构约束让 AI 没法犯错。代码生成完自动跑架构测试——循环依赖?挂掉。跨层调用?挂掉。API 版本不一致?挂掉。
这不叫限制自由。这叫保住底线。
速度从来不是问题,控制才是
回到开头那个团队。他们花两个迭代还完债以后,做了几件事:建了脚手架模板、定了 Review checklist、加了架构测试、给新人设了 AI 使用规则。
第四个月,交付速度掉回了一点没有原来那么夸张了,但是大家不用周末加班、不用熬夜 Review、上线前不用提心吊胆了。
AI 给了我们油门,刹车得自己装。
文/洞茶
声明:本文插图由AI绘制
夜雨聆风