2022年,Bun以惊人的速度和性能横空出世,迅速成为JavaScript生态中最受瞩目的新星之一。它用Zig语言构建,承诺更快的启动、更低的内存占用、更完整的工具链。无数开发者从Node.js转向它,把它当作日常开发的默认选择。三年多过去,Bun的故事却走到了一个令人意外的拐点:1.4版本的Rust重写,原本被寄予厚望,如今却成了迟迟无法落地的“明日传说”。
截至2026年8月中旬,距离上一个稳定版本1.3.14发布已经过去了三个多月。这是Bun自2022年公开以来最长的稳定版空窗期。官方账号和创始人Jarred Sumner的推文,反复出现“In the next version of Bun”“hopefully Tuesday”“1 more PR to merge”“Bun v1.4 is compiling”“delayed until Monday”“let’s say tomorrow”这样的表述。日期一次次过去,承诺一次次落空。社区的反应从最初的期待,逐渐转向调侃、质疑,甚至有人公开表示“准备换回Go了”。
这并非普通的发布延期。软件项目延期本是常态,真正让人感到不安的是沟通方式的转变。过去,“In the next version of Bun”几乎等同于“几天内就会上线”。现在,它更像是一种模糊的安慰剂。Jarred本人也坦承,如果说出具体日期,用户已经不会再相信了。这种信任的侵蚀,比任何技术细节都更刺眼。
从Zig到Rust:一场被AI加持的豪赌
故事的转折点,发生在2026年5月。Bun被Anthropic收购后不久,Jarred宣布将整个运行时从Zig重写为Rust。官方博客详细描述了过程:大约53.5万行Zig代码,在11天内通过约50到64个并行Claude代理完成移植,产生了6500多个提交,测试套件全部通过。成本估算约16.5万美元(按API定价)。重写后的代码被迅速用于Claude Code内部,据说启动速度略有提升,内存泄漏问题大幅改善,二进制体积缩小约20%。
这听起来像是AI辅助软件工程的完美案例。传统观念里,大规模语言重写往往被视为“死亡行军”——耗时漫长、风险极高、用户价值为零。AI似乎打破了这个魔咒,让“一年的工作压缩到两周”成为可能。Jarred强调,Rust的borrow checker能在编译期抓住Zig时代常见的use-after-free、double-free等问题,比任何风格指南都更可靠。
然而,现实很快泼了冷水。重写完成后的三个多月里,稳定版依然没有发布。Canary频道可以试用1.4,部分开发者和Anthropic内部产品已经在用,但面向广大用户的正式版本却一直卡在“再合并几个PR”“再编辑一下博客”的阶段。GitHub上的活动依然活跃:过去一个月,机器人账户贡献了上万次提交,开放PR数量一度超过5000个,远超GitHub官方建议的安全阈值。代码变更量巨大,一周内主分支就有数十万行的增删。
这种“高度活跃却无法出货”的状态,让人想起软件工程中著名的“90%规则”——前90%的工作很快完成,剩下的10%却消耗了另一半时间。AI代理擅长机械翻译和模式匹配,但在系统级稳定性、边界条件、真实用户场景的验证上,人类的判断和耐心依然不可替代。
社区的声音与历史的阴影
社区的讨论很快分裂成几派。一部分人认为延期是负责任的表现:大规模重写后多花时间打磨,总好过仓促发布带来的回归。另一部分人则指出,Jarred自己设定了过高的预期。如果一开始就说“我们需要几个月来验证”,而不是反复说“明天”,摩擦会小得多。更有人直接翻出历史:在Zig时代,Bun的发布节奏曾是每两三周一次。重写后节奏骤停,这本身就构成了信号。
更深的批评来自Zig语言的创造者Andrew Kelley。他在一篇长文中回顾了与Bun团队的关系:早期Jarred对Zig的支持令人感激,捐赠和公开致谢都真诚。但随着项目获得风投、公司化运作后,代码质量问题逐渐凸显——大量hack、断言滥用、快速堆砌功能而忽视技术债。Kelley直言,这些问题在LLM普及之前就已存在。重写到Rust后,Zig社区反而松了一口气,因为不再需要为这个“高调用户”的工程实践背书。
Kelley的文章情绪明显,他自己也承认有未消化的怨气。但这并不意味着所有担忧都可以被轻易否定。Rust重写后的代码里,unsafe块的数量并没有像宣传中那样消失,内存安全的实际收益仍需时间验证。开放PR数量的爆炸、机器人提交的主导地位,也让人对代码审查的深度产生疑问。当一个项目从“人类主导、AI辅助”变成“AI主导、人类指导”时,谁真正理解代码的全貌?这是一个开放的问题。
“明日”的代价与开源的信任
开源项目的生命力,很大程度上建立在可预测性和信任之上。用户愿意把生产环境交给一个工具,是因为他们相信它会持续改进、及时修复、诚实沟通。Bun过去几年用性能和速度赢得了这种信任。现在,反复落空的发布日期正在消耗它。
当然,我们也必须保持客观。Canary版本已经可用,Claude Code内部验证了可行性,官方声称修复了大量历史问题、通过了更多Node.js测试、内存和性能都有提升。如果最终发布的1.4真的在各方面都更优,那么这三个月的等待或许会被重新解读为“必要的谨慎”。软件工程史上不乏先慢后快、先稳后猛的案例。
但目前的局面,确实“看起来不太好”。不是因为Rust本身有问题,也不是因为AI不能帮忙写代码,而是因为一场本可以更透明、更务实的重大变更,被包装成了过于完美的AI胜利叙事。当叙事与现实脱节时,社区的耐心就会被消耗。
对于普通开发者来说,建议很简单:继续使用1.3.x稳定版,或者在非关键路径上尝试canary,同时保持对官方动态的关注。对于整个行业来说,Bun 1.4的延期提供了一个生动的案例——AI可以极大加速代码迁移,但无法自动解决信任、沟通和最终交付的问题。真正的考验,从来不是“能不能写出来”,而是“能不能负责任地交到用户手中”。
“Tomorrow”已经来了又走了好几次。或许下一次,它会真正变成“今天”。但在那之前,开源社区有权保持怀疑,也有权要求更清晰的时间表和更诚实的进度说明。毕竟,用户不是实验对象,信任也不是无限再生的资源。