GitHub Copilot переписал agent runtime на Rust — код в основном писали агенты

Движок GitHub Copilot — тот же runtime, что крутит CLI, приложение, SDK и агентов в VS Code, Visual Studio и Office — переписали с TypeScript и Node.js на Rust. В main ушло 128 pull request'ов с инкрементальной заменой; итог — больше 800 000 строк production-кода, большую часть которого написали сами Copilot-агенты.
Что мешало старому стеку
Runtime и TUI Copilot CLI выросли в одном TypeScript-проекте на Node.js: быстро в прод, но слои переплетались. Когда понадобился SDK, его временно положили поверх CLI — клиент поднимал headless-процесс, вызовы шли через JSON-RPC между процессами.
Каждый CopilotClient тащил второй экземпляр Node.js и V8: минимум около 100 MB рабочей памяти на клиент, плюс сериализация событий и файловых операций через границу процессов. Обёртки на C#, Python, Go, Java и Rust платили за второй языковой runtime, который приложению не был нужен. Нужна была библиотека без TUI, с встраиванием в процесс через C ABI и предсказуемым потреблением памяти.
Порт по одному компоненту
В начале мая 2026 runtime оценивали примерно в 130 000 строк TypeScript, но через порт прошло около 430 000 — параллельно из TUI спускали компоненты в runtime и сливали новый TypeScript сотнями PR в неделю.
Выбрали порт на месте с атомарной заменой: каждый PR заменял TypeScript-компонент тонкой прослойкой на Rust и сразу удалял старый код. Main оставался готов к релизу, остальная команда продолжала расширять возможности runtime. Производительность выросла на порядки; проект в основном вёл один разработчик за несколько месяцев — без агентов на такой объём ушли бы год или два у целой команды.
Источник: Migrating the GitHub Copilot runtime to Rust, using Copilot.