AI写代码,谁来背锅?
大家好,我是老田。最近半年我用AI写了大量代码。说实话,写得是真快——以前搭一个CRUD后端要半天,现在十分钟搞定。但上个月我接手了一个三个月前自己用AI写的项目,打开代码那一刻,我懵了。我完全不记得这段代码为什么这么写。
这不是段子,这是InfoWorld最近一篇文章里定义的"AI编码债务"——而且它跟传统技术债完全不是一回事。传统技术债是你明知写了烂代码但为了赶进度先上线,你知道烂在哪。AI代码债呢?代码看起来规规矩矩,测试也过了,但你没读过它,不理解它的设计决策,甚至不知道它有没有隐藏的边界条件Bug。
SIG(Software Improvement Group)刚发了一份报告,结论很扎心:AI编程助手在"不健康代码"上的缺陷率增加了30%。什么叫不健康代码?就是复杂度高、模块耦合紧、命名混乱的代码——AI在这类代码基础上改东西,改出问题的概率比人高得多。MIT Sloan Management Review也泼了冷水,说AI编程工具正在制造一个"生产力陷阱":写代码快了10倍,但维护成本高了不止10倍。
这里有个关键区别我要掰开讲。传统代码审查看的是"这段逻辑对不对"。AI代码审查要多看一层:"这段AI写的代码,人类团队能不能理解它"。O'Reilly把这叫"理解债"(Comprehension Debt)——你付的不是运行时的代价,而是未来任何人想改这段代码时的时间代价。而且AI写得越多,债累积越快。
那怎么办?不用AI了吗?当然不是。我这几个月踩坑踩出来的几个原则:第一,AI写的每一段代码,至少有一个团队成员能复述出它的设计意图——做不到就别合入。第二,复杂逻辑不让AI全权决定,你画好架构图,AI只做实现。跟竞品比,Claude Code在这点上比Cursor强,它会在生成代码前先输出设计思路让你确认,但也没有强制约束。
第三,也是最重要的——AI写代码的速度红利,要拿出一部分投资到文档和测试上。Forbes有篇文章说得很好:开发者现在用AI来"起步",但很少用AI来"收尾"。80%的代码是AI写的,却只有20%的测试和文档是AI生成的。这个比例早晚要还。
最后说个现实的判断:如果你的项目生命周期超过三个月,AI代码债就是一个你必须面对的问题。如果是两天就扔的脚本,放心让AI飙。但如果你在维护一个产品、一个服务、甚至一个开源项目——记住老田这句话:AI写得越快,你就该review得越仔细。代码不是你写的,但出了问题,锅还是你的。
—— 老田