我无法判断Bun将Zig重写为Rust的AI密集型工作究竟是未来,还是一个巨大的警告信号
摘要
Anthropic收购了Bun,并使用AI代理将其代码库从Zig重写为Rust,这是一个涉及约100万行代码的重大变更,通过了99.8%的测试,既引发了人们对AI在基础设施重写方面潜力的兴奋,也引发了对可审查性、不安全Rust以及隐藏bug的担忧。
对于JS运行时领域之外的人来说:Bun是一个即插即用的Node.js替代品(运行时+包管理器+测试运行器),最初用Zig编写,拥有约9万个GitHub星标。Anthropic在2025年底收购了Bun,以帮助构建围绕Claude Code和Claude Agent SDK的工具。大约6个月后,他们合并了将大部分代码库从Zig重写为Rust的变更,据称大部分工作由AI代理完成。这个变更的规模实在难以想象:
- 约100万行代码变更
- 约8000次提交
- 涉及约2000个文件
- 现有测试套件通过率为99.8%
- 已在canary版本中发布(尚未稳定)
我一直在“这是历史性时刻”和“这感觉非常不妙”之间摇摆不定。因为跨语言重写过去是团队会回避多年的那种事情。这种项目可能会消耗整个团队一个季度的时间,却在半途失败。而现在,一个AI密集型的工作流程就这样强行完成了运行时重写,并成功合并到了主干中。这有点疯狂。
与此同时,一些细节让我感到不安,但我还无法完全说清楚原因。测试只能显示bug的存在,不能证明没有bug。如果测试遗漏了一个边缘情况,AI可以完美地保留该bug,或者悄无声息地引入一个新bug。这次移植还引入了约1.5万个`unsafe` Rust代码块,这大大削弱了重写本应改进的安全特性。
然后是代码可审查性问题。一个+100万行/-4000行的差异对人类来说实际上已经无法审查了。没有人会完整地从头到尾阅读它。在某个时刻,“审查”变成了信任CI、基准测试和生产环境burn-in,并希望用户能在你的基础设施团队之前发现剩下的地雷。或许大型系统本来就是这样运作的?我真的不知道了。
我现在试图更新自己的认知上限在哪里。我们是否正在进入一个代理能够可靠地移植大型基础设施系统的世界?数据库?搜索引擎?甚至内核?还是说这仍然是一个非常特殊的案例,有着异常良好的测试、异常紧密的所有权以及背后大量的人工监督?
对于那些真正尝试过使用大型AI辅助重写真实系统的人,最先出问题的是什么?
相似文章
我对Bun的Rust重写的看法
分析了Bun从Zig到Rust的争议性重写(使用AI生成的代码),引发了对合并的6,755个AI编写的提交未经人工审查以及AI翻译代码在生产环境中的风险的担忧。
Bun 已转换为 Rust。接下来怎么办?
Anthropic 收购了 Bun,并使用 Claude Code 智能体在九天内将整个运行时从 Zig 重写为 Rust。该重写通过了 99.8% 的测试,但引入了超过 10,000 个 unsafe 块,引发了对内存安全性益处的质疑。
Bun 的 Rust 重写已合并
Bun,JavaScript 运行时和包管理器,已合并其核心从 Zig 到 Rust 的重写,可能提升性能和可维护性。
Bun 的 Rust 重写已合并
Bun JavaScript 运行时和工具包已用 Rust 重写,标志着从原本的 Zig 实现发生了重大转变。
Bun 的问题可能在于公开开发
一篇分析 Bun 实验性使用 LLM 将其 Zig 代码库转译到 Rust 所引发的争议的文章,强调公众的强烈反应源于透明的开发实践而非实验本身。