Zig 项目对其反 AI 贡献政策的理由
Source: Hacker News
Zig 的反 LLM 政策
Zig(ziglang.org)在主要开源项目中执行最严格的反 LLM 政策之一,详见其行为准则:
- 不允许在 issue 中使用 LLM。
- 不允许在 pull request 中使用 LLM。
- 不允许在缺陷跟踪器的评论中使用 LLM,包括翻译。鼓励使用英文,但并非强制;贡献者可以使用母语发帖,并依赖他人进行翻译。
Bun 与 AI 辅助
用 Zig 编写的最知名项目是 Bun JavaScript 运行时。2025 年 12 月,Bun 被 Anthropic 收购 并大量使用 AI 辅助。
Bun 维护了自己的 Zig 分支,并最近宣布在添加“并行语义分析和多个代码生成单元到 LLVM 后端”后,Bun 编译性能提升了 4×。细节可见 GitHub 对比 和公告推文:
“We do not currently plan to upstream this, as Zig has a strict ban on LLM‑authored contributions.” – @bunjavascript
贡献者扑克与 Zig 的 AI 禁令
Loris Cro,Zig 软件基金会社区副总裁,在他的文章《Contributor Poker and Zig’s AI Ban》(亦在 Lobsters 讨论)中解释了禁令背后的理由。
在成功的开源项目中,你最终会到达一个阶段:收到的 PR 数量超出你能够处理的能力。鉴于我迄今为止所提到的内容,停止接受不完美的 PR 以最大化工作回报率似乎是合乎情理的,但这并不是 Zig 项目所做的。相反,我们尽最大努力帮助新贡献者把他们的工作提交上来,即使他们需要一些帮助。我们这样做不仅是因为“这件事对”,更是因为这件事聪明。
Zig 重视贡献者本身,而不是他们的贡献。每位贡献者都是 Zig 核心团队的一项投资——审查和接受 PR 的主要目标不是把新代码合并上去,而是帮助培养能够随着时间成长为可信赖且高产的贡献者。
LLM 辅助彻底破坏了这一点。即使 LLM 帮你提交了一个完美的 PR,Zig 团队在审查你的工作时也没有帮助他们为整体项目增添新的、自信的、可信赖的贡献者。
我之所以称之为“贡献者扑克”,是因为正如人们对实际纸牌游戏的说法:‘你玩的是人,而不是牌’。在贡献者扑克中,你下注的是贡献者,而不是他们首个 PR 的内容。
关键要点
- Zig 的政策旨在培养贡献者,而不仅仅是代码。
- 允许 LLM 生成的 PR 会把审稿人的精力从指导转向仅仅代码验证。
- “贡献者扑克”将贡献审查视为对人的投资,而不是对单个补丁的赌博。
- 依赖大量 AI 辅助的项目(如 Bun)可能因该政策在与 Zig 的上游集成时遇到障碍。