• 公司用AI写代码半年,现在没人能看懂了——我带着3个人花了6周清理4万行"数字垃圾"
  • 发布于 4天前
  • 2 热度
    0 评论
  • 科叼
  • 3 粉丝 336 篇博客
  •   

上个月,我们CTO在全员会上说了一句话:"从今天起,所有新项目必须接入AI代码生成工具,KPI考核代码产出量。"

底下30多个开发,没人敢吱声。

但我知道,这事儿要出事。


起因:一场"效率革命"

我在一家做企业SaaS的公司当技术负责人,团队16个人,产品做了3年,代码库大概28万行。

今年1月,公司花大价钱买了企业版AI编程工具的许可证。CTO很兴奋,在管理会上算了一笔账:

"以前一个需求从PRD到上线平均12天。有了AI辅助,目标压缩到5天。人效直接翻一倍。"

他给了一个硬性指标:每个开发每周的"有效代码产出"不低于800行。

你没看错——800行/周

为了达标,大家开始疯狂用AI生成代码。一开始确实爽,CRUD接口半小时搞定,单元测试一键生成,连文档都能自动写。前两个月,需求交付周期从12天压到了7天。

CTO在董事会上表了一功。

但从第三个月开始,事情变味了。


第一颗雷:合并冲突地狱

3月底的一次大版本发布,Git合并冲突爆了。

不是那种"两个分支改了同一行"的小冲突,而是——AI给不同人生成了完全不同风格的代码,但功能重叠。

我打开一个模块,发现:

  • 小A用async/await写的异步逻辑,120行

  • 小B用Promise链写的同一功能,95行

  • 小C用AI生成了一个"优化版",200行,但引入了一个没人见过的第三方库

三个人的代码都能跑。放在一起就跑不了。

更离谱的是,AI给每个人生成的变量命名规则完全不同。同一个概念,一个人叫userHandler,另一个叫UserManager,第三个叫AccountProcessor。

代码审查?根本审不过来。


第二颗雷:没人知道自己写的什么

4月的一次线上事故,彻底暴露了问题。

一个支付模块的边界条件出了bug,用户重复扣款。我让小A去修,他打开代码看了半小时,跟我说:

"哥,这段代码不是我写的。"

我查了Git Blame——确实不是。是AI生成的,但提交在他名下。

他又把AI拉出来问:"这段逻辑是什么意思?"

AI回了一句:"这是根据您之前的上下文生成的支付校验逻辑。"

废话。AI自己都不记得为什么这么写了。

最后是我花了4个小时,从PRD到代码一行行捋清楚,才发现AI在生成时把"幂等校验"的逻辑搞反了——它以为是要做"去重",实际上应该是"保证至少执行一次"。

一个字的理解偏差,导致37个用户被重复扣款。

赔了12万。


对了。顺嘴提一句,技术大厂,前后端-测试机会,全国一线及双线城市均有坑位,待遇和稳定性还不错,感兴趣看看。


第三颗雷:四个月后的"屎山"

到了5月,我们的代码库从28万行膨胀到了41万行。

但功能只增加了20%。

多出来的13万行是什么?是AI生成的重复代码、冗余注释、死分支、无用的异常处理、以及大量"看起来合理但实际没有业务含义"的中间层。

我跑了一个代码分析工具,结果触目惊心:

  • 代码重复率:34%(行业标准<10%)

  • 圈复杂度平均值:47(行业标准<15)

  • 无注释的AI生成代码占比:71%

  • 未使用的导入和变量:2800+处

更恐怖的是,AI在生成新代码时,会"参考"已有代码的风格——但已有代码本身就是AI生成的。形成了一个"AI学AI"的回音壁,代码质量螺旋式下降。

我们内部管这叫"数字屎山"。


6周清退行动

6月初,我找CTO摊牌了。

"再不处理,下个季度这个代码库就没法维护了。"

他终于意识到问题的严重性,给了我6周时间和2个人的全职投入。

我们的清理策略:

第1步:冻结新增。所有新功能暂停两周,先还技术债。

第2步:标记溯源。用Git Blame + AI检测工具,标记出所有疑似AI生成的代码块。大概有6万行。

第3步:分层清理

  • 核心业务逻辑(支付、权限、数据一致性):全部人工重写。不信任AI生成的任何一行。

  • 工具类代码:保留功能正确的,统一命名规范和错误处理。

  • 前端UI代码:合并重复组件,删除冗余。

第4步:建立规范。我们写了一份《AI代码使用规范》:

  • AI生成的代码必须经过人工review才能合并

  • 禁止AI生成的代码直接上生产环境

  • 所有AI代码必须附带业务逻辑说明文档

  • 每周做一次代码质量扫描

6周后,代码库从41万行缩回了31万行。重复率降到了12%,圈复杂度降到了22。

不算优秀,但至少能活了。


最后

AI写代码不是不行。但"行"和"能用"之间,隔着一道巨大的鸿沟。

我现在的要求是:AI可以帮你写初稿,但你必须能解释每一行代码为什么这么写。如果你解释不了,那这行代码就不是你的——它是AI的。

而你,要为你的代码负责。

上周,36kr报道了一个叫SlopFix的团队,3个资深工程师专门帮企业清理由AI生成的代码屎山,1万美元一周,承诺把10万行缩到3.5万行。

你看,AI创造了写代码的需求,又创造了清理AI代码的需求。

这不是效率革命,这是效率轮回。

用户评论