Bun 用 Rust 重写进展如何?
Bun 从 Zig 重写到 Rust、并借助 Anthropic 的 Claude 模型推进的这一高调项目,引发了人们对 AI 辅助大型运行时移植“完成”究竟意味着什么的质疑。评论者指出,尽管 Rust 版本已经为 Anthropic 的 Claude Code 编辑器提供支持并通过了大量测试,但仍没有稳定的公开发布,CI 活动依然繁重,而且保留了大量 unsafe Rust,这些都表明重写后的加固工作仍然很多。讨论进一步扩展到:这类由 LLM 驱动的重写究竟是否成本有效且值得信赖,还是主要是一种营销手段,掩盖了将结果打磨到惯用、安全且可维护所需的漫长人工工作。
Rust 重写的状态
- 线程一致认为 Zig→Rust 的翻译在功能上已经完成:Zig 代码不再使用,Rust 版本已在 Claude Code 中投入生产,并作为金丝雀版本运行(
bun upgrade --canary)。 - 目前还没有正式的 1.4 版本发布。一些人认为没有打标签的发布说明重写还没有“完成”或不够稳定;另一些人则认为,在一次重大重写之后,长时间的金丝雀阶段很正常。
- 一位维护者表示,公开发布被一个承诺的新增通过 Node.js 测试数量所阻塞;该版本“最有可能”即将发布。
真实世界中的使用与可靠性
- Claude Code 已在 Rust 运行时上运行了一个多月;大多数用户显然没有注意到。
- 有一些关于 Claude Code 中 Bun 相关崩溃和内存泄漏的报告;也有人说它已经足够稳定,重写“没有翻车”。
- 关于 Claude Code 的代表性存在争论:有人认为它使用了大量 Node/Bun API 的表面;另一些人则说它只是一个应用,不能证明整个生态的广泛稳定性。
安全性、“惯用 Rust”与技术债务
- 许多评论担心这次移植并不符合惯用 Rust 风格,而且大量使用
unsafe和类似 C 的边界,因此最初的安全性并没有比 Zig 好多少。 - 仓库中
unsafe的粗略统计看起来随时间基本持平,这让那些原本期待通过重构逐步减少unsafe的人感到失望。 - 也有人反驳说,某些
unsafe本质上是必要的(与 JavaScriptCore、操作系统 API 的 FFI),而 Rust 再加上工具(lint、miri、测试)会让未来的安全工作更容易。
成本、tokens 与 CI
- 最初的营销数字是约 11 天内消耗了约 165k 的 tokens;评论者估计,随着工作继续,总 token + CI 支出接近 800k 美元。
- 有人认为这对一家前沿 AI 公司来说微不足道;也有人指出,这个数字很大,而且可能会误导人们把它当作“普通”组织的模型。
- CI 成本(大量平台/架构以及重度分片)被认为是显著且由来已久的,不只是由重写本身驱动。
将 LLM 用于大型重写:炒作与现实
- 支持者认为这是一个里程碑:一个高度复杂的运行时在保持庞大测试套件通过的同时被快速移植;他们也报告了自己用 LLM 做移植时获得了类似成功。
- 怀疑者强调长期维护:LLM 很擅长快速机械翻译,但不擅长架构、边界情况和去臃肿;“最后 10%”的 bug 和臃肿修复代价很高。
- 有人对将大量未经人工审查的 LLM 代码发布给数百万用户表示担忧,也有人质疑 Anthropic 的激励与透明度;另一些人回应说,强测试、Rust 的类型系统以及自用确实能显著降低风险。