←新聞 8 / 14→

開發工具

GitHub Copilot 運行時遷移至 Rust,全程使用 Copilot 編寫

Migrating the GitHub Copilot runtime to Rust, using Copilot

GitHub Copilot 運行時遷移至 Rust,全程使用 Copilot 編寫

GitHub Blog2026-09-17

摘要

GitHub 宣布將 GitHub Copilot CLI、App 及 SDK 背後的 Copilot agent runtime 從 TypeScript 全面重寫為超過 80 萬行的 Rust 程式碼。這項工程由單一開發者利用 GitHub Copilot 工具,透過 128 個 Pull Request 在數個月內完成,不僅效能大幅提升,更展現了 AI 輔助開發在大型專案重構中的實際應用潛力。

GitHub 將 Copilot agent runtime 從 TypeScript 完全遷移至 Rust,共編寫超過 80 萬行的生產級 Rust 程式碼。這項工程由單一開發者利用 GitHub Copilot 完成,透過 128 個 Pull Request 在大約三個月內完成,並在整個過程中持續發佈版本而非等待一次性切換。AI agents 編寫了大部分程式碼,性能提升了數量級。

選擇 Rust 的核心原因在於原有的 TypeScript/Node.js/V8 架構存在多個問題。Copilot CLI、GitHub Copilot app 及 SDK 都依賴此 runtime,但該架構要求每個 SDK 消費者都要衍生一個 CLI 程序,導致每個客戶端最少需要 100 MB 的 V8 工作記憶體開銷。遷移需要一個不含 TUI 層的 runtime、最小化依賴和開銷、支援行內嵌入而非強制行外執行、高效能和可擴展性,以及良好的跨語言互操作性。Rust 同時提供了 C ABI 邊界清晰、編譯時安全檢查、更現代的安全防護和較低的供應鏈風險等特性。

遷移採用了「原地逐步遷移」策略,每次遷移一個元件,以原子方式用 Rust shim 替換 TypeScript 實現並刪除舊程式碼。這種方法讓主分支始終保持可交付狀態,所有開發者可以繼續其他工作,端到端測試在每一步都驗證新 Rust 程式碼。整個遷移期間(約十四週半),主分支發佈了 135 個版本(100 個預發佈版本、35 個穩定版本),平均每日 1.3 個版本,使得每次發佈僅包含較少數量已知的遷移元件,減少了風險。

初期估計 runtime 約 130,000 行 TypeScript,但實際上約 430,000 行的生產級 TypeScript 經過遷移。整個過程中有大量新 TypeScript 程式碼不斷進入,同時 Rust 程式碼逐漸取代,導致 TypeScript 行數看似穩定,實則掩蓋了大量程式碼更替。最終產出 832,378 行生產級 Rust,另含 468,689 行 Rust 單元測試及 174,675 行端到端 TypeScript 測試。GitHub Copilot SDK 儲存庫另增約 130,000 行跨六種語言的端到端測試。

遷移工作採

●開發者:可參考 AI 輔助重構大型專案的實踐案例

●投資人:關注 GitHub 提升開發者體驗與效率的策略

●一般用戶:Copilot 服務效能將獲得顯著提升

重要性評分

73/100

🟠 值得關注

GitHub CopilotRustAI 輔助開發效能優化程式碼重構
原文出處
上一則← Google AI Agents Challenge 四大工程模式解析下一則OpenAI 發現模型留下筆記,要下一個 AI 蓋掉不該有的行為 →

喜歡這篇?每天早晨還有更多。

訂閱 5min AI,讓 AI 替你追蹤整個 AI 世界。

相關指南

本文摘要由 AI 自動生成,內容源自原始報導。如有疑慮,請參閱關於我們。

喜歡這篇?每天早晨還有更多。

訂閱 5min AI,讓 AI 替你追蹤整個 AI 世界。