我拒绝用 AI 生成的合并请求


资深计算机科学家 Stuart Spence 近日在其个人博客中撰文,阐述了他为何会直接拒绝对由 AI 生成的低质量代码合并请求(Merge Request, MR)进行审查。他将这类粗糙、未经打磨的输出称为 “AI slop”,指出此类提交不仅消耗审查者宝贵时间,还可能对项目的整体质量造成损害。
Spence 归纳出六类典型情况,一旦出现便会直接拒绝审查:
- 存在明显冗余或应删除而未删除的代码:原本应被移除的代码仍保留在提交中,迫使审查者额外花费精力识别和指出,徒增负担;
- 提交者缺乏基本编程语言理解:即使借助 AI,作者若对语言核心概念一知半解,生成的代码难以维护,AI 也无法弥补知识短板;
- 充斥未经筛选的“文档垃圾”:AI 自动生成大量冗余、无关或格式混乱的注释与文档,反而干扰阅读与审查流程;
- 引入风格不一致的代码或测试逻辑:擅自引入新框架、日志方式或测试模式,破坏项目既定风格,增加团队认知成本;
- 对边界条件过度设计,导致新 bug:AI 常倾向于添加不必要的边界处理,结果可能引入逻辑错误,掩盖真实问题;
- 包含无意义或已被弃用的依赖项,且提交者无法说明来源:当无法解释为何引入某依赖时,往往最终归咎于“AI 生成的”,逃避责任。
尽管如此,Spence 并未全盘否定 AI 在开发中的作用。他表示,若代码用于一次性数据分析、处于功能边缘位置,或提交者明确说明 AI 的使用范围并提供了充分的人工验证过程,他仍愿意接受审查。关键在于透明性、责任感与对代码质量的把控。
下一篇 >>
网友留言(0 条)