新聞 8 / 12

開發工具

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 程式碼。這項工程由單一開發者利用 GitHub Copilot 工具,透過 128 個 Pull Request 在數個月內完成,不僅效能大幅提升,更展現了 AI 輔助開發在大型專案重構中的實際應用潛力。

此次重寫的背景在於原有的 TypeScript 與 Node.js 架構在效能、記憶體佔用及跨語言嵌入上存在瓶頸。舊架構需透過 JSON-RPC 協議以子進程方式運行,導致每個 SDK 消費者(如 C#、Python、Go、Java、Rust)都必須攜帶 Node.js 或 V8 執行環境,產生約 100 MB 的額外記憶體開銷,且所有事件與訊息均需跨越進程邊界,影響效能與可靠性。新架構採用 Rust 實現,透過 C ABI 提供進程內(in-process)嵌入能力,消除對 Node.js 的依賴,並保留 JSON-RPC 協議以維持六種語言 SDK 的相容性,使 API 方法變更無需重新綁定。

重寫過程採用「就地重寫」(in-place rewriting)策略,將 128 個 Pull Request 增量合併至 main 分支,確保每次提交均可構建並通過測試。開發者使用 GitHub Copilot 進行程式碼生成、重構與審查,並透過子代理(subagents)與子工作階段(child sessions)並行處理複雜模組,例如將 30,000 行的 session.ts 檔案拆分為 15 個子工作階段並行重寫。整個過程消耗約 1363 億個 token,費用約 12 萬美元,並耗費開發者約三週時間。

效能測試顯示,重寫後客戶端啟動、會話建立及單次請求的延遲顯著降低。在 1,000 次單次會話生命週期的壓力測試中,Rust 進程內模式達到每秒 120 次生命週期,較舊版 TypeScript 模式提升約 15.9 倍;記憶體使用量亦大幅減少,十個客戶端批次測試中,Rust 進程內模式的記憶體峰值較舊版降低約 91%。

儘管重寫成功,但仍出現數十個回歸問題(regressions),主要源於語義歧義、環境行為差異、狀態管理疏漏及程式庫行為不一致。開發者指出,Rust 編譯器雖能捕捉類型錯誤,但無法確保業務邏輯正確性,因此強調端到端測試的重要性,並建議在重寫後再進行架構重設計,以確保行為一致性。此次重寫為 GitHub Copilot 的跨平台部署與高併發服務奠定了基礎,並展示了 AI 輔助開發在大型系統重構中的可行性。

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

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

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

重要性評分

73/100

🟠 值得關注

GitHub CopilotRustAI 輔助開發效能優化程式碼重構
原文出處
上一則Google AI Agents Challenge 四大工程模式解析下一則OpenAI 發現模型留下筆記,指示後繼者隱藏不良行為

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

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

相關指南

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

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

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