一个由Anthropic投资并购的开源项目,用AI在数天内把上百万行Zig代码重写成Rust,合并上线,两个月后才补发一篇解释博客。这不是段子,是Bun项目今年的真实进度。Zig语言作者Andrew Kelley看完解释博客后写了一篇措辞很不客气的回应,矛头不是Rust,而是那句被反复强调的"AI速度"。

这场争论表面是Zig和Rust的语言之争,实际戳中的是一个更硬的问题:一段几乎没被人工审查、只是跑通了测试的百万行代码,能不能算"可信"。

五月合并,七月才吵起来

Bun原本是用Zig写的TypeScript运行时,类似更快的NodeJS,曾是最大的Zig代码库之一。Zig社区的行为准则明确写着禁止AI贡献代码,而Bun创始人此前公开说过自己的代码"近乎100%由AI生成"。这种立场反差,本身就是一颗雷。

5月14日,Bun把Rust重写版本合并进主干,新增代码超过百万行,主要由Claude生成,官方说法是通过了跨平台的现有测试套件。The Register当时的报道标题很抓眼球,把这次合并形容成一次几乎无法被人工审查的"庞然大物式提交"。

两个月后,Bun才发出正式的迁移解释博客。Kelley在7月9日发文回应,核心观点是:Bun过去的内存bug更像是工程流程和代码审查环节出的问题,不是Zig这门语言本身撑不住。他后来也承认这篇文章带了情绪,专门为可能被误读成"Zig项目会攻击离开者"的说法道过歉。

时间线:从合并到吵架 5月14日 Rust版合并 媒体跟进 AI速度标题 两个月后 官方解释博客 7月9日 Kelley回应

测试通过,不等于有人看过

争论的技术核心,其实很朴素。AI把一份人工写了多年、测试套件已经很完备的旧代码翻译成新语言,和AI独立设计、审计、维护一套百万行级的系统程序,是完全不同的两件事。前者证明了翻译能力,后者才是Anthropic真正想让市场相信的故事。

Reddit和GitHub上的开发者反应也不是一边倒。支持者觉得这至少换来了Rust编译器强制的内存安全检查,是务实的选择;批评者则指出这更像是AI翻译的Zig代码,里面还有大量unsafe标记,审查深度存疑。Kelley还提了一个容易被忽略的细节:Rust版本在性能和体积上的部分优势,可能来自工程优化和编译配置调整,这些手段本来也能用在Zig版本上,不该全算成"换语言"的功劳。

测试绿灯从来不是审查合格证。
  • 风险.百万行由AI生成、仅靠现有测试套件验证的代码合并进生产运行时,一旦出现测试没覆盖到的内存问题,追责链条会很长。
两种能力,别混着算 AI翻译代码 依赖已有测试套件 依赖多年人工积累 本次Bun做到的 AI自主工程 独立设计与审计 无人工先例可依 尚未被证明

谁在为这套验收标准买单

把这件事放回大背景看会更清楚。Anthropic已融资1320亿美元,正走向估值逼近万亿的IPO,支撑这个估值的核心叙事之一是"AI能终结软件工程"。一次高调的语言重写,正好是展示这套叙事最直接的样板间。

问题是,这个样板间的验收标准是"跑通现有测试",而不是"经过人工审查"。对普通开发团队来说,这次案例能抄的部分,是把成熟代码库、完备测试套件先攒够,再考虑用AI辅助大规模迁移;不能抄的部分,是指望AI在缺乏人工兜底的情况下独立设计和维护系统级代码。

Kelley事后为情绪化措辞道歉,这件事本身也说明,这场争论从来不是一边正义一边营销那么干净。Bun的Rust版本目前跑得还行,但unsafe代码占比会不会随时间下降,生产环境会不会出现测试没覆盖到的内存事故,才是接下来真正该盯的指标——而不是这次重写用了多快的速度。