跳到主要内容
AI News HubLIVE
更多
站内改写1 分钟阅读

用Rust重写Bun

文章摘要

Jarred Sumner详细介绍了使用AI编码代理将Bun从Zig重写为Rust的过程。TypeScript测试套件充当了合规套件,使得自动化移植成为可能。重写花费了约16.5万美元的API令牌,新的Rust版本已在Claude Code中上线,Linux上启动速度提升了10%。

用Rust重写Bun
报告错误

纠错通道尚未开通,可先复制下方文章信息留存。

查看更正说明
直接读正文

Jarred Sumner 终于发布了关于将 Bun 从 Zig 重写为 Rust 的详细博文。虽然他已经从5月9日开始预告,但实际重写花费的时间更短。这篇文章详细描述了一次极其复杂的智能工程实践,涉及动态工作流、试运行、对抗性审查等多种技巧。

Sumner 在博文前半部分高度赞扬了 Zig,认为如果没有 Zig,Bun 不可能走到今天。但随后他指出了核心问题:Bun 的 bug 列表令人沮丧,尤其是大量 use-after-free、double-free 和忘记释放内存的错误。在安全的 Rust 中,这些错误是编译错误,并且有 RAII 自动清理机制。这促使了重写决定。

众所周知,从头重写大型软件通常是不明智的。Joel Spolsky 早在2000年就强调了这一点。但如今的前沿模型驱动的编码代理改变了这一等式。一个关键的促成因素是 Bun 的测试套件是用 TypeScript 编写的,这使它能够充当合规套件。代理框架利用这一套件自动化了大部分从 Zig 到 Rust 的移植工作。最初这只是个实验,但几天后测试通过率大幅上升,Sumner 的信心从“值得一试”转变为“我要合并这个版本”。

在11天的大部分时间里,Sumner 监控工作流,手动检查输出,并提示 Claude 修改循环以修复问题。面对超过100万行新增代码的拉取请求,他采用了一种语言无关的测试套件(包含百万级断言)、对抗性代码审查,并在出错时修复生成代码的过程而非手动修复代码。

新的 Rust 版本 Bun 已在 Claude Code 中使用近一个月。Claude Code v2.1.181(6月17日发布)及之后版本都使用了 Rust 移植版。Linux 上的启动速度提升了10%,但几乎没有人注意到。Sumner 表示“无聊是好事”。

在 Anthropic 工作的一个好处是不需要为令牌付费,因为这次重写估计花费了16.5万美元的 API 成本:共消耗59亿未缓存输入令牌、6.9亿输出令牌和720亿缓存输入令牌读取。这整个案例展示了如何利用协调的并行代理来承担雄心勃勃的项目。

展开要点与分析

文章情报

工程师入门

要点

  • Bun从Zig重写为Rust,使用AI编码代理完成。
  • TypeScript测试套件作为合规套件,支持自动化移植。
  • 重写消耗了约16.5万美元的API令牌。
  • 新Rust版本已在Claude Code中使用,启动速度提升10%。

要点与分析由自动化流程生成,可能有误,请结合原始来源核实。