首页 › programming › 6天100万行:AI重写Bun的编程史诗

6天100万行:AI重写Bun的编程史诗

当一个JavaScript运行时决定"换心脏"

2026年5月14日,GitHub上 oven-sh/bun 仓库合并了一个编号为 #30412 的Pull Request。这不是一个普通的PR——它包含6,755个commit,修改了2,188个文件,新增了1,009,257行代码,删除了4,024行。本质上,它把整个Bun运行时从Zig语言重写为Rust。而完成这一切的主力,是Anthropic的Claude AI。

这个事件在Hacker News上获得705个赞和785条评论,Reddit、Twitter/X上引发轩然大波。YouTube上的深度解读视频"Bun's AI-Driven Migration: Zig to Rust"也迅速成为编程圈热议话题。这不仅仅是一次技术迁移——它是AI参与大规模软件工程的里程碑事件,也是2026年编程世界最具争议的故事之一。

视频背景卡片

项目 内容
视频标题 Bun's AI-Driven Migration: Zig to Rust
频道 编程技术分析频道
时长 约18-25分钟
核心主题 Anthropic用Claude AI将Bun从Zig重写为Rust的技术内幕
关联事件 PR #30412合并,1M+行代码迁移
社区热度 HN 705+赞/785评论,Reddit多帖热议

核心内容拆解

一、从Zig到Rust:为什么Bun必须"换心脏"

Bun的故事要从2022年说起。当时,创始人Jarred Sumner选择Zig作为Bun的开发语言,这个决定在当时非常大胆。Zig提供了无GC的直接内存控制、与C的无缝FFI互操作、以及极小的运行时开销——这些特性让Bun能够直接包装JavaScriptCore引擎(苹果Safari的JS引擎),实现了比Node.js快3-10倍的性能。

但到2025年底,情况发生了根本变化。Anthropic收购了Bun。这个收购不是随意的——Claude Code作为一个需要大量JavaScript执行能力的AI编程工具,对高性能JS运行时有刚需。收购后,Zig的几个致命问题暴露出来:

  1. Anthropic的AI贡献政策:Anthropic无法向Zig项目贡献代码,因为Zig的贡献者协议与Anthropic的AI使用政策冲突。这意味着Bun必须维护自己的Zig fork,长期来看不可持续。

  2. 人才招聘困境:全球熟练的Zig开发者屈指可数,Anthropic很难为Bun团队招到足够的人。相比之下,Rust开发者池大得多。

  3. 生态系统差异:Zig的包管理器、构建工具、第三方库都远不如Rust的Cargo生态成熟。

  4. 企业级集成:Rust的安全性保证(所有权系统、生命周期检查)更适合Anthropic这样对安全性有严格要求的企业环境。

正如一位Hacker News评论者所说:"Anthropic无法向Zig贡献代码,Bun必须维护Zig的fork——这才是重写的真正原因,而不是技术优劣。"

二、100万行代码、6天:Claude是怎么做到的

这是整个故事中最令人震撼的部分。根据视频解读和多方报道,迁移过程如下:

准备阶段(5月4日前后):团队创建了一份超过30KB的PORTING.md文档,详细定义了Zig到Rust的类型映射、惯用法映射和crate选择。这份文档相当于给Claude一本"翻译手册"——每个Zig概念对应什么Rust概念,每个模块用什么Rust crate替代。

执行阶段(约6天):Claude基于PORTING.md,从分支claude/phase-a-port开始,逐文件将Zig代码翻译为Rust。这个过程产出了6,755个commit,最终通过了Bun已有测试套件的99.8%。

关键数据: - 约96万行Zig代码被翻译为Rust - 测试通过率:99.8%(Linux x64 glibc) - 二进制体积:减少3-8 MB - 分支名claude/phase-a-port直接暴露了AI驱动的事实

这里有一个微妙但重要的细节:虽然新闻报道常说"6天完成重写",但Hacker News上的开发者指出,准备那份30KB的PORTING.md本身可能花费了大量时间。真正的工作不是6天,而是包含了前期的详细规划和迭代。Claude的角色更像是一个"超级翻译引擎"——它需要极其精确的指令才能产出可靠代码。

三、AI写代码的边界:99.8%通过率背后的争议

99.8%的测试通过率听起来令人惊叹,但社区对此的态度是分裂的。

支持者的观点:这证明了AI已经能够处理超大规模的代码迁移任务。传统的"大重写"项目往往耗时数月甚至数年(比如Python 2到3的迁移用了十多年),而AI将其压缩到一周内。这是软件工程效率的一次质变。

质疑者的观点: - 99.8%意味着还有0.2%的测试失败——对于一个JS运行时来说,0.2%的边缘情况可能意味着生产环境的崩溃 - 测试覆盖≠实际覆盖:Bun的测试可能没有覆盖所有边缘情况 - AI生成的代码可能缺少"人类直觉"——比如对某些性能热点的特殊优化 - 这不是"从零创造",而是"翻译"——难度本质不同

开发者Jiacai Liu在其博客中写了一段令人深思的话:"Bun能走到今天,正是因为Zig。Jarred当初选Zig不是因为它'酷',而是因为Zig让一个小团队能快速原型化一个高性能JS运行时——无需GC,无需笨重的运行时。Zig的comptime、直接操作内存的能力、与C的无缝互操作,都是Bun诞生的关键条件。"这段话提醒我们:不要因为"Rust更主流"就否定Zig的历史贡献。

四、性能真相:Rust版Bun到底快不快

独立开发者jtorchia在dev.to上发布了实测基准测试,结论令人意外但合乎逻辑:

"加速一个JS运行时的正确方式,是忽略它用什么语言写的。"

他的测试发现: - Rust版Bun与Zig版Bun在大多数基准测试中性能差异在2-5%以内 - JavaScript的执行时间主要由JavaScriptCore引擎决定,而不是外层runtime的语言 - 真正影响性能的是FFI调用开销、系统API封装效率、HTTP服务器实现等

简单来说,Bun的快不是因为它用Zig写的,而是因为它用JavaScriptCore而不是V8。重写为Rust不会让Bun变慢(因为Rust和Zig的性能特征非常接近),但也不会让它明显变快。

二进制体积方面,Rust版确实减少了3-8 MB,这是一个正向的改进。

五、对JavaScript生态的冲击波

这个事件的影响远超Bun本身:

  1. 运行时竞争格局改变:Bun + Anthropic = 一个有AI公司全力支持的JS运行时。这给Node.js和Deno都带来了压力。Node.js背后是OpenJS基金会(社区驱动),Deno背后是Ryan Dahl的创业公司——但Anthropic的资金和资源远超这两者。

  2. "AI写运行时"成为现实:如果AI能重写一个JS运行时,那AI能重写什么?这个问题让很多开发者感到兴奋又恐惧。

  3. Zig社区的损失:Bun一直是Zig生态最成功的项目,它的离开对Zig社区是一个打击。Zig的独特优势——comptime、手动内存管理、C互操作——在一个Rust主导的世界里可能被低估。

  4. Claude Code的垄断风险:Bun现在是Anthropic的产品,如果Claude Code因为深度集成Bun而获得不公平的速度优势,其他AI编程工具(如Cursor、GitHub Copilot)可能处于劣势。

六、PORTING.md:AI工程化的关键文档

整个迁移过程中最值得学习的不是AI的能力,而是那份30KB的PORTING.md。根据GitHub上的commit记录,这份文档包含了:

这揭示了一个关键洞察:AI写代码的能力取决于人类提供的指令精度。PORTING.md不是简单的"把X翻译成Y",而是包含了大量的工程决策和折衷。AI是执行者,人类才是架构师。

七、开源社区的反应:分裂的声音

Hacker News上的785条评论展现了社区的复杂情绪:

乐观派(约40%): - "这是AI辅助软件工程的分水岭时刻" - "想象一下,以后每次语言升级都能用AI自动迁移"

怀疑派(约30%): - "用AI翻译代码不是新概念,关键是维护成本" - "99.8%通过率意味着8,000个测试中有16个失败——对运行时来说不可接受"

哲学派(约20%): - "我们正在见证编程的范式转变——从'写代码'到'写翻译规则'" - "Zig到Rust不是技术选择,是企业收购后的被迫选择"

愤怒派(约10%): - "这是对Zig社区的背叛" - "Anthropic用AI重写开源项目,然后以闭源形式发布?"

八、对开发者的实战启示

这个故事给我们带来的不仅仅是技术八卦,而是实实在在的工程智慧:

  1. PORTING.md方法论:如果你要做一个大规模的代码迁移(无论是语言升级还是框架迁移),先写一份详细的"翻译手册"比直接动手重要10倍。定义好类型映射、惯用法映射、错误处理策略,然后让工具执行。

  2. AI是执行者,不是决策者:Claude完成了100万行翻译,但架构决策、crate选择、错误处理策略都是人类定义的。你的核心竞争力不是"写代码的速度",而是"做工程决策的能力"。

  3. 测试是AI的护栏:99.8%的通过率是Bun有完善的测试套件才可能验证的。没有测试,AI生成的代码就是黑箱。

  4. 语言选择是综合决策:Bun从Zig到Rust的迁移告诉我们,选择编程语言不仅仅是技术决策,还涉及招聘、生态、企业政策、长期维护等多重因素。

知识结构图

mindmap
  root((Bun Zig→Rust迁移))
    背景
      2022: Jarred Sumner用Zig创建Bun
      2025.12: Anthropic收购Bun
      Zig的局限
        Anthropic无法贡献Zig代码
        Zig开发者稀缺
        生态不如Rust成熟
    迁移过程
      PORTING.md 30KB翻译手册
        类型映射
        惯用法映射
        crate选择
      Claude AI执行翻译
        6,755 commits
        ~96万行代码
        约6天完成
      PR #30412合并
        99.8%测试通过率
        二进制减少3-8MB
    技术洞察
      Rust vs Zig性能差异<5%
      JS性能由JSCore决定
      AI需要精确指令
      测试是AI护栏
    影响
      JS运行时格局改变
      Zig社区受打击
      AI工程化范式确立
      Claude Code获得优势
    争议
      AI写运行时可靠吗
      对Zig社区是否公平
      开源变闭源风险

实战启示

这个事件为每个开发者提供了可操作的经验:

如果你是技术负责人:当面临技术选型时,不要只看语言本身的性能。要考虑人才市场(能招到多少人)、生态系统(第三方库是否丰富)、企业政策(你的公司能贡献代码吗)、长期维护成本。Bun的故事告诉我们,"技术上最优"不等于"组织上最优"。

如果你是AI工具用户:学会写"翻译手册"而不是直接让AI动手。PORTING.md的成功证明了:精确的结构化指令 + AI执行 = 高效的代码迁移。这个方法论可以应用到任何大规模重构任务——从jQuery迁移到React、从Python 2迁移到3、从REST迁移到GraphQL。

如果你关心职业发展:记住jtorchia的测试结论——"加速JS运行时的关键是忽略它用什么语言写的"。同理,你的核心竞争力不是掌握某种语言,而是理解底层原理(JavaScript引擎如何工作、内存如何管理、并发如何实现)。语言会变,原理不会。

延伸学习路径

  1. Bun's Zig-to-Rust Rewrite: Engineering Challenges — dasroot.net的工程挑战深度分析,包含Zig和Rust标准库的详细对比
  2. Bun PR #30412 merged: 1M-line Zig-to-Rust rewrite — 日文技术博客的英文版翻译,包含完整的技术细节和binary对比
  3. Bun Migrates from Zig to Rust: Real Benchmarks — 独立开发者的实测基准测试,用数据说话
  4. Hacker News讨论帖 — 785条评论,社区反应的全景图
  5. My Thoughts on Bun's Rust Rewrite — 开发者Jiacai Liu的反思,强调"不要否定Zig的历史贡献"

一句话总结

Bun的Zig-to-Rust迁移不是一次简单的语言更换——它是AI工程化的里程碑,证明了当人类提供精确的架构指令时,AI可以在一周内完成百万行级别的代码翻译;但同时也提醒我们,技术决策永远不只是技术问题,它关乎人、组织、生态和未来。

参考来源

  1. Bun's AI-Driven Migration: Zig to Rust — 分析的核心视频
  2. Anthropic's Bun Rust rewrite merged at speed of AI - The Register — 权威媒体报道
  3. The Rustification of the Runtime: Lessons from the Bun Rewrite - dasroot.net — 技术深度分析
  4. Bun Rewrites 960K Lines from Zig to Rust in 6 Days — 关键数据汇总
  5. Bun, Zig, and Rust: What the Rewrite Rumor Means for Your Stack — 开发者视角分析

本文由「51学通信」技术团队出品。51学通信由通信行业18年老兵爱卫生(微信ID: gprshome201101)维护,聚焦5G/6G核心网、3GPP标准解读、通信前沿技术深度分析。 出版作品有《5G核心网原理与实践》《IMS原理与实践》等4本通信专业书籍。知识星球「51学通信」提供深度技术答疑和行业洞察。

[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。

51学通信知识星球海报-扫码加入