GitHub 用 Copilot 写 80 万行 Rust 重写 Copilot 运行时,性能提升数量级
GitHub Blog AI/ML · rss · 2026-09-17
GitHub 官方博客详解如何用 AI agent 将 Copilot agent runtime 从 TypeScript/Node.js 完全重写为超过 80 万行生产级 Rust 代码,AI 写了大部分代码,分布在 128 个合并的 PR 中,增量上线而非一次性切换。原本需要整个团队一两年的工程,最终主要由一名开发者在几个月内完成,同时团队还在继续扩展运行时功能。
为什么要重写
- Copilot agent runtime 是 Copilot CLI、Copilot app、VS Code、Visual Studio、Copilot Code Review、Excel、Word 等众多产品共享的 agent 引擎,各产品通过 Copilot SDK 调用。
- 旧架构中 SDK 通过 JSON-RPC 把 CLI 作为子进程启动,导致每个 SDK 消费者都要附带一个 Node/V8 运行时,工作集至少约 100 MB;所有调用都跨进程边界,Node 崩溃会拖垮会话,部署时还需监管两个进程。
选 Rust 的理由
- 不含 TUI 的独立库,可进程内嵌入而非被迫跨进程调用;
- 依赖少、启动与内存开销低、资源占用可预测;
- 通过 C ABI 的 FFI 可被 C#、TypeScript、Python、Rust、Go、Java 六种语言的 SDK 干净集成;
- 供应链风险更低、更利于正确性构造。
经验与代价
- 关键任务是把 TUI 层与运行时严格分层(CLI 仍有直接调用内部的地方,迁移持续进行);
- Rust 中生命周期与共享状态需显式管理,曾出现生命周期相关的回归,但增量发布使问题被快速发现修复;
- 作者强调这不是说所有大型 TypeScript 项目都该转 Rust,选型取决于应用需求。
重写后运行时性能提升了数量级。
「编程与Agent」频道最新
- 开发者写 Skill 自动为视频生成预告片,尚未完全调好 — therealdanvega · 2026-09-17
- Typesafe 推出可在线试玩的 AI 开发工具 jev 实时演示 — holdenmatt · 2026-09-17
- TypeSafe AI 演示逐行语义搜索:一次请求给 218 行打相关性分 — hackgoofer · 2026-09-17
- 「Vibe automating」:把行政杂活全部交给 AI 自动化正成为新玩法 — aronkor · 2026-09-17
- Reddit 热议:为什么 AI 编码总是大量使用废弃函数 — sharificles · 2026-09-17
- Victor Taelin 宣布 Bend2 明日发布:面向后 AGI 经济的语言设计 — Birchlabs · 2026-09-17