Ladybird 在 AI 助力下转向 Rust
2026 年 2 月 23 日 - Link Blog
Ladybird 在 AI 助力下采用 Rust(来源)Andreas Kling 分享了一篇非常有意思的案例研究,讲述如何在关键代码、且目标雄心很大的工程项目中,高阶且成熟地使用 coding agents。过去几年里,团队一直期待 Swift 在 Apple 生态之外的平台支持能够更成熟;在这之后,他们调整了路线,转向其首选的内存安全语言 Rust,并从一个关键库的 AI 辅助迁移开始:
我们的第一个目标是 LibJS,也就是 Ladybird 的 JavaScript 引擎。它的 lexer、parser、AST 和 bytecode generator 相对独立,并且通过 test262 拥有广泛的测试覆盖,因此非常适合作为起点。
我使用了 Claude Code 和 Codex 来完成翻译(迁移)工作。这是人类主导的,而不是自主代码生成。我决定迁移哪些部分、按什么顺序迁移,以及 Rust 代码应当是什么样子。整个过程包含了数百个小提示,在需要的时候引导 agents 朝正确方向推进。[...]
从一开始,我们的要求就是两条流水线产出逐字节一致的结果。最终产出了大约 25,000 行 Rust 代码,整个迁移耗时约两周。同样的工作如果手工完成,我需要几个月时间。我们已经验证:Rust parser 生成的每一棵 AST 都与 C++ 版本完全一致,Rust compiler 生成的所有 bytecode 也与 C++ 编译器输出完全一致。整体零回归。
对于这种规模的项目来说,拥有 test262 这样高质量的既有一致性测试套件,几乎是一个巨大的“解锁条件”;而且还能把输出与现有、可信实现进行对照,这会让 agentic engineering 成为更稳妥的选择。
