最近有个话题很火,是:AI 写的代码,人类到底还需不需要逐行看?
Redis 的创作者 antirez 撂下了一句很激进的话。他说很多工程师没有真正发挥 AI Coding 的威力,原因就是还在逐行阅读 AI 生成的代码。AI 一分钟能吐出几百上千行代码,你还一行一行盯着看,最后只会把自己变成整个开发流程的瓶颈。
更让人意外的是,《Clean Code》的作者鲍勃大叔也站出来表态了,原话就一句:我不看 AI 写的代码。他的理由很直接,人类读代码太慢了,如果还逐行审查,就丧失了用 AI 的意义。
不过不看归不看,该管还是得管。鲍勃大叔的做法是给 AI Agent 设层层关卡:单元测试、Gherkin 测试(用接近自然语言描述软件行为的测试格式)、QA 流程、代码质量指标、变异测试(故意往代码里塞小错误,看测试能不能抓住)、测试覆盖率,一圈一圈地围起来。今年早些时候他还公开了自己的具体实践,一套四个 Agent 组成的流水线,分别负责需求规格化、编码、重构和架构审查,每个阶段都比上一个更形式化,需要的人工干预也更少。他看的东西也变了,测试覆盖率、依赖结构、圈复杂度(衡量代码中独立执行路径的数量,数字越大越难维护)、模块大小这些指标,从指标推断代码质量,而不是从代码本身。
Redis 的创作者 antirez 其实也是类似的思路。不看每一行,但注意力要往上提一层,放在真正需要人来判断的地方:产品目标对不对,系统架构合不合理,接口和数据结构清不清晰,测试能不能兜底,出了问题能不能快速定位。你可以不盯每一行代码,但不能连 AI 在搭什么、系统怎么运转的都搞不清楚。
顺着这个思路,Code Review 的重点也在变。以前大家纠结的是这一行写得好不好,以后真正该问的是:架构撑不撑得住?接口干不干净?测试能不能抓住真正的错误?系统挂了能不能快速找到原因?AI 有没有偷偷改坏别的功能?三个月后回来还接不接得上?
不过这里有个坑要注意,测试全绿不代表代码没问题。AI 完全可能在实现正确功能的同时,悄悄夹带一些多余的、危险的、或者根本没法维护的逻辑。所以这事没有标准答案,最终得看系统的风险等级。个人写个小工具,可以大胆放权让 AI 去干。但涉及支付、金融、隐私和核心生产数据的系统,人工审查这一步怎么都省不掉。
有意思的是,鲍勃大叔过去几十年一直在推测试驱动开发(TDD),现在到了 AI 时代,高质量的测试覆盖反而比代码本身更有价值。当 AI 生成代码的速度远超人类阅读代码的速度,工程师的核心能力也在迁移。以前最看重的是读代码、写代码,现在可能正在变成写测试、定约束、设指标。
他今年在 O‘Reilly 上开了一门课叫《AI Agents for Clean Code》,也在自己的 Clean Coders 平台推出了新系列《Clean AI: Agentic Discipline》。主旨就一句话:AI Agent 不是不需要纪律,是需要不同的纪律。
说到底,AI 写代码写得越快,工程师就越不能只会写代码。未来最值钱的能力,是能定义系统长什么样,能设计出靠谱的验收标准,以及真出事的时候知道从哪里开始查。
最后,告诉大家一个好消息:我的星球社群已经运营了 800 多天,累计主题 2000 个,星球加入人数 1800+ 人,精华主题 300+ 篇,各种专栏课程累计上百篇,今年更新的视频教程也有 50+ 了。
感兴趣的可以看看具体介绍:
夜雨聆风