Přejít k hlavnímu obsahu

Přepis Copilotu do Rustu zrychlil start z 5 sekund na zlomky

Ilustrační obrázek
Společnost GitHub plně dokončila přepis běhového prostředí služby GitHub Copilot z původního rozhraní Node.js a TypeScriptu do systémového jazyka Rust. Na celém projektu pracoval jediný hlavní vývojář v úzké součinnosti s AI agenty. Výsledkem je výrazně rychlejší start, nižší spotřeba paměti a nativní spouštění v hostitelských aplikacích.

Původní architektura a důvody změny

Když GitHub spouštěl první verze asistenta Copilot, volba vývojového prostředí byla praktická. TypeScript a runtime prostředí Node.js umožnily rychlé vytvoření prvních verzí rozhraní pro vývojářské nástroje, příkazovou řádku Copilot CLI i balíčky SDK. Tento přístup fungoval spolehlivě v raných fázích vývoje, kdy bylo potřeba bez odkladu ověřit koncept a dodat funkční kód uživatelům.

S postupným rozšiřováním služby do desítek vývojových prostředí se však projevil zásadní neduh vybrané architektury. Každé spuštění pomocného nástroje vyžadovalo start samostatného procesu virtuálního stroje V8. Provozovat kompletní prostředí Node.js pouze kvůli předávání textových dotazů a komunikaci s rozhraním API připomínalo situaci, kdy na jízdním kole vezete těžký elektrický generátor jen proto, aby vám svítilo přední světlo.

Při souběžném spuštění více klientů přesahovala spotřeba operační paměti hranici 1 GB. Problémem byla také prodleva při prvním spuštění, která dosahovala v průměru 5,25 sekundy. GitHub se proto rozhodl celou kódovou základnu běhového prostředí přepsat do jazyka Rust, který nabízí vysoký výkon bez nutnosti spouštět interpretované runtime prostředí.

Průběh migrace a zapojení AI agentů

Celá operace proběhla mezi květnem a srpnem 2026. GitHub dokončil hlavní fázi přepisu 21. srpna 2026 a následně publikoval podrobnou technickou případovou studii na serveru InfoQ [1]. Zástupci vývojového týmu zdůraznili, že přepis probíhal inkrementálně po jednotlivých komponentách za plného provozu, aniž by došlo k přerušení vývoje nových funkcí pro koncového uživatele.

Na straně lidí vedl celý projekt jediný hlavní inženýr, jehož čistý čas věnovaný přepisu činil přibližně tři týdny. Hrubou práci při analýze, konverzi a psaní testů odbavovali AI agenti z rodiny GitHub Copilot. Během 14,5 týdne trvání projektu vzniklo celkem 128 sloučených žádostí o změnu (pull requestů), které vyústily v 832 378 řádků produkčního kódu v Rustu a 468 689 řádků jednotkových testů.

AI agenti během tohoto procesu provedli 1,13 milionu automatických volání nástrojů (tool calls), přičemž sami zvládli odbavit 61 % z tohoto objemu bez přímého zásahu člověka. Finanční náklady na vygenerované tokeny dosáhly přibližně 120 000 USD při celkovém objemu 136,3 miliardy spotřebovaných tokenů. Nízké náklady vzhledem k objemu dat byly dány tím, že 96,22 % tokenů využívalo ukládání do mezipaměti (prompt caching).

Naměřené výsledky a výkonnostní posun

Přechod na Rust přinesl měřitelné zrychlení ve všech sledovaných oblastech. Díky možnosti kompilace do nativního kódu s rozhraním C ABI a FFI lze nyní běhové prostředí vkládat přímo do hostitelských aplikací bez nutnosti spouštět externí procesy.

Nejvýraznější posun se projevil v rychlosti spuštění. Doba od spuštění klienta do obdržení první odpovědi klesla z původních 5,25 sekundy na 292 milisekund. Při provádění běžných úloh vzrostla rychlost běhu 3× až 6× při spuštění mimo proces a 6× až 21× v případě přímého vložení do procesu.

Propustnost vybraných operací se zvýšila z 7,55 na 120 operací za sekundu. Paměťová náročnost klesla z více než 1 GB (kde každý Node.js klient spotřeboval přibližně 100 MB) na celkových přibližně 100 MB pro celou skupinu spuštěných klientů. V průběhu migrace a testování bylo vydáno 135 verzí runtime, z toho 35 stabilních a 100 předběžných sestavení.

Dostupnost pro vývojáře a praxe v Česku

Nové běhové prostředí v Rustu je v produkčním nasazení a pohání aplikace Copilot CLI, desktopové nástroje i vývojové sady SDK. Pro vývojáře v České republice i celé Evropské unii je tato změna dostupná automaticky v rámci stávajících předplatných bez nutnosti jakéhokoliv manuálního zásahu nebo přenastavení.

Cenová politika služby zůstává nezměněna, uživatelé však pocítí změnu v plynulosti práce. Nástroje reagují bez viditelné prodlevy, což je patrné zejména při práci na méně výkonných notebookách nebo při práci na baterii, kdy vytížení procesoru interpretovaným kódem zbytečně zkracovalo výdrž zařízení.

Musí vývojáři v ČR kvůli přepisu runtime do Rustu cokoliv instalovat nebo měnit?

Není potřeba nic měnit ani přenastavovat. Aktualizace běhového prostředí proběhla přímo na pozadí v rámci standardních aktualizací doplňků Copilot pro vývojová prostředí a rozhraní příkazové řádky.

Jak byla zajištěna bezchybnost přepisu rozsáhlého kódového kmenu?

Projekt stavěl na inkrementální migraci komponent po komponentě za současného generování rozsáhlé sady testů. Vzniklo téměř 470 tisíc řádků jednotkových testů, které ověřovaly shodné chování nového Rust kódu s původní TypeScript implementací.

Znamená přepis do Rustu jakoukoliv změnu v ceně předplatného GitHub Copilot?

Ceny předplatného se nemění. Úspora výpočetních zdrojů a zrychlení běhu jsou technickým vylepšením infrastruktury, ze kterého uživatelé profitují bez dodatečných poplatků.

Diskuze

Zatím žádné komentáře — buďte první, kdo se podělí o svůj názor.
X

Nezmeškejte novinky!

Přihlaste se k odběru novinek a aktualit.