
Cloudflare 正全力以赴,确保 AI 编码智能体能够检查自己的工作,而不会耗尽可用的计算资源,并牵头一项新工作,将微软的 TypeScript 编译器移植到 Rust。
但无论如何,请不要称其为分叉。
Cloudflare 工程总监 Christoph Nakazawa 在 X 上确认,该公司正在接管 tsrs,这是 TypeScript 的 Rust 移植版本,据称比 TypeScript 7.0 快达八倍,内存占用减少 70%。
微软自己的 TypeScript 编译器也从中受益,双方团队在努力保持两个实现同步的过程中共享优化成果。
“我们不是在分叉 TypeScript——我们正在与 TypeScript 团队合作,因此 7.1 也已经快了约 2.5 倍,”Nakazawa 写道。
Cloudflare 正在接管 tsrs,这是 TypeScript 到 Rust 的移植版本。它比 TypeScript 7.0 快 8 倍,内存占用减少 70%。我们不是在分叉 TypeScript——我们正在与 TypeScript 团队合作,因此 7.1 也已经快了约 2.5 倍。https://t.co/ycBvdUSDcs — Christoph Nakazawa (@cnakazawa) 2026年10月20日
这种“移植而非分叉”的信息贯穿了随附的博客文章,该文章由 Nakazawa 与 Cloudflare 工程师 Boshen Chen 和 Dimitri Mitropoulos 共同撰写,他们不遗余力地解释,他们非常认为 TypeScript 仍应由微软继续掌舵。
“需要明确的是,我们不是在分叉 TypeScript。我们认为 TypeScript 团队应继续完全掌控该语言的设计和方向。”
“需要明确的是,我们不是在分叉 TypeScript,”他们写道。“我们认为 TypeScript 团队应继续完全掌控该语言的设计和方向。他们在引导 TypeScript 在 JavaScript 社区中普及的同时,保持了长期愿景。我们不想改变这一点。”
TypeScript 由微软于 2012 年开发并发布,它通过类型系统扩展了 JavaScript,帮助开发者在应用程序运行前捕获错误。然而,检查这些类型可能消耗大量计算资源,尤其是在多个 AI 智能体可能同时编写和验证代码的大型项目中。
微软在 7 月通过 TypeScript 7.0 解决了部分性能问题,用 Go 编写的编译器替换了基于 JavaScript 的编译器,带来了约十倍的性能提升。
正如 The New Stack 此前报道的那样,微软曾考虑用 Rust 进行重写,但最终认为在 Rust 中复现 TypeScript 的现有架构会在内存管理和兼容性方面引入重大复杂性。
tsrs 所报告的性能提升,与微软自己的 Go 实现形成了有趣的对比。在 Hacker News 上关于 Rust 移植版的讨论中,微软 TypeScript 首席产品经理 Daniel Rosenwasser 指出,“很多速度提升并不只是取决于语言选择”,并补充说,“让 TS 7.1 更快、更精简的部分改进……实际上来自在 tsrs 中发现的优化。”
“让 TS 7.1 更快、更精简的部分改进……实际上来自在 tsrs 中发现的优化。”
另外,Rosenwasser 今天早些时候宣布了 TypeScript 7.1 beta,详细介绍了大幅的速度和内存优化。
就 Cloudflare 而言,它在 Rust 中看到了另一个机会,特别是其与 WebAssembly(Wasm)的兼容性。Go 可以编译为 Wasm,但必须一并带上其垃圾回收器。Rust 对内存提供更直接的控制,减少了在资源受限环境中运行开发工具的开销。对 Cloudflare 来说,这可能使其更容易在浏览器和隔离的 Workers 沙箱中运行完整的开发环境,AI 智能体可以在其中编写、检查和构建应用程序。
此举也契合 Cloudflare 不断壮大的 JavaScript 生态系统。正如 The New Stack 上周报道的那样,该公司一直在汇集大量 JavaScript 工具和专业知识,包括 6 月收购 VoidZero 以及最近发布 Void——一个用于部署和管理 AI 构建应用程序的开源平台。
有鉴于此,目前正是 Cloudflare 和 VoidZero 团队在 Oxc(VoidZero 基于 Rust 的 JavaScript 工具链)中开发 tsrs,并计划将其集成到其他开发者工具中。
值得注意的是,tsrs 项目上个月才在餐厅软件公司 Owner.com 启动,该公司 AI 开发者体验负责人 Max Schwenk 表示,他面对的是一个包含 37,000 个文件的 TypeScript 后端。在周一发布的一篇博客文章中,他指出微软的 Go 编译器消耗了 19 GiB 内存,单线程检查耗时 80 秒,限制了可同时工作的编码智能体数量。
在多个智能体同时生成代码的情况下,资源需求使得每个智能体难以独立检查自己的更改,迫使 Owner.com 尝试基于云的开发环境和其他折中方案。
“编码智能体要实现最大生产力,需要能够在尽可能紧凑的循环中验证自己的工作,”Schwenk 写道。
在尝试改善 Go 编译器内存使用率时遇到限制后,Schwenk 尝试了更具雄心的做法:使用 Anthropic 的 Claude Opus 5.5 在 Rust 中重建编译器。他负责指导实验并评估结果,将实现完全交给 AI 智能体。
“我没有写任何代码,”Schwenk 写道。“不是‘几乎没有’。是零。”
“我没有写任何代码。不是‘几乎没有’。是零。”
而且结果出来得异常快。Schwenk 说,他并行部署了 20 多个 AI 子智能体,第二天早上醒来时,一个可用的类型检查器已经就绪。进一步的优化将 Owner.com 在 CI 中的类型检查时间缩短到大约七秒;在十多个公开项目中,Schwenk 报告称 tsrs 的运行速度比微软较新的 Go 编译器每夜构建版快 2.5 到 5 倍,而内存占用约为后者的三分之一。
事实上,tsrs 项目只是 AI 智能体被用于大规模 Rust 迁移的最新例子。正如 The New Stack 上个月报道的那样,GitHub 使用自家的 Copilot 智能体重写了其编码智能体运行时,将其迁移到 Rust;而 Anthropic 此前曾使用 Claude 智能体帮助将其 Bun JavaScript 运行时从 Zig 迁移到 Rust。
在其他地方,Meta 也使用 AI 帮助将 React Compiler 移植到 Rust;而在 9 月,OpenAI 透露两名工程师使用 Codex 和 GPT-5.5 在 Rust 中重建了其 Habitat 存储服务。
但这种快速的、AI 辅助的重写引发了问题:开发者如何验证生成的软件行为符合预期。对于 TypeScript 编译器来说,这意味着确保它能捕获与微软实现相同的错误。Schwenk 说,该项目使用了 TypeScript 的一致性测试,故意将错误引入真实项目,并运行 Miri——一个用于检测 Rust 内存安全问题的工具。这些检查已经发现了一个仅在优化构建中出现的记忆错误。
“一个更快的编译器如果发现的错误更少,那它就是一个营销做得好的坏编译器。”
“一个更快的编译器如果发现的错误更少,那它就是一个营销做得好的坏编译器,”Schwenk 写道。
可以说,保持兼容性将是一项持续的挑战。Cloudflare 计划借鉴 Vinext 背后的 AI 辅助方法——Vinext 是其基于 Vite 对 Next.js Web 框架的重新实现,其中智能体监控 Next.js 的变更、运行兼容性测试,并在出现差异时提出修复建议。tsrs 中仍存在一些差异,包括诊断消息的显示顺序。
“我们将对 TypeScript 应用同样的流程,极其小心地避免引入与上游 TypeScript 不同的行为,”Cloudflare 的作者们写道。
转载声明:本文为转载整理,原文版权归原作者及原站点所有。
原文来源:The New Stack
原创地址:https://thenewstack.io/cloudflare-rust-typescript-tsrs/
原文作者:Paul Sawers;如有侵权,请联系管理员删除。