支撑 GitHub Copilot 及微软多款产品的软件引擎,如今已完全用 Rust 重写——而大部分移植工作是由 AI Agent 完成的。

微软用 AI Agent 将 Copilot 运行时从 TypeScript 移植到 Rust,开发技术资讯配图

整个迁移花了约 12 万美元的 AI token 费用,外加一名开发者约三周的人工时间。不过经理们也得处理迁移后代码里的几十个回归问题,这也说明 AI 在理解 Rust 上仍有挑战。

项目逐模块更新运行时,14.5 周内跨越了 135 个版本,平均每天开约 1.3 个移植 PR。总体而言,AI Agent 把 43 万行 TypeScript 转成了 80 万行生产级 Rust。为了让移植尽可能简单,团队只逐模块替换 TypeScript,没有动运行时本身的结构——那是下一步的事。

Rust 的性能表现没让人失望。一个基准测试测量运行时完成 1000 次单轮会话生命周期的速度(用共享客户端、100 并发管线):原 TypeScript 实现每秒完成 7.55 次,而 Rust 进程内运行达到 120 次,提速 15.9 倍。内存方面,10 个客户端的 Agent 批次,TypeScript 占用 1383 MB,Rust 仅 126 MB。Rust 进程内运行,无需像 TypeScript 那样启动外部后台进程。

大多数用户可能没意识到 Copilot 运行时的渗透有多广:它支撑着 GitHub Copilot CLI、Copilot 应用、SDK 和云 Agent,出现在 VS Code、Visual Studio、Excel、Outlook、PowerPoint 以及无数微软云服务中。这个运行时最初用 TypeScript 编写,跑在 Node.js 和 V8 上——快速开发很爽,但规模化后启动慢、服务器密度低。

微软杰出工程师 Stephen Toub 强调:这不是说所有大型 TypeScript 程序都该变 Rust。我们的需求强调通过 C ABI 嵌入、低启动和稳态开销、可预测的资源使用,Rust 让这些目标成为可能。有意思的是,这个项目用 Copilot 重写 Copilot,过程中调用了多个 LLM——GPT-5.6 Sol 和 Claude Opus 4.8 都被点名。Toub 评估 Agent 基本成功:手工做要花好几年、几百万美元。

他还观察到 Agent 的一个意外行为:花在收集信息上的时间远多于写代码——AI 喷代码的流行形象几乎是反过来的;在这个规模下,工作更像是迭代调查、检查代码,而非一口气生成大量代码。