AI News HubLIVE
站内改写2 分钟阅读

Bun 1.4:从 Zig 到 Rust 的 AI 驱动重写引发争议

Bun 运行时在六天内使用 AI 代理从 Zig 重写为 Rust,这是目前最大规模的 AI 驱动代码库迁移。重写后代码质量引发争议,包含大量 unsafe 块和全局可变状态,社区反应两极分化。

来源Hacker News AI作者: baranul

2026 年 5 月,Bun 团队做了一件软件行业多年来私下讨论的事:他们用六天时间,借助 AI 代理,将整个运行时从 Zig 重写为 Rust。这可能是公开的最大的 AI 驱动代码库迁移,涉及近百万行代码。

数据:约 57 万行 Zig 代码变成了约 68 万行 Rust 代码(不含 AI 生成的注释);现有测试套件中 99.8% 一次性通过;生成的 Rust 代码包含 13,044 个 unsafe 块(手写 Rust 项目平均约 73 个),999 多处静态可变状态,262 处 ManuallyDrop 和 81 处 mem::forget。最大的文件(JS 解析器 p.rs)有 9,765 行。

实现方式:重写使用 Anthropic 的 Claude Code 和“动态工作流”系统,数百至数千个 AI 代理并行工作。管道流程如下:Claude 代理并行将文件从 Zig 翻译为 Rust;每个文件有“对抗性审查员”(另一个 AI)查找错误;构建和测试反馈循环自动修正;Bun 的创建者 Jarred Sumner 提供高层监督。由于 Bun 归 Anthropic 所有,团队拥有无限计算资源。

转用 Rust 的原因:内存安全(Bun 因段错误积累声誉);编译器速度(Bun 维护的 Zig 分支编译快 4 倍,但维护负担重);AI 适配性——Rust 的编译器能立即捕获错误并提供精确位置和修复路径,其他系统语言无法提供同样质量的反馈循环。

代码质量争议:虽然 99.8% 的测试通过率令人印象深刻,但代码质量粗糙。Reddit 用户发现代码中存在“999 处静态可变状态”,并称其为“全局可变的意大利面条式代码”。AI 甚至添加了注释,承认代码不安全,但计划在“第二阶段”清理。批评者指出,在 13,000 多个 unsafe 块且无人审查代码的情况下,“第二阶段”可能永远不会到来。

社区反应:r/rust 和 r/programming 板块讨论激烈。一些开发者认为这是对 Rust 语言的滥用,另一些则视其为工程突破。部分 Bun 用户反馈新版本出现奇怪挂起和行为异常,但也有用户(如 Prisma Compute)报告内存使用降低和连接池更稳定。

行业意义:这次重写表明语言迁移不再需要多年时间;瓶颈正在从代码编写转向可维护性和安全性;Rust 因其编译器的“安灯拉绳”可能成为 AI 生成系统代码的默认语言;信任成为核心问题——代码通过测试但无人阅读。

结论:Bun 1.4 同时是一个工程实验、Anthropic 的营销策略、对 AI 生成代码的压力测试和改进运行时的真诚尝试。AI 在一周内翻译百万行系统代码的事实已经改变了软件工程的规则,而社区是否准备好迎接这一变化仍是未知数。