发生了什么
微软完成了一次由 AI 智能体承担主要工作量的核心运行时迁移:支撑 GitHub Copilot 命令行工具、Copilot 应用、SDK 与云端智能体的运行时,已从 TypeScript 重写为 Rust。该运行时的重要性高于外界通常的认知,它同时嵌入 VS Code、Visual Studio、Excel、Outlook、PowerPoint 以及多项微软云服务。原实现基于 TypeScript 与 Node.js,开发效率高,但规模上去以后在启动速度、服务端密度与嵌入式集成上遇到瓶颈。
项目采用逐模块替换而非整体重构的方式推进,历时 14.5 周、跨越 135 次发布,平均每天约 1.3 个移植 PR,最终把 43 万行 TypeScript 转换为 80 万行生产级 Rust 代码。经济账是本案例最受关注的部分:模型 token 成本约 12 万美元,另加一名工程师约三周工时。项目主要使用 GPT-5.6 Sol 与 Claude Opus 4.8 等模型,按工程师 Stephen Toub 的评估,同样的工作若由人工完成需要数年时间与数百万美元成本。
关键指标
- 吞吐:在 1000 次单轮会话生命周期、100 条并发管道、共享客户端的基准下,TypeScript 实现每秒完成 7.55 次,进程内运行的 Rust 版本每秒 120 次,特定工作负载提速 15.9 倍。
- 内存:10 个客户端组成的智能体批次,TypeScript 占用 1383MB,Rust 版本仅 126MB。差异主要来自 Rust 版本全程在进程内完成,不再像旧实现那样为补全任务拉起后台子进程。
- 交付节奏:14.5 周、135 次发布、约 1.3 个 PR/天;模块逐一替换,先保证行为兼容,运行时的结构性优化列在下一步。
- 智能体协作形态:最棘手的 session.ts 单文件超过 3 万行,其迁移耗时 25 小时,期间 56 分钟用于读文档、发起 122 次工具调用澄清需求,随后派生 15 个子会话,各自建立独立工作树并互相通信;内置的编排技能负责发现重叠任务并请求协作。
为什么重要
该项目把「AI 驱动的大规模重写」从演示推进到可核算的工程事实:成本可计量、周期可复现、收益可测量。对企业技术管理者而言,价值不在「用 AI 写代码」这句口号,而在一条新的成本曲线——把多年期的人力密集型迁移压缩到数周,并给出明确的 token 预算口径。
同时,案例给出了一个反直觉的观察:智能体花在「查证信息」上的时间远多于「输出代码」。用 Toub 的话说,外界想象中 AI 疯狂喷代码的画面与实际情况几乎相反,在规模化场景中,工作形态更接近迭代式调查——查看现状、形成假设、做定点修改、再回到循环。这也意味着,决定成败的不是生成速度,而是上下文获取与验证能力。
仍待确认
迁移过程并不顺利。尽管 Rust 编译器强制了内存与类型安全,团队仍遇到数十处行为回归:语义含糊、分支漂移、功能漏迁。Toub 对此的判断是,「编译通过就等于正确」这句话只适合当玩笑;编译器不判断函数顺序是否合理,也不判断任务成本是否可接受。在 RustConf 上,顾问 Lisa Crossman 也提醒不要把编译器当成神谕——Rust 能阻止智能体写出内存不安全的代码,但阻止不了它写出「正确地实现了错误行为」的程序。作为对照,Bun 作者 Jarred Sumner 曾用 Claude 智能体把 53.5 万行代码迁移到 Rust,花费 16.5 万美元 token,并通过了 99.8% 的既有测试,但 Zig 作者 Andrew Kelley 仍称其代码是「无人审查过的垃圾」。这些分歧说明,验收标准必须从「编译成功」前移到语义正确性与测试覆盖。
此外需要指出,上述性能数字来自特定基准负载,并不代表所有 Copilot 工作流都会获得同等幅度提升;Toub 本人也强调,该项目不足以构成「把所有大型 TypeScript 程序都改写成 Rust」的理由——Rust 之所以适合,是源于该运行时对嵌入式集成、启动时间与稳态开销的具体约束。

