AI代码泛滥:开源维护者的困境
维护者每天打开GitHub,迎接他们的不是精心编写的代码,而是大量由AI生成的低质量代码。
这已不仅仅是技术挑战,而是整个开源生态系统面临的生存危机。
AI生成的低质量代码远不止是代码质量差的问题!虽然开源社区一直存在低质量贡献,但如今的AI垃圾代码带来了全新的挑战。
试想一下:有人直接将GitHub问题复制到ChatGPT,一键生成代码后直接提交,甚至不检查内容。
一份看似专业的漏洞报告,描述的却是不存在的问题!一个声称修复项目的拉取请求,实际上修复的是完全无关的内容!
Stacklok联合创始人Craig McLuckie一针见血地指出了问题。
看看上个月的情况就知道了!
原因很简单:AI生成的垃圾代码太多了!
Python软件基金会安全开发者Seth Larson道出了所有维护者的心声。
多年来,开源贡献者和维护者之间存在一种隐性协议。
贡献者通过参与获得学习机会、丰富简历、实现公司目标,同时成为更大事业的一部分。
维护者则承诺培养社区、指导项目和贡献者。
这种协议意味着,虽然会有糟糕的PR,但历史上,糟糕的PR成本较高——编写代码需要时间,理解代码库需要精力,贡献行为本身筛选掉了不认真的人。
然而,AI彻底打破了这一筛选机制。
任何人都可以生成看似合理的贡献,无需理解代码,也无需付出努力。数量的激增让系统不堪重负。
维护者对AI提交的态度正在转变,趋势是越来越严格。
cURL的Stenberg从2024年初就开始抱怨AI生成的漏洞报告!到2025年中期,curl漏洞赏金计划中约20%的提交是AI垃圾,而真正发现漏洞的仅占5%。
Hashimoto的态度也在变化!2025年8月,他们开始要求强制披露AI使用情况,但到2026年初,直接采取零容忍政策。
他解释说:"我们并非反对AI,而是反对低质量。Ghostty在AI辅助下编写,我们的维护者每天都在使用AI。我们只是希望看到高质量的贡献!"
Ruiz的反应最为激烈!tldraw现在自动关闭所有外部拉取请求。
他的理由揭示了更深层次的问题:"在AI编码助手普及的时代,外部贡献者的代码还有价值吗?如果写代码变得如此简单,我为何要让别人参与?"
讽刺的是,一些最糟糕的PR竟来自他自己编写的AI脚本!他开发的Claude Code命令,本用于捕捉和解决快速创建的问题,却导致了需要他关闭的AI垃圾问题。
贡献者将这些问题输入自己的AI工具,这些工具基于他使用的AI生成了PR:"我的敷衍问题变成了敷衍的PR,AI包办了所有工作!"
尽管AI垃圾代码问题普遍存在,但大多数开源项目仍在观望。
Debian项目内部争论不断!FluxCD项目核心维护者Stefan Prodan表示:"在FluxCD,我们尚未决定如何应对。作为CNCF项目,我们需要与其他项目保持一致。"
等待是明智的!AI工具生态每月都在变化——今天的垃圾明天可能与人类编写的代码无异。
但问题在于,许多项目缺乏能够果断决策的单一维护者结构。多数项目由指导委员会、共识模式或默契合作机制管理。
面对海量AI贡献,许多项目选择暂时顺应,而非完全退出。
你可能会问:开源基金会没有相关政策吗?
他们有!但大多数政策聚焦于许可问题,并未解决维护者面临的AI垃圾代码危机。
AI生成代码的所有权归谁?如果Copilot将GPL协议的代码复制到MIT许可的项目中会怎样?
这些都是需要关注的问题!但这并非让维护者崩溃的主要原因。
2025年5月,GitHub推出了一项功能,允许用户通过Copilot生成问题!只需描述问题,AI便会生成格式规范的Bug报告。
GitHub在公告中承诺,这将使问题创建过程"更快、更轻松且不牺牲质量"。
然而,维护者对这个"质量"提出了质疑。
几乎同时,人们开始询问如何阻止Copilot生成的问题进入他们的存储库。GitHub的回应基本是"无法阻止"。
用户无法屏蔽Copilot机器人,Copilot生成的问题甚至没有标明是AI生成的,而是以人类用户名义提交。
Prodan给出了负面评价。
展示你的工作!以人类身份参与!理解你提交的内容!
如果你使用AI,请像优秀贡献者那样使用它:列出潜在问题,通过AI辅助工具发现真正的问题,修复真正的Bug!
展示如何正确使用AI而不取代批判性思维!
制定明确的政策!公开记录它们,而不是默默忍受!
你并不孤单,你的挫败感是合理的!与其他维护者交流,分享经验,共同寻找解决方案!
构建服务于维护者的工具,而不仅仅是关注参与度指标!
为他们提供过滤、阻止和管理的能力!GitHub,你听到了吗?
现在是时候解决质量和疲劳问题,而不仅仅是许可问题!
法律问题固然重要,但你的社区正面临危机!伸出援手,制定真正帮助维护者的政策!
如果你是那些提交AI垃圾代码的人,希望用零努力的PR填充GitHub贡献图,请停止这样做!你正在伤害整个开源生态!
开源软件是我们数字世界的基石!从互联网基础设施到日常使用的应用程序,开源代码无处不在!
如果维护者因AI垃圾代码崩溃,如果开源项目因质量下降而关闭,我们所有人都将受到影响!
开源不是免费的午餐,而是无数开发者用热情创造的成果!
现在轮到我们行动了!我们必须共同保护这个宝贵的生态系统!
你是否遇到过AI生成的垃圾代码?你的项目是如何应对的?
在评论区分享你的经历!点赞这篇文章,让更多人了解开源维护者的困境!分享给那些仍在提交AI垃圾代码的朋友!