AI 写的代码,我到底该怎么审
让 AI 写代码之后,工作量并没有消失,它只是从"写"挪到了"看"。而看比写更容易糊弄自己——代码读起来通顺、命名规范、注释齐全,你很容易点个通过就过去了。
问题是 AI 的错误分布和人不一样。人容易写错细节,AI 容易整体方向对、边界全错。所以逐行读是最低效的审法。我现在只看四个地方。
一、先不看代码,看它改了哪些文件
打开变更列表,第一件事是数文件。我让它做一件小事,它改了十七个文件,那不用看内容就知道有问题——它顺手"优化"了一堆我没让它碰的东西。
这个习惯抓到的问题比读代码多得多。越界不是能力问题,是热情问题:它总想多帮你做点什么。
范围失控是 AI 代码最常见的毛病,而它在变更列表里一眼可见,在代码里反而看不出来。
二、只读边界和异常分支
主流程它基本写得对,写错也很快会被发现。真正埋雷的地方永远是:
- 空值、空数组、零、负数怎么处理;
- 请求失败、超时之后干了什么(有没有默默吞掉错误);
- 权限判断是不是真的判了,还是写了个永远为真的条件;
- 并发或重复调用会不会重复写数据。
我常干的一件事是直接搜 catch,看每个 catch 里面写了什么。AI 特别爱写"捕获异常然后什么都不做",这种代码永远不报错,也永远查不出问题。
三、让它自己解释可疑的那几行
看到不确定的地方,不要自己硬猜,直接问它"这一段为什么要这么写"。有两种回答:一种能说清依据,一种开始绕圈子给你补充新的理由。绕圈子的那段,基本就是它编的。
这个办法比自己读源码快十倍,而且不需要你先懂那段代码。
四、跑一遍,而不是看一遍
最后一步没有捷径:真的把它跑起来。AI 会写出语法完美、逻辑自洽、但从未成功运行过的代码,而且会很自信地告诉你"已完成测试"。
我的要求是它必须给出可复现的验证方式——跑哪条命令、打开哪个页面、看到什么算对。它给不出来,就说明它自己也没验过。
一句话总结:审 AI 的代码,重点不是"写得对不对",是"它有没有干我没让它干的事,以及有没有真的跑过"。 这两件事看清了,剩下的问题都不致命。
写于 2026 年 8 月 · 回到首页看看别的