AI百科网 AI教程
AI百科

两周把 TypeScript 编译器移植成 Rust

有人用 Claude 花两周、2.4 万美元把 TypeScript 编译器移植成 Rust,18 万个测试全部通过。读完能分清哪些代码适合交给模型重写,哪些坑它一定会踩。

本文目录 · 6 节

一段 130 万行、烧掉 40 万美元、卡在 84% 兼容性的失败尝试,后来被另一个人用两周和 2.4 万美元做完了。差别不在运气。

一、发生了什么

GitHub 用户 pingdotgg 开源了 tsc-rs:微软用 Go 写的 TypeScript 原生编译器(TypeScript 7)的 Rust 移植版,保留了 tsc 命令行、类型检查器和语言服务器,采用 MIT 许可,npm 包名叫 tsc-rs。

作者在 README 里写了一句实话:这段代码我一行都没读过。

过程有完整对照。此前用 OpenAI 的模型在几个月里跑循环,生成 130 多万行 Rust,API 花费超过 40 万美元,兼容性始终卡在 84% 左右上不去。换成 Claude Opus 5.5 从零重写,两周完成,10 小时就出了可用版本,API 花费 24047 美元。

结果不是演示:移植过来的 184773 个 Go 测试全部通过;120 个开源仓库里,命令行输出只在几个已知问题处、以及 Go 版自身有波动的地方不同;速度约为 Go 版的两倍(几何平均),对比旧的 tsc 6 快 15 倍以上,开 --fast 可到 21 倍。

作者自己也贴了警告:早期版本,四个已知问题写在 README 里。除默认模式外还有个 --fast 开关,代价是 CPU 时间最多涨到 2.2 倍、内存最多 1.9 倍。

两轮尝试的差别值得琢磨:前一轮是打补丁式地逼近,后一轮从零重写。作者没解释原因,一个合理的读法是,修补要背历史包袱,重写只需要对齐测试。

二、跟你有什么关系

维护大型 TS 代码库的。 这类工具今年会出现在构建链里。它快,但还不是无痛替换,CI 里先并行跑一段。

想用模型做代码迁移的。 这个案例的成功条件很特殊,照搬大概率失败。

评估 AI 编程能力的。 这是少见的、有判卷标准的样本,比榜单实在。

三、怎么判断

读到这儿,可以顺路看 三星把权重压到 0.1 比特,追平 1 比特基线 三星研究院开源 LittleBit 系列,把大模型权重压到每权重 1 到 0.1 比特,在 Llama-2、Llama-3 上追平主流 1 比特方法。读完能分清压缩倍率和能力保留,也知道评估这类方案该追问哪五个问题。
  1. 有没有标准答案。 这次能做,是因为有一个 Go 实现当参照,还有 18 万个现成测试当裁判。没有 oracle 的重写,等于让模型自由发挥,正确率无从谈起。
  2. 行为是否确定。 作者列的坑几乎都在原实现本身依赖运行时序的地方:monorepo 双重可达导致多写文件并误报 TS6059;tsc -b 并发竞态;--version 打印的是上游版本。模型能翻译逻辑,翻译不了「这里本来就没有确定答案」。
  3. 成本看模型,不看时长。 40 多万对 2.4 万,差的是模型选择,不是循环次数。选错模型,跑再久也只是把 84% 磨到 85%。
  4. 许可证逐项对。 MIT 之外还叠着 TypeScript 的 Apache 2.0 和 Go 标准库的 BSD 声明。商用前把这几层理清。
  5. 看有没有人维护。 一次移植成功,不等于能长期跟上游。上游每周都在变,谁负责同步,比一次性跑分重要。

四、三个别信的说法

「AI 已经能独立写出编译器。」 它做的是翻译,不是设计。靶子是人画的,测试是人挑的,连「什么时候算完成」也是人定的。

「测试全过就能上生产。」 18 万测试覆盖的是已有行为,新场景和边界组合仍可能出错。作者自己也在等真实项目验证,措辞是「我不知道它到底能不能跑起来」。

「两周说明以后不用写代码了。」 两周前面是几个月的失败尝试,两周里面是一套现成的测试集被搬过来。省掉的是打字,不是判断。

五、一句话结论

这次移植能成,靠的不是模型会写 Rust,是有人先准备好了标准答案和一整套判卷标准;没有这两样,AI 只是在猜。

信息来源

功能与价格以官方公告为准。本文写于 2026 年 10 月 18 日。

下一站 · 规则与法 黄仁勋:芯片公司必须和中国同行谈 AI 风险 黄仁勋在伦敦说,英伟达「绝对必须」与中国 AI 公司合作监控风险。他一边反对更多监管,一边主张扩大对话。这篇讲清芯片公司为什么比模型公司更急着谈。
下一篇,直接发你邮箱

每周一封,只发新教程和可复制模板。不发广告,随时退订。

复制规范引用格式,便于转载注明出处
这篇有用吗?