Cloudflare 宣布接手 tsrs 项目的开发工作,这是一个使用 Rust 编写的 TypeScript 编译器。该项目旨在解决人工智能代理(AI Agents)在检查大型代码库时面临的性能挑战。初步测试显示,与 TypeScript 7.0 版本相比,该新编译器速度提升了 8 倍,内存消耗降低了 70%。
并非分叉,而是集成
由克里斯托夫·纳卡扎瓦(Christoph Nakazawa)领导的 Cloudflare 工程师团队强调,该项目并非 TypeScript 原生语言的“分叉”(Fork)。团队明确表示,他们正与微软的 TypeScript 团队进行协调,并指出在 tsrs 项目中发现的改进措施已经成功将 TypeScript 7.1 版本的速度提升了约 2.5 倍。
为何选择 Rust?
尽管微软最近将 TypeScript 编译器迁移到了 Go 语言,但 Cloudflare 认为 Rust 具有竞争优势,特别是在与 WebAssembly (Wasm) 的兼容性方面。Go 语言在编译为 Wasm 时需要垃圾回收器(Garbage Collector),而 Rust 提供了对内存的直接控制,从而减少了在浏览器或 Cloudflare Workers 等隔离环境中运行开发环境时的操作负担。
项目起源:完全“无人类代码”的开发
tsrs 项目始于 Owner.com,当时该公司人工智能开发者体验负责人马克斯·申克(Max Shenk)在处理一个包含 3.7 万个文件的代码库时遇到了困难。为了解决这个问题,申克指派人工智能代理(使用 Claude Opus 5.5)完全用 Rust 重写了编译器,他自己没有编写一行代码。这种方法将持续集成(CI)环境中的代码检查时间缩短到了仅 7 秒左右。
这对开发者意味着什么?
开发者面临着确保持续集成的新编译器与原生 TypeScript 标准兼容的挑战。为了避免行为偏差,团队采取了以下措施:
- 使用 TypeScript 专有的合规性测试。
- 在真实项目中引入故意设置的错误,以验证检查的准确性。
- 使用 Miri 工具来检测 Rust 中的内存安全问题。
Cloudflare 计划将 tsrs 集成到其 Oxc 工具链中,同时持续关注微软的后续更新以确保完全兼容。这反映了利用人工智能构建高性能工程工具的日益增长的趋势。
新闻来源
The New Stack - Software Development
查看原始来源 ↗