「技术栈一定要选好,选定了就很难再换。」从初创公司到大企业,这句话被奉为圭臬。
但2026年5月,Bun打破了这个公式。JavaScript运行时Bun把Zig写成的约100万行代码在6天内迁移到了Rust。不是工程师团队,而是AI编程智能体(Claude Code)主导完成的。
过去大家都这么认为
技术栈决策之所以沉重,原因很明确。换语言意味着重写所有代码,全队学新语言,迁移整个依赖生态。McKinsey数据显示,财富500强企业70%的软件已有20年以上历史。 迁移成本太高,根本无从下手。语言选择是"不可逆决策"的代名词。
Vagrant创始人 Mitchell Hashimoto 的宣言
「编程语言以前是LOCK IN。但现在越来越不是了。」
但数据指向了相反的方向
2026年5月14日,Bun修改了约2,188个文件,新增100万行以上Rust代码,正式告别Zig版本。社区评价这是「公开记录中规模最大的AI代码迁移案例」。
Bun创始人Jared Sumner迁移完成后表示:「我们已经好几个月没有自己打代码了。」 Claude Code负责写代码、跑测试、修bug,整个循环由AI驱动。
背后有一段背景。2025年12月Anthropic收购Bun后,Zig的no-AI政策与Bun的AI驱动开发模式产生了冲突。 Bun选择全面迁移到Rust,而不是维护Zig的fork,这次迁移由AI智能体完成。用Claude Code重写了Claude Code运行的基础。
同样的事情在别处也在发生。Simon Willison分享了一个故事:他在某次会议上遇到一位开发者,对方用AI编程智能体把遗留的iOS、Android应用完全重写成了React Native。 问他为什么选React Native,回答很简单:"如果以后不满意,再移回原生就行了。" 把技术选择当作可以撤回的事来对待——这就是AI时代前后最大的不同。
| AI之前的迁移 | AI智能体迁移 | |
|---|---|---|
| 所需时间 | 数月到数年 | 数天到数周 |
| 成本(2万行) | 团队数月人力 | 约$150 |
| 风险 | 人为失误、倦怠 | 自动化测试验证循环 |
| 可逆性 | 几乎不可能 | 可逆 — 可以再次迁移 |
技术战略上到底有什么变化
Hashimoto谈到Rust时说:「Rust是消耗品。有用就用,不好用就扔。」 技术栈可以从「终身伴侣」变成「目前最合适的工具」了。
这种变化来自AI编程智能体带来的经济性。设计良好的多智能体系统能把代码迁移从数月压缩到数天。 代码库结构分析、测试夹具生成、代码转换验证、重构——智能体并行处理,消除了以往让迁移望而却步的认知负担。
还有一点很关键:AI代码迁移不是简单的翻译。Bun案例中,Rust的内存安全自动消除了整类bug——use-after-free、double-free等。 AI在改写代码的同时,也把目标语言的特性一并带来了。迁移不再只是重写,而是吸收语言优势的升级。
如何启动AI代码迁移
- 按模块拆分迁移范围
不要试图一次性全部搞定。把复杂代码库整个交给单一智能体会导致功能缺失和大量bug。 按有清晰输入输出的模块划定范围,先为每个模块准备好测试。 - 搭建四阶段智能体流水线
① 代码库分析智能体(梳理依赖关系和调用链)→ ② 测试夹具生成智能体(捕获真实输入输出)→ ③ 转换智能体(单元+回归测试验证)→ ④ 重构智能体(对齐编码规范)。 每个阶段都要有自动化验证。 - 以测试通过率为唯一门槛
Bun在确认99.8%测试通过后合并。 "看起来能跑"不是标准。用数字定义标准,达标前不进入下一阶段。 - 算清楚成本账
2万行迁移的AI成本约为$150。 同样的工作人工完成需要数月工程时间。把这个差距作为下次技术决策的输入。 - 把可以撤回纳入选型标准
下次做技术栈决策时,把「用AI迁移出去需要多久?」作为判断标准之一。 模块边界清晰、测试覆盖充分,今天的选择就可以成为明天能改变的选择。
局限性也是真实存在的
AI迁移并不万能。把复杂重写整个甩给单一智能体会失败。 性能优化、安全加固、可维护性不是AI自动保证的。对于Bun这个大型单次提交,也有合理的质疑——难以审查,可能存在隐藏bug。 精心设计的流水线和人工验证仍然不可或缺。
想深入了解
Not so locked in any more — Simon Willison 首次分享Hashimoto观点和React Native重写案例的原文 simonwillison.net
Anthropic's Bun Rust rewrite merged at speed of AI — The Register 100万行迁移的详细数据和Sumner访谈全文 theregister.com
Agents for Legacy Code Migration — VirtusLab 四阶段多智能体迁移流水线详解 virtuslab.com
What If Lock-In Doesn't Matter So Much Anymore? — Kottke.org 将lock-in讨论延伸至数据库、云服务、AI模型的深度分析 kottke.org
Why Bun is Rewriting in Rust — CosmicJS Bun Rust重写的性能数据和技术背景 cosmicjs.com




