AI 并未破坏开源,而是移除了无人设计的过滤器
作者以 curl、Ghostty、Jazzband 等项目为例,剖析 AI 生成代码使 PR 门槛坍塌、维护者评审负担激…
2026 年 1 月,运行了 7 年的 curl 漏洞赏金计划被关闭;同月,维护 84 个 Python 项目的 Jazzband 集体宣布解散;tldraw 将外部 PR 改为自动关闭;Ghostty 出台了针对低质 AI 投稿的零容忍政策。这些项目不缺贡献者,恰恰是被汹涌而来的低质贡献压垮。本文认为,问题不在 AI 本身,而在一种被无意间充当质控机制、如今被 AI 抹掉的「努力门槛」。
一个未被设计的过滤器
Ghostty 作者 Mitchell Hashimoto 在更新后的 AI 政策中给出了一段精准表述:智能体式编程消除了过去基于「努力」的天然背压,让低质内容的生产变得极其廉价。所谓「背压」,正是理解整件事的关键。
在 2023 年之前,向一个陌生项目提交 PR 意味着:克隆仓库、跑通构建、读懂代码定位修改点、跑测试并解释失败原因。没人刻意把它设计成质量系统,但它客观上构成了过滤器——愿意走到 PR 这一步的人,至少理解过自己改了什么。这层「过路费」消失后,能编译并通过 CI 的补丁只需几分钟即可生成,无需任何理解。
Hashimoto 明确表示这不是反 AI 立场——Ghostty 本身大量依赖 AI 编程。问题不在工具,而在于把思考外包给模型、却把验证账单甩给维护者的贡献者。
击穿体系的非对称性
代码生成成本断崖式下降,代码评审成本却丝毫未变。这道非对称对任何开放入口的系统都是致命的。curl 给出了具体数字:过去几年漏洞报告中「确为真实漏洞」的比例长期高于 15%,2025 年因 AI 生成报告涌入跌破 5%;2026 年前 3 周,curl 收到 20 份提交,其中 7 份集中在 16 小时内,安全团队逐一复现、追溯代码路径后确认无一份描述真实漏洞。Daniel Stenberg 在《death by a thousand slops》一文中总结得直白:量大质低,耗时长而收获少。
安全报告是最残酷的版本:你不能忽视它。误杀真实漏洞代价极大,因此每一份伪造报告在被合理丢弃前都必须被认真调查。生成成本趋近于零,负责任丢弃的成本依然高企。
值得一提的是,curl 在约一个月后重新开放了赏金计划,因为报告质量回升;回升的并非「AI slop」,而是高质量、人工复核的高产报告。问题从来不是 AI,而是剥掉了努力的未审输出。
检测 AI 是错误的方向
市场的本能反应是开发检测器:给 PR 打分,评估其由模型生成的可能性。这一路径在两个独立维度上失败,且都是致命的。
- 技术上不可靠:检测 AI 生成内容本就不稳定,且随模型进步愈发不可靠。一个误报率 5% 的检测器对准月均 100 个 PR 的项目,每月会指控 5 位人类贡献者造假;只要其中一次演变为公开争论,项目损失便远超收益。
- 概念上不成立:AI 生成的代码本身不是问题。反对 slop 最强烈的维护者自己每天都在用 AI 助手——最有力的反例是:一位安全研究者向 Stenberg 提交了一批 AI 辅助的发现,最终修复了约 50 个真实漏洞。同样的工具,相反的结果,差异只在于输出在被提交前是否被人真正理解并验证。
关键变量从来不是代码从何而来,而是提交者是否理解自己提交了什么。一份人类撰写、却连自己改动都解释不清的 PR,本质上仍是垃圾,与 AI 无关。
项目已经在做的事
最具说服力的细节,是这些项目的政策实际写明了什么。
- matplotlib 的贡献指南直白警告:使用 AI 输出却不确保自己完全理解、未验证其正确性的提交将被标记并拒绝。
- Ghostty 没有走检测器路线,而是推出「Vouch Request」机制:首次贡献者必须用自己的话解释清楚——且明确不可由 AI 代笔——才有资格提交 PR。
- tldraw 关闭外部 PR 时将其定性为临时措施,等待更好的工具出现。
这些措施本质上都不是「禁止使用 AI」,而是以人工方式、逐 PR 地索取「理解的证明」——消耗的恰恰是政策本意保护的那种稀缺资源。当下的解法并不优雅,但它是与问题匹配的那一种:让贡献重新变得有代价,同时承认 AI 本身只是工具,真正可被检验的,是提交者对作品的负责程度。
