GitHub 出手整治 AI 垃圾代码,但“删除 PR”功能引发巨大争议
GitHub 社区最近炸锅了。随着 AI 编程工具的普及,开源项目的维护者们正在经历一场前所未有的信任危机。
面对海量生成的低质量代码(被社区戏称为 "AI Slop"),GitHub 官方终于坐不住了,并在社区发布了一项关于整治低质量贡献的讨论,试图通过技术手段挽救濒临崩溃的开源协作模式。
开源维护者面临的问题
事情的起因很简单,GitHub 官方工作人员 moraesc 发起了一个编号为 #185387 的讨论。他直言不讳地指出,开源社区目前面临一个严峻问题:低质量贡献的数量正在急剧增加。这些贡献往往不遵循项目指南,提交后就被遗弃,且很大一部分带有明显的 AI 生成特征。
这一表态迅速引发了维护者们的强烈共鸣。来自 Azure Core Upstream 的维护者 Mossaka 在讨论中指出了问题的核心:审查信任模型已经崩溃。在 AI 时代之前,审查者默认代码由人类编写,作者理解自己提交的内容。
但现在,一个 AI 生成的 Pull Request (PR) 结构上看似乎完美,逻辑上却可能完全错误或存在安全隐患。维护者必须逐行审查,因为提交者自己可能根本不懂这段代码。这种“提交成本为零,审查成本极高”的不对称性,正在耗尽维护者的精力。
GitHub 拟推出功能:直接删除 PR
为了解决这个问题,GitHub 官方提出了几项短期和长期的解决方案。其中最引人注目,也最具争议的,是赋予维护者“从界面直接删除 PR”的能力。
目前,维护者只能关闭 PR,但关闭的记录依然存在。GitHub 提议允许维护者直接将那些垃圾 PR、欺诈性提交或毫无意义的 AI 生成内容彻底抹除,就像它们从未存在过一样。官方认为,这将有助于维护者清理项目的时间线,减少噪音。
除了删除功能,GitHub 还计划推出更细粒度的权限控制。例如,限制只有协作者才能提交 PR,或者禁止特定类型的用户(如新注册用户)发起请求。长期来看,GitHub 甚至考虑引入 AI 来对抗 AI,利用自动化工具在人工审查前先对贡献进行一轮“预审”和筛选。
社区激烈交锋:效率与透明度
这项提议在评论区引发了激烈的辩论。虽然许多深受垃圾信息之苦的维护者为“删除功能”叫好,认为这是清理“印式教程垃圾”和“Hacktoberfest 刷单”的必要手段,但反对的声音同样响亮。
用户 ThiefMaster 指出,赋予维护者彻底删除 PR 的权力极其危险。如果一个 PR 仅仅因为观点不同或揭露了项目的问题而被维护者因“低质量”为由删除,那么开源社区的透明度将荡然无存。
历史记录的不可篡改性是 Git 的核心精神之一,一旦允许“焚书坑儒”,后来者将无法看到项目发展的全貌或曾经发生的争议。
还有开发者担心,这种“一刀切”的限制会误伤那些真正想要贡献但尚未获得权限的新人。如果必须成为协作者才能提交代码,那么开源项目可能会变得越来越封闭,违背了开放协作的初衷。
AI 时代的开源新常态
在这场讨论中,一个无法回避的现实是:AI 已经彻底改变了软件开发的工作流。用户 MuchuCAT 总结得非常到位,问题的本质不是 AI 本身,而是成本的不对称。
社区成员普遍认为,与其简单粗暴地封杀,不如提高透明度。例如,强制要求提交者披露是否使用了 AI 辅助,或者开发能够识别 AI 生成代码的工具。但正如多位技术人员所言,现有的检测手段准确率感人,且极易被绕过。
GitHub 的这次讨论虽然只是一个开始,但它释放了一个明确的信号:那个任何人都可以随意发起 PR 且被默认善待的时代,可能正在离我们远去。未来的开源贡献,或许需要像即时通讯软件防骚扰一样,先通过层层验证。
对于广大开发者而言,这既是警钟也是提示:在未来,仅仅依靠 AI 生成一堆代码并点击“Create Pull Request”,可能不仅无法为你赢得贡献者的头衔,反而会让你被列入项目的黑名单。
信息来源
- • https://github.com/orgs/community/discussions/185387