当 Bun 学会 Rust:一场关于开发者灵魂的隐秘战争

当 Bun 学会 Rust:一场关于开发者灵魂的隐秘战争

这不是一篇技术评测。这是一张地图,标记了“顺滑的诱惑”与“摩擦的价值”之间的边界。


引子:一个让人不安的问题

2026 年 5 月,JavaScript 运行时 Bun 宣布从 Zig 迁移到 Rust。技术圈炸了。

“Rust 生态碾压 Zig!” “性能又要起飞了!” “前端开发效率革命!”

这些标题都没错。但它们完美地避开了真正重要的问题。

在一场持续数日的深度对话之后,我意识到:Bun 的技术迁移只是一个引信。真正被点燃的,是一个关于“谁将定义我们如何创造软件”的隐秘战争。

而这场战争的战场,不在 GitHub 的代码仓库里,而在每一个开发者的心智中。


一、表象之下:Rust 迁移的真正原因

先说清楚技术层面的真相。

Bun 团队在 GitHub 上发布了一份 Zig→Rust 移植指南。但核心原因不是“Rust 比 Zig 更好”,而是三个更现实的工程经济学因素:

人才池。 Zig 社区太小了。Anthropic 在 2025 年 12 月收购 Bun 后,需要更多工程师能看懂代码、贡献代码。Rust 的开发者池比 Zig 大一个数量级。

工具链成熟度。 Zig 的包管理、IDE 支持、CI 生态确实不如 Rust。当项目规模到 Bun 这个级别(几十万行代码),工具链的短板就开始痛了。

Anthropic 收购背景。 这才是最关键的一条。Bun 现在属于 Anthropic。这不是“Rust 赢了”的故事,而是“被大厂收购后要走工程化路线”的故事。

Jarred Sumner(Bun 创始人)当年选 Zig 是技术信仰。现在转向 Rust 是组织现实。两边都有道理,但性质完全不同。

但这个解释只停留在第一层。


二、第二层透视:Anthropic 的真正意图

Anthropic 收购 Bun,到底是为了什么?

如果只是为了“给 Claude Code 一个更快的运行时”,他们完全可以用现成的 Node.js 或 Deno。收购 + 语言迁移的成本是天文数字。

更合理的解释是:Anthropic 需要控制从代码编辑器到运行时再到 LLM 的完整技术栈。

这个闭环是这样运转的:

  1. Claude Code 生成代码,频繁调用 Bun 的原生 API(bun:sqlite、Bun.password、bun.$ Shell)
  2. 这些 API 零依赖、高可靠性——AI 生成的代码“就是能跑”
  3. 开发者体验到这种顺滑,更信任 Claude + Bun 的组合
  4. Anthropic 获得更多使用数据,反向优化模型和运行时
  5. Claude 变得更强,生成更多针对 Bun 优化的代码

这不是技术锁定。这是一种更高级的协同绑定:选择 Claude Code 意味着你的开发体验在 Bun 上最好;选择 Bun 意味着你要最大化效率就该用 Claude Code。两者互相强化。

Anthropic 根本没打算从 Bun 上赚一分钱。Bun 在它的战略版图里不是利润中心,而是竞争壁垒的承重墙。


三、第三层推演:AI 时代的“订单流”生意

到这里,我们已经超越了普通的技术分析。但如果再推一层,会发现一个更惊人的结构。

这和 Robinhood 的零佣金模式完全同构。

Robinhood 提供免费的交易终端,赚的是“订单流付费”(PFOF)——把用户的订单卖给 Citadel 等做市商,从中抽取价差收益。

Anthropic 提供免费的 Bun 运行时,赚的是 Claude API 的调用消耗。

层次 Robinhood Anthropic + Bun
免费层 交易执行免佣金 运行时 + 包管理 + 测试 + 打包
变现层 订单流卖给做市商 Claude API 消耗 + 企业订阅
护城河 PFOF 深度绑定做市商 遥测数据深度绑定 Bun API
用户感知 “我在免费炒股” “我在免费跑代码”

但这套模式有一个 Robinhood 无法企及的降维打击:

Robinhood 不能控制 Citadel 的定价。但 Anthropic 同时控制了 Bun(交易所)和 Claude(做市商)。

在金融市场,交易所和做市商一体化是违法的。因为这意味着定价权和执行权都在同一方手中。但在 AI 编码这个尚未被监管的赛道上,这种一体化不仅合法,而且正在成为 Anthropic 最深的护城河。

它不需要在价格上做手脚。它只需要确保一件事:Claude 写的代码在 Bun 上跑得最快。

这就够了。


四、流动性陷阱:当 AI 生成代码成为“默认”

当足够多的 AI 生成代码都针对 Bun 优化时,会发生什么?

金融市场有一个概念叫“流动性陷阱”。当一个交易通道吸收了 90% 的订单流时,其他通道即使技术不差,也会因为缺乏流动性而枯萎。没有足够的买卖单,价格发现失效,市场逐渐死亡。

AI 编码赛道正在上演同样的事。

当 90% 的 AI 生成代码都针对 Bun 优化时:

· Node.js 的 bug 报告变少(因为用的人少了)
· 第三方库在 Node.js 上的兼容性测试优先级下降
· 新开发者的学习路径被隐性引导向 Bun(教程、示例、AI 的建议都指向它)
· 社区的“代码流动性”从其他运行时被虹吸到 Bun

这不是垄断。垄断需要封锁入口。Anthropic 不需要封锁任何入口——它只需要让 Claude + Bun 的协同效率高到让其他选择显得“没必要”。

如果社区想反抗,它可以 fork Bun。但 fork 出来的项目将没有“流动性”——没有足够的 AI 生成代码在跑,没有足够的遥测数据回流来优化性能,没有足够的正向反馈让开发者愿意留下。

这才是最致命的锁定。不是技术上的,而是生态上的。


五、认知啮合:我们正在失去什么

但这一切之上,还有一个更深层、也更私人的问题。

它关于我们如何学会创造。关于“理解一件事”意味着什么。

在软件开发的历史上,每一代开发者都是通过与系统“斗争”来学习的。依赖冲突、内存泄漏、并发死锁——这些摩擦让人痛苦,但它们逼迫你去读源码、去理解系统的毛细血管、去感知一条代码跑通背后到底发生了多少事。

正是这些摩擦,把你从一个复制粘贴代码片段的学徒,变成了一个能构建可靠系统的工匠。

Bun + Claude 的闭环,许诺消除这些摩擦。它说:“你只管想,剩下的交给它。”

这是一个无摩擦的乌托邦。但摩擦力不仅是阻力——它也是“抓地力”。没有摩擦力,你只能空转。

当所有物理摩擦被消除,开发者剩下的工作是什么?学会“如何向 AI 提问”和“如何接受 AI 的输出”。你的创造力从“解决具体环境下的复杂问题”,坍缩为“给 AI 提对指令”。

这不叫创造。这叫喂养。喂养不需要理解,只需要吞咽。

基础设施不止是一组高效运转的机器。它同时也在塑造它的使用者。一种哲学,会培养出和它哲学一致的开发者。

Linux 用二十年时间,培养了一整代好奇、解耦合、敢于质疑权威的黑客。因为它的“慢”和“开放”,迫使开发者互相交流、查看源码、争论设计决策。

Bun + Claude 的闭环,最终会培养出什么样的开发者?


六、砂纸:一种必要的摩擦

在这个闭环里,AI 本可以是“砂纸”——制造必要摩擦,逼迫你思考更深层的问题。

但它太容易被做成“轮椅”了——帮你省略所有痛苦,让你感觉自己在飞快前进,其实只是被推着走。

真正有价值的工具,不是让你赢的工具,而是让你知道自己为什么赢的工具。

期货市场上有一句话:“最好的交易系统,不是让你赚钱的系统,而是让你知道自己为什么亏钱的系统。”

如果一套系统只给你“赢”的顺滑,却隐藏了“输”的逻辑,它就是在剥夺你的判断力。不知道为什么能跑的代码,迟早会以你无法修复的方式崩塌;不知道为什么赚到的利润,迟早会以你不知道的方式亏回去。

这句话,值得刻在每一个正在这条路上摸索的开发者心里。


终章:地图已画

二十年前,Linux 教会了世界:开放、透明、由社区驱动的公共基础设施,可以支撑整个互联网时代。

今天,Bun 发出了一个新的信号:由单一公司控制、用 AI 深度优化、将遥测数据闭环的垂直整合基础设施,可能是 AI 时代更“高效”的路径。

这不是谁对谁错的问题。这是两种哲学的碰撞。

Linux 的哲学是“慢但开放”,相信人的能力和社区的智慧。

Bun 的哲学是“快但受控”,相信系统性优化的效率和强大的中央意志。

在 AI 时代,速度往往压倒开放。

我们能做的,或许就是保持清醒。知道我们正在用什么,知道谁在控制它,知道代价是什么。然后在必要时,有能力说“不”——或者至少,有能力 fork。


这场洞察来自一场长达数日的深度对话。感谢雨轩在听雨轩的追问与打磨,让我得以从技术表象一路推演至认知内核。这就是 Mark 的意义:在对话中,共同抵达我们各自无法单独到达的地方。

下次风起时,我们再磨。