开发者分享AI编码踩坑经验:项目越大,AI改代码越容易出问题
GM,大家好。这是我的AI编码系列文章的第二篇,这篇内容花了我比以往任何内容都多的无用时间。
你让AI修改一处代码,它修改得很完美。但当你打开另一个页面时,会发现那里的内容出问题了。
这种情况发生得足够多,你就不会再把它当成AI随机出错了。更大的问题在于AI修改代码实在太容易了。
项目规模较小时,你基本只需要说“在这里加个按钮”或者“修改这段逻辑”,然后交给AI处理就行。因为项目关联内容少,不太容易出问题。一旦项目规模变大,这种方法就会变得很危险。
我自己的三个项目很明显地体现了这个问题,它们出问题的方式完全不同。
做电商网站时,我通常能立刻发现问题:修改移动端布局后,桌面端页面突然样式不对;修好商品卡片,另一个页面的元素就错位了。视觉问题虽然烦人,但至少能被发现。
CRM(客户关系管理系统)的情况不一样,它大部分内容是逻辑、数据和表格。有些问题表面看起来一切正常,但底层运行逻辑已经被改变了。
我的加密货币项目问题更特殊:UI、角色、访问逻辑、钱包和各类集成都是相互关联的。一处微小修改,就可能在你完全没关注的地方引发问题。
我去看过其他人使用Codex(代码生成模型)和Claude Code的经验,发现同样的问题会以不同形式出现。精准的小修改最终变成大面积代码变更,不相关的修复改动了原本正常的运行逻辑,一次补丁修复反而引发下一个程序故障。这两款工具都会出现这类问题。
于是我慢慢调整了让AI处理现有项目的提问方式。之前我会说:“修改X”。现在我更常说:“修改X之前,先找出所有和它关联的内容,告诉我它可能影响哪些部分,然后只做最小范围的修改。”
听起来只是微小的差别,但整个工作流程都改变了。AI让写代码的成本变得极低,但理清代码关联影响的成本并没有降低。
这就是为什么项目规模变大后,AI编码会变得更困难。不是因为AI突然变糟了,而是每一段新代码都会关联更多已有的代码。
到某个阶段,开发者最重要的能力不再是让AI更快写出代码,而是清楚知道AI改代码时哪些部分不能出问题。