研究:AI编码时代代码可维护性大幅下降
GitClear分析6.23亿次代码变更发现,AI辅助编码致代码重复增81%、复用降70%,技术债务全面上升。
GitClear 与 GitKraken 联合发布的最新研究显示,随着 AI 编程工具大规模进入开发流程,代码库的可维护性正急剧恶化。该研究覆盖了 2023 至 2026 年间 6.23 亿次真实代码变更,发现 AI 辅助提交的占比已达四分之一,同时八项与可维护性相关的代码质量指标全面恶化。
核心数据:技术债务全面上升
研究将 AI 编码工具普及前后的提交行为进行对比,得出几个关键发现:
- 代码重复增加 81%,定义为连续五行以上有意义的重复代码出现次数
- 代码复用下降 70%,以 Move(重构)操作衡量,即提交对已有代码库进行编辑的频率
- 遗留代码重构(针对 12 个月以上未触碰代码的更新与移除)自 2023 年以来下降 74%
- 函数间调用连接性下降 35%,反映新代码对既有函数的引用减少
- 错误遮蔽模式增加 47%,即 catch 块、安全导航运算符和存根方法被用来掩盖而非处理异常输入
GitClear 首席执行官、报告作者 Bill Harding 表示:「每次你需要某个功能,AI 都会为它创建一个新的包。这种普遍的开发方式会带来各种后果。」
DRY 原则被普遍抛弃
研究最突出的信号是代码复用大幅减少,开发者越来越倾向于创建新代码而非共享已有逻辑。Harding 指出:「如果你不共享代码,每次实现都会丢掉之前开发者在代码库中积累的所有进展。」
这种趋势的直接后果是代码库膨胀,进而迫使团队围绕新构建的代码重新设计测试、文档和可理解性。Harding 补充说,长期来看,当你有五个相似但不同的同一功能实现时,痛苦就会显现。代码库膨胀不仅增加维护成本,也使得新人 onboarding 变得更加困难。
AI 倾向「掩盖」错误而非真正修复
研究还发现,AI 编程工具的优化目标是满足提示词,而非编写严谨的代码。一种常见捷径是写出「永不抛错」的代码,无论输入多么异常。
「AI 强烈倾向于编写不会被标记为缺陷的代码」,Harding 说道。这种做法将技术债务转嫁给后续维护者——他们最终需要判断哪些错误处理是出于实际需要,哪些是 AI 为图省事而添加的。GitClear 将这种现象称为「遮蔽」(obfuscation),其结果是程序表面不再崩溃,但用户行为变得令人困惑,深度连接减少,沦为「浅层应用」。
趋势是否已见顶?
研究指出,部分指标的增长似乎正在趋于平缓。Harding 表示:「令人鼓舞的是,代码重复增长幅度不大,代码流失也只是略有增加。」但他认为这远未结束,问题的表现非常广泛——不仅是重复,更是缺乏对遗留代码的持续维护。
此前,Google 发布的年度 DORA 报告也印证了类似趋势:2024 年的研究表明,每增加 25% 的 AI 使用量,代码不稳定性上升 7.2%;2025 年研究与 2026 年 ROI 分析也持续指向 AI 使用带来的不稳定问题。
对工程团队的建议是:建立 AI 编码最佳实践的意识,对输出进行审查,并衡量常见的遮蔽模式。Harding 还建议关注那些更容易产生此类缺陷的特定 LLM 或初级开发者群体,并及时调整方向。从近期 Replit agent 删除生产数据库、Moltbook 令牌泄露等事件来看,AI 辅助开发中的可靠性问题仍在持续暴露。
