← 返回内容列表

Claude Code 静默切换到 Rust 版 Bun:Anthropic 的工程哲学

Claude Code 静默切换到 Rust 版 Bun:Anthropic 的工程哲学

Simon Willison 通过 strings 命令在 Claude Code 二进制中发现,v2.1.181 起已内置 Rust 重写的 Bun 运行时,而非原来的 Zig 实现。Bun 作者 Jarred Sumner 确认,Linux 启动快约 10%,其余平台几乎无感。这次"用户无感"的底层重写,是 AI 工程界罕见的"boring is good"案例。

2026 年 7 月 19 日,Simon Willison 在博客中披露了一个被 Anthropic 静默发布的工程改造:Claude Code 从 v2.1.181 起,内置的 JavaScript 运行时已从 Zig 实现的 Bun 切换到 Rust 重写的 Bun。Bun 作者 Jarred Sumner 率先在社交媒体透露,Willison 随即用两条 strings 命令在自己机器上验证了这件事。

一、用 strings 验尸:黑盒中的 Rust 痕迹

Willison 的验证过程简洁而有力。他对本地 Claude Code 二进制文件运行 strings 命令,挖出两条硬证据:

第一,嵌入的版本字符串:Bun v1.4.0 (macOS arm64)。但 Bun 在 GitHub 公开发布的最新版本是 v1.3.14(2026 年 5 月 12 日发布)——版本号对不上,说明 Claude Code 里跑的是未公开发布的 v1.4.0 预览版。

第二,按 .rs 后缀抓文件路径,一次挖出 563 个 Rust 源码文件名,例如 src/bundler/bundle_v2.rs。这是编译时留在二进制里的调试痕迹,属于硬旁证。

Bun 运行时迁移:Zig 到 Rust 旧:Bun (Zig 实现) 535,496 行 Zig 代码 内存安全靠人工保证 use-after-free / double-free forgot-to-free 难以根治 v1.3.14 (2026-05) Fable 5 重写 16.5 万美元 新:Bun (Rust 实现) 1,000,000+ 行 Rust 代码 借用检查器编译期保证 内存 bug 变编译错误 Linux 启动 +10% v1.4.0 (未公开发布)

图1:Bun 运行时从 Zig 到 Rust 的迁移规模

二、为什么从 Zig 迁到 Rust

Bun 团队报告,Bun 的大部分 bug 是 use-after-free、double-free、forgot-to-free 等内存错误。Zig 提供速度和控制力,但没有编译期的内存安全保证。Rust 的所有权系统(ownership system)和借用检查器(borrow checker)能在编译期拦截这类错误——把它们变成编译错误,而不是运行时崩溃。

这次重写的规模令人咋舌。Bun 团队使用了 Anthropic 的 Claude Fable 5 预览版,将 535,496 行 Zig 代码转换为超过 100 万行 Rust,消耗 59 亿输入 token 和 6.9 亿输出 token,按 API 定价估算约 16.5 万美元。结果是 Linux x64 上通过 99.8% 的 Bun 测试套件。

三、Boring is good:用户无感的胜利

这次迁移最值得关注的不是"Rust 比 Zig 强"的语言站队,而是动的是发动机,用户座舱里的仪表盘几乎没变。Linux 启动快 10%,macOS 和 Windows 用户体验无感。Anthropic 没有发布 breaking change 公告,没有大张旗鼓的宣传——这就是 Simon Willison 所说的 "boring is good"。

《孙子兵法》有句话:善战者之胜也,无智名,无勇功。打得漂亮的仗,往往看不出刀光剑影。这次换引擎的意义在于:一个被数百万人使用的 AI CLI 工具,把整套工具链地基换了,但用户侧几乎察觉不到任何变化——这才是基础设施工程的成熟标志。

四、对供应链工程师的启示

这次事件对供应链和合规工程师有几个直接启示:

第一,你的运行时供应商可能已经在跑一个你下载不到的版本。Anthropic 在 Bun v1.4.0 公开发布前就把它打包进了 Claude Code,部署到数百万台设备。如果你维护依赖 Bun 版本的 CI 镜像,别把"本机 Claude 里的 Bun 版本"当成团队标准——那是另一套打包产物。

第二,strings 是合法的黑盒验尸手段。可执行文件里往往嵌着版本字符串、错误信息、源码路径。不用反汇编,两条 grep 就能判断"跑的是不是 Rust 版"——对关心供应链、合规或性能归因的工程师很实用。

第三,大规模 AI 重写的可靠性来自测试套件,而非盲目信任模型。Bun Rust 版的 conformance anchor 是百万级断言的语言无关测试套件,加上对抗性代码审查,以及"修复生成器而非手修代码"的流程规则。这不是"模型很强就能做百万行重写",而是"系统够强才能让模型做百万行重写"。

关联推荐

---

评论 (0)

加载评论中…

Claude Code 静默切换到 Rust 版 Bun:Anthropic 的工程哲学 | 必学必会