Zig为何全面禁止AI贡献?贡献者扑克理论深度解析

Zig编程语言全面禁止AI辅助贡献,核心逻辑是投资人而非投资代码。
Zig编程语言实施了开源界最严格的反AI政策,禁止一切LLM生成的贡献。其核心逻辑是"贡献者扑克"理论:代码审查的真正目的不是合并代码,而是培养贡献者成长为核心成员。AI辅助贡献破坏了这一投资模型,因为维护者的指导精力无法换来一个会成长的人。这一政策也导致Bun团队4倍性能提升的补丁无法回馈Zig上游。
开源世界最严格的反AI政策:Zig做了什么
Zig编程语言项目近期因其在开源社区中最为严格的反LLM(大语言模型)政策引发了广泛讨论。该政策的规定简单粗暴:
- 禁止使用LLM提交Issue
- 禁止使用LLM提交Pull Request
- 禁止在Bug追踪器中使用LLM发表评论,包括翻译
在AI辅助编程已经成为主流开发工具的2025年,这一政策显得格外引人注目。截至目前,GitHub Copilot拥有超过百万付费用户,Cursor、Windsurf等AI原生IDE快速崛起,Stack Overflow的2024年开发者调查显示超过76%的开发者在工作中使用或计划使用AI编程工具。在这样的行业大背景下,Zig的全面禁令显得尤为特立独行。
更耐人寻味的是,Zig生态中最知名的项目——Bun JavaScript运行时已被Anthropic收购,正在大量使用AI辅助开发。一边是AI全面拥抱,一边是AI全面封杀,这种对比令人深思。
Zig是什么:一门追求"无隐藏行为"的系统语言
要理解Zig项目为何做出如此激进的决策,首先需要了解它的背景。Zig是一门2015年由Andrew Kelley发起的系统级编程语言,定位为C语言的现代替代品,同时被设计为与C/C++代码无缝互操作。它的核心设计哲学是"没有隐藏的控制流"——不同于C++和Rust中大量的隐式行为(如隐式类型转换、析构函数自动调用、运算符重载等),Zig要求所有行为都在代码中显式可见。Zig还有一个独特的技术特性:它自带一个可以直接编译C和C++代码的工具链(基于Clang/LLVM),这使得它成为了一个极其方便的交叉编译工具。Zig项目由Zig软件基金会(ZSF)管理,这是一个501(c)(3)非营利组织,依靠企业赞助和社区捐赠运营,核心团队规模较小但极为精干。正是这种小团队、高标准的运营模式,为其后续的AI政策埋下了伏笔。
Bun的4倍性能提升为何无法回馈Zig上游
Bun团队在其维护的Zig分支上取得了一项重大突破:通过为LLVM后端添加"并行语义分析和多代码生成单元",将Bun compile的性能提升了4倍。这本该是上游社区求之不得的贡献,但Bun团队明确表态:
我们目前不打算将此贡献回馈上游,因为Zig严格禁止LLM生成的贡献。
Bun与Anthropic收购的背景
Bun是由Jarred Sumner于2022年发布的JavaScript/TypeScript运行时,以极致性能著称,其核心部分使用Zig编写(而非传统的C/C++),这也是Zig语言迄今为止最大的"杀手级应用"。Bun的设计目标是成为Node.js的全功能替代品,集成了包管理器、打包器、测试运行器和转译器等功能。2025年,AI公司Anthropic(Claude的开发商)收购了Bun,这一举措被广泛解读为Anthropic希望在AI代码生成和执行基础设施方面建立技术优势。收购后,Bun团队开始大量使用AI辅助开发流程,这与其上游Zig项目的反AI立场形成了鲜明对比。
并行语义分析的技术含义
要理解这个4倍性能提升的分量,需要了解一些编译器基础知识。LLVM(Low Level Virtual Machine)是当今最主流的编译器基础设施框架,GCC之外几乎所有主要编程语言(包括Rust、Swift、Zig等)都依赖LLVM作为代码生成后端。编译器的工作通常分为前端(词法分析、语法分析、语义分析)和后端(优化、目标代码生成)两大阶段。语义分析是前端的关键步骤,负责检查代码的类型正确性、变量作用域、生命周期等逻辑约束。
传统上,Zig的语义分析是单线程串行执行的,这意味着即使在多核CPU上,编译器也只能逐个处理代码单元。Bun团队实现的"并行语义分析"允许多个CPU核心同时处理不同的代码模块,而"多代码生成单元"则让LLVM后端可以并行生成多个目标文件,两者结合可以显著缩短编译时间。这类修改涉及编译器的核心架构,任何并发引入都可能影响编译结果的确定性和正确性,因此上游项目对此持谨慎态度是合理的。
这一声明迅速在社区引发热议。Zig核心贡献者随后补充说明,即使不考虑LLM政策,这个特定补丁也不会被直接接受——并行语义分析是Zig长期规划中的功能,对语言本身有深远影响,需要经过完整的设计讨论流程。但LLM禁令无疑是更具话题性的阻碍因素,也把Zig的AI政策推到了聚光灯下。
贡献者扑克理论:Zig禁止AI的核心逻辑
Zig软件基金会社区副总裁Loris Cro在博文《Contributor Poker and Zig's AI Ban》中,给出了目前对全面禁止LLM辅助贡献最有说服力的论述。
投资人,而非投资代码
任何成功的开源项目,维护者最终都会面临一个现实:PR数量远超团队的处理能力。面对这个问题,Zig项目做了一个不同寻常的选择——不是拒绝不完美的PR来最大化投入产出比,而是尽最大努力帮助新贡献者完成他们的工作,哪怕他们需要大量额外指导。
这不只是情怀,更是策略。在Zig团队看来,每一位贡献者都是一笔投资。审查和接受PR的首要目标不是合并新代码,而是培养新的贡献者,让他们在持续参与中成长为值得信赖且高产的项目成员。
一个新手今天提交的PR可能漏洞百出,但如果维护者愿意花时间指导,这个人三个月后可能就能独立处理复杂的编译器问题,一年后甚至可能成为核心维护者。这笔账,Zig算得很清楚。
代码审查的隐性成本
理解Zig这一策略的关键,在于认识到PR审查的真实成本。在大型开源项目中,Pull Request的审查远不只是"看一眼代码然后点合并"。一次高质量的代码审查通常包括:理解PR的设计意图、验证实现是否符合项目架构规范、检查边界条件和错误处理、运行测试套件、评估对现有功能的回归风险,以及与贡献者进行多轮沟通反馈。Linux内核项目的数据显示,一个中等复杂度的补丁从提交到最终合并平均需要经历3-5轮审查迭代。对于编译器这类对正确性要求极高的项目,审查成本更是成倍增加。这就是为什么Zig团队将审查时间视为一种"投资"——如果这些时间能换来一个未来能独立审查他人代码的贡献者,投资回报率是巨大的;但如果贡献者只是AI的"传话筒",这些投资就完全打了水漂。
LLM辅助如何从根本上破坏这一模型
LLM辅助贡献打破了这个投资模型的底层假设。即使LLM帮你提交了一个技术上完美的PR,Zig团队花在审查上的时间也无法换来一个有能力的新贡献者。维护者投入的精力变成了沉没成本——反馈给了一个不会成长的"代理人",而不是一个真实的、会学习的人。
Loris把这种策略比喻为"贡献者扑克":
之所以称之为'贡献者扑克',是因为就像人们对真正的纸牌游戏所说的那样,'你玩的是人,而不是牌'。在贡献者扑克中,你押注的是贡献者,而不是他们第一个PR的内容。
换句话说,Zig维护者在审查PR时,真正评估的不是这段代码好不好,而是这个人值不值得投资。
一个值得所有开源项目深思的反问
贡献者扑克理论引出了一个越来越尖锐的问题:如果一个PR主要由LLM编写,项目维护者为什么要花时间审查它,而不是自己用LLM解决同样的问题?
这个问题触及了AI辅助编程在开源协作中的根本矛盾。当贡献者用AI生成代码时,审查者实际上是在为一个"代理人"的输出做质量把关。这个代理人不会从代码审查的反馈中成长,不会在社区中建立信任关系,也不会在凌晨三点响应紧急Bug。
对维护者来说,审查AI生成的PR是一笔亏本买卖——付出了时间成本,却没有获得社区建设的回报。
"Slop PR"现象:AI垃圾贡献的行业困境
值得注意的是,Zig并非唯一面临这一困境的项目。随着AI编程工具的普及,AI生成代码的质量问题日益凸显。GitClear的研究报告指出,自Copilot普及以来,代码库中的"代码搅动率"(code churn,即短期内被修改或撤销的代码比例)显著上升。多个开源项目维护者公开抱怨收到大量由AI生成的低质量PR,这些PR表面上格式规范,但缺乏对项目上下文的理解,反而增加了维护负担。这一现象被社区戏称为"slop PR"(垃圾PR),与社交媒体上的"AI slop"(AI垃圾内容)如出一辙。Zig的全面禁令,某种程度上是对这一行业趋势的极端回应。
并非所有开源项目都适用这一策略
客观地说,Zig的策略有其特殊的项目背景。作为一个编程语言和编译器项目,它具备几个关键特征:
- 贡献者需要对编译器内部机制有深刻理解
- 代码质量和风格一致性要求极高
- 培养核心贡献者的长期价值远超短期代码合并的收益
- 项目规模允许维护者对每个贡献者进行个性化投资
对于其他类型的开源项目——文档驱动的项目、工具类项目或快速迭代的应用层项目——完全禁止AI辅助可能既不现实也不合理。一个需要大量本地化翻译的文档项目,禁止AI辅助翻译可能会严重拖慢进度。
但Zig的案例提供了一个清晰的思考框架:**在评估AI辅助贡献时,不仅要看代码本身的质量,还要考虑审查过程对社区建设的长期价值。**每个项目都应该根据自身情况,在效率和社区投资之间找到平衡点。
结语:开源的本质是人的社区
在AI工具渗透软件开发各个环节的今天,Zig项目的立场提醒我们一件容易被遗忘的事:开源不仅仅是代码的聚合,更是人的社区。
当我们过度关注效率和产出时,可能会忽略开源生态中最宝贵的资产——那些愿意投入时间学习、在代码审查中成长、并最终成为项目支柱的真实的人。Zig的"贡献者扑克"理论,为整个开源社区提供了一个在AI时代重新审视协作本质的独特视角。
不管你是否认同Zig的做法,这个问题值得每一个开源项目维护者认真思考:你的项目在投资代码,还是在投资人?
相关推荐
观点碰撞Windsurf CEO深度访谈:速度是唯一的护城河
Windsurf CEO Varun Mohan深度访谈,分享AI编程IDE的创业pivot经验、产品构建方法论、异步Agent挑战,以及与Cursor竞争的差异化策略。速度才是创业公司唯一的护城河。
观点碰撞被低估即自由:AI时代的逆向竞争哲学
探讨AI行业中"被低估即自由"的逆向竞争策略。从OpenAI、DeepSeek到Cursor,解析为何低调积蓄力量比站在风口浪尖更具战略优势,以及这一哲学对AI创业者和从业者的深刻启示。
观点碰撞新教工作伦理如何被劫持:从保护工人到压迫工人的演变
哲学家Elizabeth Anderson揭示新教工作伦理如何从保护工人的理想被扭曲为压迫工具。从清教徒的公平商业伦理到新自由主义的复活,深度解析工作伦理的历史演变及其对AI时代劳动关系的启示。