Rustba írta át a GitHub Copilot ügynöki futtatókörnyezetét

A GitHub több mint 800 ezer sornyi produkciós Rust kódra írta át a GitHub Copilot ügynöki futtatókörnyezetét. A vállalat szerint a munka nagy részét AI-ügynökök készítették, egy fejlesztő vezetésével, néhány hónap alatt.
- A Copilot közös ügynöki futtatókörnyezetét több mint 800 ezer sor Rust kódra írták át.
- A munkát 128, a fő ágba bekerült pull requestben szállították.
- A runtime korábban TypeScripten, Node.js-en és a V8 motoron futott.
- Az új felépítés natív, folyamaton belüli beágyazást is lehetővé tesz.
- A GitHub szerint a teljesítmény nagyságrendekkel javult.
Közös alapra épül több Copilot-termék
A Copilot agent runtime a GitHub Copilot CLI, a GitHub Copilot app és a GitHub Copilot SDK mögött működő ügynöki keretrendszer. Alkalmazásokba és szolgáltatásokba is beágyazható, és több Microsoft-, GitHub- és ökoszisztémabeli megoldás használja.
A GitHub felsorolása szerint a futtatókörnyezethez kapcsolódik többek között a VS Code, a Visual Studio, a GitHub Copilot cloud agent, a Copilot Code Review, a Copilot Cowork, a Copilot Studio, valamint az Excel, az Outlook és a PowerPoint legújabb kiadása. A felsorolt termékek közül sok kezdetben saját ügynöki ciklust valósított meg, később azonban a GitHub Copilot SDK-ra váltott, amely hozzáférést biztosít a közös futtatókörnyezethez.
A konstrukció célja, hogy a termékeknek ne kelljen külön megvalósítaniuk egy éles környezetben használható ügynöki keretrendszer minden elemét. A GitHub szerint így az intelligencia, a biztonság, a megbízhatóság és a teljesítmény közös alapra kerülhet, és egy javítás több termékben is érvényesülhet.
A Node.js és a V8 korlátai
A runtime eredetileg TypeScriptben, Node.js-en és a V8 JavaScript-motoron készült. Ez a megoldás gyors fejlesztést és széles körben hozzáférhető eszközöket kínált, a terminálos alkalmazás igényeihez pedig megfelelő teljesítményt adott. Más környezetekben azonban fontosabbá vált a gyors indulás, az alacsony memóriaigény és a nagy szerverkapacitás.
A korábbi felépítésben a Copilot CLI terminálos felülete és a futtatókörnyezet szorosan összekapcsolódott. Amikor SDK-ra lett szükség, azt a CLI-re építették rá. Az SDK egy külön CLI-folyamatot indított, amely Node.js-en és V8-on futott, a külső programmal pedig JSON-RPC-n keresztül kommunikált.
A GitHub leírása szerint ez azt jelentette, hogy az SDK minden használatakor új folyamatra volt szükség. A JavaScript-kód betöltése és feldolgozása, a V8 memóriaigénye, a folyamatok közötti kommunikáció és a Node alapértelmezett szálkezelési modellje egyaránt többletet okozott. A C#, Python, Go, Java és Rust SDK-k használói így egy olyan második nyelvi futtatókörnyezet költségét is viselték, amelyre az alkalmazásuknak egyébként nem volt szüksége.
A Rustra épített új architektúra
A GitHub célja egy olyan futtatókörnyezet kialakítása volt, amelyből hiányzik a terminálos felület, és amelyre a CLI, illetve más alkalmazások külön rétegként épülhetnek rá. A vállalat ehhez alacsony függőségi és működési többlettel rendelkező, teljesítményre, skálázhatóságra és megbízhatóságra alkalmas nyelvet keresett.
A választás a Rustra esett. A GitHub szerint a nyelv lehetővé teszi a C ABI-n keresztüli beágyazást, így a hat SDK-nyelv, a C#, a TypeScript, a Python, a Rust, a Go és a Java saját idegenfunkciós felületén keresztül érheti el a futtatókörnyezetet. Az új runtime tisztán natív binárisként működik, és igény szerint stdinen, stdouton vagy socketen keresztül, külön folyamatban is használható.
A fejlesztés két kapcsolódó feladatból állt. El kellett választani a terminálos felülethez tartozó kódot a runtimetól, majd a futtatókörnyezetet teljes egészében Rustra kellett átültetni. A GitHub közlése szerint a CLI jelenleg még több ponton közvetlenül használ belső runtime-funkciókat, ezért a teljes átállás a nyilvános SDK-felületre még folyamatban van.
Több mint 800 ezer sor Rust, AI-ügynökök közreműködésével
A GitHub 2026. szeptember 17-én közzétett beszámolója szerint az átírás több mint 800 ezer sor produkciós Rust kódot eredményezett. A kód nagy részét AI-ügynökök írták, a változtatások pedig 128, a fő ágba bekerült pull requestben érkeztek. A munkát fokozatosan szállították, nem egyetlen, a végén végrehajtott átállással.
A projekt kezdetén, 2026 májusának elején a futtatókörnyezetet nagyjából 130 ezer sor TypeScriptre becsülték. A GitHub későbbi becslése szerint azonban a portolás során körülbelül 430 ezer sor produkciós TypeScript kód ment át a folyamaton. Ennek oka többek között az volt, hogy a terminálos rétegből újabb részek kerültek a runtime-ba, miközben a fejlesztés folytatása új TypeScript-kódot is termelt.
A vállalat szerint a korábban egy teljes fejlesztőcsapatnak egy-két évig tartó munka elsősorban egyetlen fejlesztő vezetésével, néhány hónap alatt készült el. A GitHub állítása szerint a futtatókörnyezet teljesítménye nagyságrendekkel javult, miközben a csapat többi tagja tovább bővítette annak képességeit és elérését.


