GitHub 通过 AI 辅助重构,将 Copilot 运行时迁移至 Rust

InfoQ AI 约 5 分钟读完

作者:Leela Kumili

GitHub 将 Copilot CLI、应用及 SDK 运行时从 TypeScript/Node.js 全量迁至 Rust,AI 辅助重写超 80 万行代码,启动与交互延迟从 5.25 秒降至 292 毫秒。

Rust 运行时支持 C ABI 嵌入,消除 V8 内存开销(约 100MB),同时保留进程隔离选项;采用增量替换策略,通过 N-API 互操作层保障迁移中持续交付;Copilot SDK 现原生支持 TypeScript、Python、Go、.NET、Java 和 Rust。

适合客户端架构师、AI 工具链开发者、语言运行时工程师阅读。

GitHub 已将 GitHub Copilot CLI、Copilot 应用和 Copilot SDK 背后的运行时 从 TypeScript 和 Node.js 迁移到了 Rust,通过 AI 辅助重写替换了超过 800000 行代码。这次迁移耗时约 14.5 周,包含 128 个 PR,迁移期间 GitHub 仍持续发布该运行时版本。GitHub 报告称,对于客户端启动、会话创建与单轮交互场景,旧运行时耗时 5.25 秒,Rust 运行时进程内嵌入后耗时降至 292 毫秒。

这次迁移还改变了应用与运行时的集成方式。之前的实现需要 Node.js 和 V8,并通过进程边界与宿主应用通信。GitHub 称这会为每个客户端增加约 100MB 工作集内存。而 Rust 实现可以通过 C ABI 直接嵌入到宿主应用中,同时保留独立进程模式可选。 Copilot SDK 目前支持 TypeScript、Python、Go、.NET、Java 和 Rust。

GitHub 采用了增量替换策略,而不是先并行重写再进行一次性切换。各个 TypeScript 组件被 Rust 实现逐一替换,期间通过临时的 N API 互操作层连接两者。这使得现有的端到端测试能够在其他组件仍使用 TypeScript 的情况下测试新代码。GitHub 在迁移期间发布了 135 个版本,包括 35 个稳定版和 100 个预发布版。

该兼容层在移除前,内部 N API 导出项达到 2019 个,TypeScript 调用点共 3356 处。截至 8 月 21 日,运行时包含 832378 行生产 Rust 代码以及 468689 行 Rust 单元测试代码。绝大部分实现代码由 AI 智能体生成,编译、测试和人工评审用于发现各类回归问题,包括行为、状态、生命周期处理、库语义以及优化逻辑丢失等。GitHub 记录了 4478 次直接 cargo check 执行,87.1% 可一次性校验通过。

社区的反应也聚焦于 AI 辅助 迁移的验证难题,并指出取消、重试和背压等场景需要在编译之外进行验证。 PLBjt 写道:

这件事有意思的地方不在于 Copilot 使用了 Rust,而在于这次迁移能否在边界上保持运行时行为的稳定。

Leonardo XR 技术负责人 Francesco Pira 指出 :

小体量、便于评审的变更、兼容层以及工程师的人工判断是该方案的重要元素。

微软高级解决方案工程师 Côme Redon 指出 :

难点在于挖掘遗留系统里那些没有文档说明的行为约定。

最终的架构提供原生 Rust 运行时,既可直接嵌入宿主应用也可独立运行;Copilot SDK 在所有支持的语言中保留了语言专属接口。本次迁移将 AI 生成代码、增量集成、临时兼容边界、自动化校验和人工评审相结合,生产环境运行时在迁移过程中持续迭代更新。

查看英文原文 : https://www.infoq.com/news/2026/10/github-copilot-rust-migration/

促进软件开发及相关领域知识与创新的传播

关于我们 我要投稿 合作伙伴 加入我们 关注我们

联系我们 内容投稿:editors@geekbang.com 业务合作:hezuo@geekbang.com 反馈投诉:feedback@geekbang.com 加入我们:zhaopin@geekbang.com 联系电话:010-64738142 地址:北京市朝阳区望京北路9号2幢7层A701

InfoQ 近期会议 上海 · QCon 全球软件开发大会 2026.10.22-24 北京 · AICon 全球人工智能开发与应用大会 2026.12.18-19

全球 InfoQ InfoQ En InfoQ Jp InfoQ Fr InfoQ Br

Copyright © 2026, Geekbang Technology Ltd. All rights reserved. 极客邦控股(北京)有限公司 | 京 ICP 备 16027448 号 - 5 京公网安备 11010502039052号 | 产品资质

原文标题 GitHub 通过 AI 辅助重构,将 Copilot 运行时迁移至 Rust
引用来源 InfoQ AI
本地存档 2026-10-28 12:07
引用格式 作者:Leela Kumili. GitHub 通过 AI 辅助重构,将 Copilot 运行时迁移至 Rust. 2026-10-22. https://www.ai007.site/news/11

本文内容由 ai007 从公开渠道聚合,版权归原作者所有。若原文已删除或变更, 以原文站为准;本站存档仅为便于查阅而保留。