给一辆行驶中的车换发动机,难处不只是装上新机器,还要保证途中不停驶。GitHub这次做了类似的事:借助AI,把多个Copilot客户端共用的运行时——程序执行任务所依赖的底层组件——从TypeScript和Node.js迁到Rust。迁移超过80万行代码,耗时约14.5周;其间团队仍持续发布版本。
据GitHub披露,客户端启动、创建会话并完成一轮交互的耗时,从5.25秒降至292毫秒。此前每个客户端还要携带Node.js和V8,约增加100MB工作集内存;Rust版本则可通过C ABI——让不同语言的二进制程序直接互相调用的接口规范——嵌入宿主应用。
更值得看的其实是改造方式:团队没有一次性推倒重来,而是逐个替换组件,用临时兼容层连接新旧代码,再靠编译、测试和人工评审检查AI生成的实现。编译通过不等于行为一致,取消、重试和生命周期等隐含规则,仍需要工程师判断。