6 天、96 万行 Rust、直接合并?Claude Code 被 Bun 的内存泄漏拖垮后,Bun 让 Claude 亲手重写了自己

6 天、96 万行 Rust、直接合并?Claude Code 被 Bun 的内存泄漏拖垮后,Bun 让 Claude 亲手重写了自己

6 天、96 万行 Rust、直接合并?Claude Code 被 Bun 的内存泄漏拖垮后,Bun 让 Claude 亲手重写了自己

一句话看懂:2026 年 5 月 11 日,Bun 创始人 Jarred Sumner 宣布,若 Rust 重写版合并,Zig 版本将停止更新。这场迁移由 Claude 生成的 96 万行 Rust 代码完成,耗时约六天,并通过了 99.8% 的现有测试。背后直接原因是 Bun 作为 Claude Code 的运行时,长期被内存泄漏拖累,导致 Claude Code 进程在短短数小时内内存暴涨至 14GB 以上。

事件核心:发生了什么

2026 年 5 月初,Bun 仓库中出现了一个名为 claude/phase-a-port 的分支,内含一份长达 576 行的 Zig-to-Rust 迁移指南。该指南规定,Claude 需逐文件将 Zig 代码“投射”为 Rust,禁止使用 tokio/rayon/hyper/futures 等库,并明确要求遇到不确定逻辑时留下 TODO,而非让 AI 自行猜测。5 月 7 日,Jarred 确认该分支已完成约 4000 次 commit、96 万行代码,仅剩 3 个编译错误,Rust 版本已能执行 JavaScript。5 月 9 日,Rust 版本在 Linux x64 glibc 环境下通过了 99.8% 的测试,并覆盖了 Linux x64+arm64 glibc+musl、Windows x64&arm64 及 macOS x64&arm64。5 月 11 日,Jarred 在 X 上正式宣告:“如果我们合并 Rust 重写版本,这将是 Zig 的最后一个版本。”

此次迁移的直接动机是 Bun 的内存泄漏问题。2026 年 3 月,Claude Code 仓库中的 Issue #33453 详细记录:主进程在约 3 小时的会话中,RSS 内存从约 1.7GB 增长至 14GB 以上,泄漏源被定位为 Bun 运行时的 WebKit Malloc 分配器。另一份 Issue #11377 则显示,运行 14 小时后进程占用 23GB 虚拟内存,系统完全卡死。Jarred 在 5 月 9 日的推文中坦承:“我真的很厌倦为内存泄漏、崩溃和稳定性问题而担忧。”

为什么重要

这不仅是 Bun 的一次技术栈迁移,更标志着一场软件工程哲学的正面碰撞。Bun 曾是 Zig 阵营最成功的明星项目,其创始人此前 fork 过 Zig,试图通过并行编译等优化提升性能,但这些改动因 Zig 社区严格的“no-AI policy”(禁止 AI 生成 issue、PR 甚至评论)而无法 upstream。Anthropic 收购 Bun 后,Bun 被定位为 Claude Code 的运行时与包管理器,但其内存泄漏问题直接反噬了 Claude Code 的用户体验。如今,Bun 团队选择用 Claude agent 将 Zig 迁移出 Zig 生态,本质上是对 Zig 社区 AI 封禁路线的否决,也意味着 AI 生成代码已从辅助调试升级到大规模重构核心基础设施的程度。目前公开信息显示,这是首次有头部运行时通过 AI 代码生成完成数十万行代码的完整重写,且仅耗时六天即进入合并评估阶段。

对用户/开发者/创作者的影响

对使用 Claude Code 的开发者,Rust 版的直接好处是内存泄漏风险有望大幅降低。Bun 当前约 4700 个 open issues(远超 Node.js 的 1700 个)中,相当一部分与内存和稳定性相关,Rust 编译器在类型生命周期和析构函数上的强约束,可能从根源上减少这类问题。对 Zig 生态的开发者,Bun 的离场意味着失去一个最重要的“活广告”,Zig 在现代基础设施领域的说服力将被削弱。对 Rust 生态,Bun 的加入则是一个重量级案例,尤其考虑到其深度绑定 Claude Code 的 AI 工具链,可能加速更多 AI 应用选择 Rust 作为运行时基础。对普通 Node.js/JavaScript 开发者,短期来看,Bun 的包管理器和测试工具仍可正常使用,但需要注意:Bun v1.3.14 可能是最后一个 Zig 版本,后续更新将切换至 Rust 架构,建议关注迁移后的兼容性和 API 稳定性。

值得关注的后续

第一,Rust 版 Bun 合并后的实际稳定性表现。Jarred 承认底层架构尚未完全稳定,例如 tagged pointer 等 Zig 惯用模式在 Rust 中的低成本实现仍在探索,测试覆盖 99.8% 不等于无泄漏。第二,Zig 社区的反应。Bun 的 fork 此前已被 Zig 核心开发者批评,Bun 彻底转向 Rust 后,Zig 是否会有其他大项目填补空白,或调整其 AI 政策,值得观察。第三,Claude Code 的用户体验改善。如果 Bun 的内存泄漏确实被修复,Claude Code 的内存占用与 CLI 卡顿问题有望在后续版本中得到缓解,但这取决于 Rust 版在生产环境下的长期验证。

来源:InfoQ CN

celebrityanime
celebrityanime
文章: 5157

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注