Bun 的创建者 Jarred Sumner 最近宣布,Bun、JavaScript/TypeScript 运行时、包和包管理器已从 Zig 重写为 Rust。重写尝试通过检查 Rust 的债务来解决内存安全环回漏洞。人工智能辅助重写经过 4 个月的工作而不是预计的一年后发布。
萨姆纳总结了峰值背后的动机:
错误率高 […] 释放后使用、双重释放以及在错误路径上“忘记释放”。在 Saf Rust 中,这些是编译器错误和自动清理(如 RAII)
Drop。编译器错误是比风格指南更好的反馈循环。
从历史上看,重写是一个糟糕的主意。 […] 那是 535,496 条 Zig 线。用另一种语言重写它需要一小群工程师花费一整年的时间。这意味着当时冻结错误修复、安全修复或功能开发。
幸运的是,Bun 自己的测试套件是用 TypeScript 编写的,这意味着它不依赖于任何运行时编程语言。
相反,如果我花一周时间测试新的 Anthropic 模型是否可以用 Rust 重写 Bun,会怎么样?
起初我没想到它会起作用。几天后,大部分测试套件开始运行,我可以看到新的 Rust 代码与原始 Zig 基础的匹配程度。我的想法从“这是值得的”变成了“我想把它放在一起”。
Sumner 实现了一个完全自动化的端口,他将其用于克劳德寓言 5 预发布版本的大部分重写,并组织成大约 50 个动态工作流程。 Zig 被移植到 Rust(可能使用 unsafe Rust,可以稍后修复)并针对超过一百万次验证的大型现有测试套件进行验证。移植指南帮助 Claude 将 Zig 模式和类型映射到 Rust 模式和类型。竞争机构代码审查在问题到达最终端口之前进一步识别问题。在每个错误之后,通过改进实施过程而不是手动修复实施工件(例如代码)来改进实施周期。
持续的流程改进揭示了有用的模式。规划阶段对于成功至关重要,应该能够预测和缓解重大问题。 PORTING.md (描述从 Zig 到 Rust 的映射)和 LIFETIMES.tsv 文件(代码库中每个结构化字段的生命周期解释)是该移植成功的关键因素。
然后,可执行文件使用这些文件将 Zig 文件转换为 Rust 代码。执行代理面临两个在单独的上下文窗口中运行的竞争审查代理,它们只能访问文件差异,其唯一任务是检测错误和行为差异。萨姆纳强调地解释道:
行政机关不予审查。它不执行审查。
对审核代理人提出的建议和问题,由整改代理人予以解决。
实施过程的效率保证了实施任务的广泛并行化。但这需要同时更新共享代码库并渴望有限的计算资源。
这项工作最终分为四个工作区,每个工作区管理 16 个代理,与 64 个 Claude 实例一起运行。在高速运行时,系统每分钟生成约 1,300 行代码,每小时记录多达 695 行。
通过完整的测试套件需要价值 165,000 美元的代币——与萨姆纳对人类工程工作的评估进行比较:
合并之前,这需要 59 亿个未缓存的输入令牌、6.9 亿个输出令牌和 720 亿个缓存的输入令牌读取,按 API 定价约为 165,000 美元。手动来说,我认为每年大约需要 3 名工程师才能掌握代码库的完整上下文。
在通过了超过 100 万行代码后,测试套件接受了进一步的测试和验证,这导致了进一步的问题。
该端口的机械性质引入了 19 种微妙的语义回归,这些回归植根于 Zig 和 Rust 之间的语法相似性。 Claude Code Security 的 11 轮安全审查已经解决了多个安全问题。每位 Boone 分析师的每日报道产生了 15 条 PR。
据 Bun 团队称,Bun v1.4.0 中的 Rust 实现修复了 v1.3.14 中的 128 个长期存在的错误,同时带来了巨大的好处。讨论了本机内存泄漏。包装测试连续运行 2,000 次 Bun.build() Rust 中的操作略有增加,达到 609 MB,而不是 6.7 GB。 HTTP 吞吐量从 2% 增加到 5%。
Bun v1.4.0最终于2026年8月发布。
Zig 的创建者 Andrew Kelly 发表了一篇题为“我对 Bun Rust 重写的想法”的严厉强烈反对,其中包括以下评论:
这里提出了一种二分法,您必须选择编程语言的“风格指南”或功能以避免错误。手册语言使读者远离了主要的调试方式:将工程资源投入其中。 […]
移植所有数百万行未经审查的代码的原因是测试套件足以捕获所有内容。那么你为什么说你的 Zig 代码中有这么多烦人的错误呢?测试包足以获得所有内容,这是怎么回事?不足以在 Zig 代码中找到错误,但足以在 100 万行细长的被忽略的代码中找到错误?
同时,用户vitaminCPP表示,结合超过一百万行机器代码,使Boone成为重要的工业金丝雀,判断LLM生成的海量基础能否在整个软件工程生命周期中得到维护。
我们鼓励开发人员阅读全文,其中包括深入的技术解释以及随附的图像和图形。
Boone 于 2025 年 12 月被 Anthropic 收购。