AI 写代码两年多,我发现自己越来越"看不进去"了

用 AI 写代码差不多两年多了,最近越来越强烈地意识到一个问题:不是 AI 写得不好,而是我自己,好像跟不上了。

刚开始那阵子是真的爽。一个需求丢过去,几分钟一堆代码就出来了,还附带一大段改动说明,写得挺认真的,逻辑也通。那会儿我还挺享受这种感觉,觉得自己的效率翻了好几倍。

但时间一长,问题就冒出来了。AI 给我一份改动说明,动辄几百字,甚至更长,我打开一看,眼睛扫过去,脑子却进不去。不是不想看,是真的看不进去------那种感觉有点像上学时读一篇特别长的说明文,字都认识,连起来却抓不住重点,看完了跟没看差不多。代码也是一样,一大坨改动摆在面前,东一块西一块,我很难把它们在脑子里串成一条线,搞清楚"这一步为什么这么改""这个函数改了会不会影响到别的地方"。

说白了,AI 写代码的速度,早就把我理解代码的速度甩在后面了。

前阵子我认真琢磨了一下这个事,倒不是想找什么灵丹妙药,就是想弄明白问题到底出在哪,然后试着调整了一下自己的习惯,感觉稍微好了一些,记录一下。

先别看说明,看 diff

我发现自己以前有个习惯不太好:AI 改完代码,我会先去读那一长串文字说明,试图靠"读懂说明"来理解改动。但后来想明白了,这个顺序反了。文字说明是最费脑子的输入方式,尤其是那种夹杂了一堆专业术语和上下文的说明,读起来比直接看代码变更还累。

现在我改成先看 diff,也就是哪几行加了、哪几行删了、哪几行改了。这个信息密度反而更低,更好消化,因为它是"具体"的,不是"抽象"的。文字说明我现在只是扫一眼,看看有没有什么大的架构层面的决定,比如换了个库、改了个数据结构之类的,剩下的细节全靠看 diff 自己判断。

任务别一次给太大

这个是我踩得最狠的一个坑。以前图省事,喜欢把一个完整的需求一口气丢给 AI,比如"帮我把这个模块从 A 方案改成 B 方案",然后它就哗哗哗给我甩出来几百行改动,外加一篇小作文。我根本没法认真 review,基本上就是扫一眼,觉得"看着没啥问题"就合并了。

现在合理很多------事情先拆开,比如先改数据层,跑通了再改接口,接口没问题了再改界面。每一步都是一个小的、能读完的改动,我可以老老实实地过一遍,甚至能提出点具体意见。小步提交这事儿其实工程上一直都提倡,只是以前觉得跟 AI 合作好像可以偷懒跳过这一步,事实证明跳不过去。

提前把规矩定死,AI 就不用啰嗦解释了

我后来发现,很多长篇说明之所以长,是因为 AI 在给我"解释它做的隐性决定"------用了哪个库、为什么这么命名、错误怎么处理的、代码风格怎么定的。这些东西每次都要重新说一遍,就显得特别啰嗦。

后来我干脆把这些东西提前定好,写进项目的约定里,比如命名规范、目录结构、报错的处理方式。这样 AI 就不用每次都花大段篇幅去交代这些"背景设定",输出会自然瘦身很多,剩下的基本就是纯粹的业务逻辑变化,读起来轻松不少。

换个角度 review,别逐行读

以前带过几年团队,帮同事 review 代码的时候,其实我从来不会逐行去读,而是先看改了哪些接口、这些接口谁在调用、有没有可能产生副作用、测试覆盖到位没有。这套习惯我后来意识到完全可以搬到看 AI 代码上------把注意力放在"边界",而不是死抠"实现细节"。只要接口靠谱,测试能兜底,内部具体怎么实现的,其实可以适当放权,不用每一行都较真。

这个心态转变对我帮助挺大的,因为逐行读代码本来就是个体力活,而且很容易读着读着就走神,反而边界和接口这种关键节点更容易抓住重点。

让测试帮我验证,而不是靠"看懂"来验证

以前我对代码"没问题"的信心,几乎完全来自"我看懂了"。现在想想这个逻辑挺脆弱的,因为看懂不代表没 bug,尤其是 AI 写的代码,逻辑可能是对的,但细节里藏着坑。

现在我会要求每次改动都配一套测试,单元测试也好集成测试也好,让"测试通过"成为我信心的主要来源,而不是死磕"我是不是每一行都看明白了"。这样一来,读代码的目的就变了------不是为了验证它对不对,而是为了了解它的设计思路,压力小了很多,读起来也更从容。

直接要求 AI 说人话

最后一个改变其实最简单,也最容易被忽略:我开始在提示词里直接提要求,让它别写小作文,改成"一句话说清楚改了什么,列 3-5 个关键决策点,如果有风险点单独提一下"。

效果立竿见影,篇幅一下子就收窄了。以前那种铺天盖地的说明文风格,说到底也是 AI 在"尽力表现自己很认真",但对我来说信息密度太低了。明确要求它精简、结构化,它是完全做得到的,只是我以前没提这个要求而已。


写到这儿回头看,其实这些调整没有一个是什么新鲜招数,说白了都是软件工程里早就存在的老规矩------小步提交、关注接口、测试兜底、约定优先于配置。只是以前跟 AI 合作的时候,总觉得"AI 都帮我干了,我是不是可以偷个懒",结果发现该守的规矩一个都少不了,甚至因为 AI 写代码的速度太快了,这些规矩比以前更重要了。

现在的状态是,代码量没少写,但我读起来轻松多了,也更敢说自己是"真的理解了这段代码",而不是"AI 说没问题我就信了"。这个转变对我来说挺重要的。

相关推荐
星栈1 小时前
被 Rust async 纠正的三个异步认知
前端·后端·rust
夏雪coding1 小时前
openpyxl 对账实战:金额浮点、前导零丢失、20 位单号科学计数法
人工智能·后端
全栈弄潮儿1 小时前
AI 写代码后,如何自己检查有没有问题?
aigc·openai·ai编程
前端_刘师兄1 小时前
前端开发工程师转FAE工程师路线规划
前端
禁止摆烂_才浅1 小时前
前端 AI 面试题
前端·面试·ai编程
程序员老赵1 小时前
Docker 部署 ZLMediaKit:轻松搭建高性能流媒体服务平台
前端·javascript·后端
SamDeepThinking1 小时前
从REST到gRPC,一个API选型的思考框架
java·后端·程序员
Liora_Yvonne1 小时前
为什么每次发版,总有用户看到白屏?
前端
小四的小六1 小时前
两个Agent同时写同一个Tool,数据被覆盖了——我是怎么用乐观锁修好的
openai·agent·ai编程