今年春季,GitHub 工程师着手解决驱动 Copilot 的软件日益严峻的性能瓶颈。该共享运行时环境涵盖命令行工具、桌面应用、SDK 及数十款微软产品,因架构臃肿导致延迟累积、内存飙升,且单点故障易引发系统瘫痪。

团队利用 Rust 语言重构了这一核心组件,且大部分工作由 AI 智能体完成。该项目于 8 月中旬完工,累计产出 832,378 行生产级 Rust 代码及数十万行测试代码。总成本约为 12 万美元的 AI Token 费用,外加一名开发人员约三周的专注投入。

性能与效率显著提升

重构成果显著:进程内 Rust 处理特定工作负载的速度较原版 TypeScript 快 15.9 倍;针对 10 个客户端的批处理内存消耗从 1,383 MB 骤降至 126 MB。基准测试显示,在 100 并发管道下运行 1,000 个单轮会话生命周期,旧系统每秒处理 7.55 个,而 Rust 版本达到 120 个。部分场景下,32 轮对话的会话恢复时间提升了 21 倍。

新的 Rust 版本暴露了仅含 19 个导出函数的干净 C ABI,SDK 可通过外部函数接口直接加载,无需强制子进程,许多用例也不再依赖 V8 引擎。这不仅降低了启动时间,还使资源消耗更加可预测,为将运行时嵌入更多微软产品及第三方工具铺平了道路。

AI 驱动的增量式重构

主导该项目的 GitHub 工程师 Stephen Toub 透露,团队利用 Copilot 及其 CLI 工具驱动转换。AI 智能体负责提交拉取请求(PR),逐个替换 TypeScript 模块,人类审查员负责合并。在 14.5 周内,系统发布了 135 个版本,新功能持续上线。

这种增量策略避免了大规模重写风险。平均每天落地约 1.3 个移植相关 PR,依赖列表减少了约 60 个 npm 包,整个系统编译为单一原生二进制文件。Token 使用总量达 1,363 亿,其中 96.22% 来自缓存提示,新鲜输入 Token 约 9 亿,输出 6 亿,折合成本极具竞争力。

挑战与战略意义

尽管成功,过程并非毫无摩擦。智能体生成的代码虽能编译,但存在数十次回归问题,需人工修复。Toub 指出,大多数问题涉及类型和名称错误,而非 Rust 特有的借用检查器错误。“能构建”与“能工作”之间仍需人类监督。最终代码中,unsafe 块仅占极小比例,且均与外部互操作性有关,核心逻辑完全安全。

此举契合微软的战略转向。此前,微软宣布 Rust 成为内部开发的 Tier 1 语言,与 C++、C# 和 TypeScript 并列。行业观察人士认为,Copilot 运行时的移植证明,AI 能加速关键组件向内存更安全语言的迁移,即便面对庞大复杂的代码库。

Toub 强调,这并不意味着所有大型 TypeScript 程序都应转为 Rust,该决策取决于对快速启动、低开销及可预测资源消耗的具体需求。目前,团队正计划进一步完善构建系统,围绕 Rust 所有权模型重新设计数据结构,以追求更深层次的性能优化。