Copilot Runtime Rust-Migration kostete 120.000 Dollar
GitHub schloss die Copilot Runtime Rust-Migration im September 2026 ab: KI-Agenten schrieben in 14,5 Wochen den Großteil von mehr als 800.000 Zeilen Rust für die Produktion. Laut The Register kostete die Portierung rund 120.000 Dollar an KI-Tokens plus rund drei Wochen Entwicklerzeit, und GitHub sagt, ein gemessenes Startszenario sei von 5,25 Sekunden auf 292 Millisekunden gesunken. Für Unternehmen mit großen Altcodebasen ist das ein gemessener Fall, in dem Agenten ein Rewrite erledigten, das früher ein ganzes Team brauchte.
Warum GitHub die Runtime von TypeScript wegbewegen musste
Die Copilot-Agent-Runtime ist die Maschine hinter der GitHub Copilot CLI, der Copilot-App, dem Copilot SDK und dem Copilot Cloud Agent. Sie steht auch hinter VS Code, Visual Studio, Excel, Outlook, PowerPoint und Word. Geschrieben war sie in TypeScript auf Node.js und der V8-Engine, einem Stack für schnelle Entwicklung, nicht für schnellen Start oder dichte Server.
Diese Wahl wurde teuer, als sich die Runtime ausbreitete. Jede Anwendung mit dem SDK musste einen eigenen Prozess starten, der Node.js und V8 hostet. GitHub sagt, das kostete rund 100 MB Arbeitsspeicher pro Client, schickte jedes Ereignis und jede Nachricht über eine Prozessgrenze, und ein Absturz in Node riss die Sitzung mit.
Was GitHub stattdessen gebaut hat
GitHub ersetzte die Runtime durch eine native Rust-Bibliothek, die Host-Anwendungen direkt über eine C ABI einbetten können, während ein Modus außerhalb des Prozesses weiter verfügbar bleibt. Das Copilot SDK behält sprachspezifische Schnittstellen für TypeScript, Python, Go, .NET, Java und Rust.
„Das ist keineswegs die Behauptung, dass jedes große TypeScript-Programm zu Rust werden sollte." — Stephen Toub, Distinguished Engineer bei Microsoft, zur Portierung
Toub schrieb, die Anforderungen des Teams seien Einbettung über eine C ABI, geringer Overhead beim Start und im Dauerbetrieb sowie vorhersehbarer Ressourcenverbrauch.
Wie die Agenten die Arbeit im Alltag erledigten
Die Portierung lief schrittweise statt in einem großen Umschalten. Einzelne TypeScript-Komponenten wurden durch Rust ersetzt, verbunden über eine vorübergehende Kompatibilitätsschicht, damit bestehende End-to-End-Tests den neuen Code ausführen konnten. Diese Schicht erreichte 2.019 interne Exporte und 3.356 TypeScript-Aufrufstellen, bevor sie entfernt wurde. Die Arbeit landete in 128 Pull Requests, und GitHub lieferte während der Migration 135 Releases aus, 35 stabile und 100 Vorabversionen.
Copilot schrieb Copilot um, mit mehreren Modellen, darunter GPT-5.6 Sol und Claude Opus 4.8, für verschiedene Teile der Aufgabe. Die Agenten verbrachten mehr Zeit mit dem Sammeln von Informationen als mit dem Schreiben von Code. Die schwierigste Datei, session.ts, enthielt über 30.000 Zeilen TypeScript. Ihre Portierungssitzung dauerte 25 Stunden: Sie las 56 Minuten Dokumentation, machte 122 Tool-Aufrufe und startete 15 untergeordnete Sitzungen, die sich untereinander abstimmten. GitHub verzeichnete 4.478 direkte Kompilierungsprüfungen, von denen 87,1 % sauber durchliefen.
Was die Migration gemessen hat
GitHub und The Register berichten diese Ergebnisse:
- Umfang: Bis zum 21. August enthielt die Runtime 832.378 Zeilen Rust für die Produktion und 468.689 Zeilen Rust-Unit-Tests. Die Agenten konvertierten rund 430.000 Zeilen TypeScript, gegenüber einer Schätzung von rund 130.000 Anfang Mai 2026.
- Start: Ein Szenario aus Client-Start, Sitzungserstellung und einem einzigen Turn sank von 5,25 Sekunden auf 292 Millisekunden, mit der in den Prozess eingebetteten Rust-Runtime.
- Durchsatz: Bei 1.000 Sitzungszyklen mit je einem Turn auf 100 parallelen Pipelines schaffte TypeScript 7,55 pro Sekunde und Rust im Prozess 120 pro Sekunde, ein Speedup um das 15,9-Fache.
- Speicher: Ein Batch mit 10 Clients brauchte unter TypeScript 1.383 MB und unter Rust 126 MB.
- Kosten: rund 120.000 Dollar an KI-Tokens plus rund drei Wochen Entwicklerzeit.
Wo die Agenten danebenlagen
Das Rewrite lief nicht sauber. The Register berichtet von einigen Dutzend Regressionen, also Code, der kompilierte, sich aber nicht mehr wie zuvor verhielt. Toub führte sie auf mehrdeutige Semantik, abweichende Branches, nicht übertragene Funktionen und Ersatzcode mit anderem Verhalten zurück. Er schrieb, „wenn es kompiliert, ist es korrekt" sei nur als Witz nützlich.
Kompilierung, Tests und menschliche Prüfung fingen diese Probleme unterwegs ab. Die Umstrukturierung der Runtime selbst blieb außerhalb des Umfangs und ist der nächste Schritt.
Was das für Unternehmen mit Altcode bedeutet
Die geschäftliche Aufgabe ist hier das Rewrite, das niemand besetzen kann. GitHub sagt, das Projekt hätte vor den Agenten ein ganzes Entwicklerteam ein bis zwei Jahre beschäftigt und wurde stattdessen vor allem von einem einzigen Entwickler in wenigen Monaten abgeschlossen, während der Rest des Teams weiter Funktionen ergänzte.
Die Methode zählt so viel wie die Agenten: kleine Pull Requests, eine vorübergehende Brücke zwischen altem und neuem Code, bestehende Tests und ein Mensch, der jede Änderung prüft. Ein Unternehmen, das eine eigene Portierung abwägt, kann seine Kosten mit einer öffentlichen Zahl vergleichen: rund 120.000 Dollar an Tokens für diese Aufgabe.
Fragen und Antworten
Wie lange dauerte die Portierung der Copilot Runtime nach Rust?
Rund 14,5 Wochen, geliefert in 128 Pull Requests, während GitHub die Runtime weiter veröffentlichte.
Was kostete das KI-gestützte Rewrite?
The Register berichtet von rund 120.000 Dollar an KI-Tokens plus rund drei Wochen Entwicklerzeit.
Hat der Rust-Compiler die Fehler der Agenten gefunden?
Nur einen Teil. Der Compiler bestätigt, dass Code gültiges Rust ist, nicht dass er das alte Verhalten beibehält. Tests und menschliche Prüfung fanden also die Regressionen, die sauber kompilierten.
Die Sicht von MOZGII
Wie wir es bauen würden
Die Lehre, die wir aus diesem Fall ziehen würden: Die Agenten waren der günstige Teil. Funktioniert hat es durch die schon vorhandene Testsuite, die Brücke, über die alter und neuer Code nebeneinander liefen, und den Entwickler, der die Änderungen prüfte.
Würden wir eine große Codebasis mit Agenten portieren, hielten wir zuerst das Verhalten, das uns wichtig ist, in Tests an den Schnittstellen fest: Eingaben, Ausgaben, Fehlerfälle, Abbruch und Wiederholungen. Wir portierten ein Modul nach dem anderen hinter einer vorübergehenden Brücke, lieferten jedes Stück in einem normalen Release aus und hielten das alte Modul zum Zurückschalten bereit. Agenten läsen, entwürfen und führten die Prüfungen aus. Ein Mensch verantwortete jeden Merge.
Brechen würde es dort, wo Verhalten nie aufgeschrieben wurde. Ein Compiler bestätigt, dass Code gültig ist, nicht dass er tut, was der alte tat, und die Regressionen in diesem Fall stammten genau aus solchen Lücken. Wir würden aufgezeichnete Produktionsanfragen gegen beide Versionen abspielen und die Antworten vergleichen.
Die eine Kennzahl, die wir beobachten würden, sind die nach dem Release gefundenen Regressionen pro portiertem Modul, neben den Token-Kosten pro Modul. Als Nächstes würden wir dieselbe Methode auf die Umstrukturierung des Codes selbst anwenden, den Schritt, den GitHub für später ließ.
Quellen
Woher die Fakten dieser Meldung stammen.
- 01Github Migrates Copilot Runtime to Rust with AI-Assisted Rewrite - InfoQinfoq.com
- 02Microsoft agentically ports Copilot runtime to Rust for $120Ktheregister.com
- 03Migrating the GitHub Copilot runtime to Rust, using Copilot - The GitHub BlogLinkedIn iconInstagram iconYouTube iconX iconTikTok iconTwitch iconGitHub icongithub.blog