新聞 6 / 10

開發工具

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

Migrating the GitHub Copilot runtime to Rust, using Copilot

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

GitHub Blog · 2026-09-17

摘要

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

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

此次重寫的背景在於原有基於 Node.js 和 V8 引擎的架構,在支援 VS Code、Visual Studio、CCA 等多款產品時,因需透過 JSON-RPC 協議以子進程方式執行,導致啟動速度慢、記憶體佔用高(每個 SDK 消費者需額外承擔約 100 MB 的 Node.js 運行時開銷)及可靠性問題。新架構採用 Rust 實現,透過 C ABI 提供 C#、Python、Go、Java 和 Rust 等語言的 FFI 機制,支援在進程內直接加載,消除了對 Node.js 的依賴,並顯著提升了啟動速度、吞吐量及記憶體效率。

開發過程採用「就地重寫」策略,將 runtime 拆分為多個組件逐步遷移,確保 main 分支始終可發布。整個過程涉及約 430,000 行 TypeScript 程式碼被替換,最終產出 832,378 行生產環境 Rust 程式碼及 468,689 行單元測試。開發者使用 GitHub Copilot 進行程式碼生成,並透過子代理(subagents)和子會話(child sessions)進行並行探索與編碼。例如,在遷移複雜的 session.ts 文件時,主會話創建了 15 個子會話並行處理,並利用自定義提示和程式碼審查技能確保行為一致性。

性能測試顯示,與遷移前相比,客戶端啟動、會話創建及單次交互的延遲顯著降低。在 1,000 個單次會話生命週期的壓力測試中,Rust 在進程內模式的吞吐量達到每小時 120 次,比遷移前的 TypeScript 模式提升了 6.3 倍;記憶體使用量也大幅減少,十個客戶端批處理的峰值記憶體佔用從 1,383 MB 降至 126 MB。

此次重寫耗費約 1363 億個 token,費用約為 120,000 美元,並消耗了開發者約三週的時間。儘管 AI 生成程式碼帶來了效率提升,但也出現了因類型誤解、環境變數處理、生命週期管理等因素導致的數十個回歸問題。開發者總結出需明確目標、保護端到端測試、先翻譯後重設計等經驗教訓,並指出 Rust 的嚴格編譯器雖能捕捉機械性錯誤,但無法保證業務邏輯的正確性。

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

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

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

重要性評分

73/100

🟠 值得關注

GitHub CopilotRustAI 輔助開發效能優化程式碼重構
原文出處
上一則Google AI Agents Challenge 四大工程模式解析下一則OpenAI 遭駭客利用 Claude 入侵,72 小時內竊取私人程式碼

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

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

相關指南

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

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

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