KI-Agenten migrieren die Copilot-Engine auf Rust
Microsoft hat die Software-Engine hinter GitHub Copilot vollständig von TypeScript und Node.js auf Rust umgestellt. Die Laufzeitumgebung wird nicht nur in der Copilot CLI und im SDK verwendet, sondern auch in VS Code, Visual Studio sowie Microsoft 365-Anwendungen wie Excel, Outlook und PowerPoint.
KI-Agenten übernahmen den Großteil der Portierung. Sie überführten 430.000 Zeilen TypeScript in 800.000 Zeilen produktiven Rust-Code. Dabei wurden Module schrittweise ersetzt, ohne die gesamte Architektur sofort neu zu strukturieren.
Das Projekt lief über 14,5 Wochen und umfasste 135 Releases. Im Durchschnitt entstanden 1,3 Pull-Requests für die Portierung pro Tag.
| Kennzahl | Wert |
|---|---|
| Tokenkosten | rund 120.000 US-Dollar |
| Entwickleraufwand | etwa 3 Wochen |
| Gesamtdauer | 14,5 Wochen |
| Releases | 135 |
| Pull-Requests | durchschnittlich 1,3 pro Tag |
| Ausgangscode | 430.000 Zeilen TypeScript |
| Ergebnis | 800.000 Zeilen Rust |
Zum Einsatz kamen unter anderem GPT-5.6 Sol und Claude Opus 4.8. Die Modelle wurden abhängig von ihren jeweiligen Stärken für unterschiedliche Aufgaben verwendet. Die Migration passt damit zu Microsofts Entscheidung, Rust intern als Tier-1-Programmiersprache zu behandeln.
15,9-facher Durchsatz bei deutlich weniger Speicher
Die technischen Ergebnisse fallen deutlich aus. In einem Benchmark absolvierte die TypeScript-Version 7,55 Session-Lebenszyklen pro Sekunde. Die direkt in den Prozess eingebettete Rust-Version erreichte 120 und war damit bei dieser konkreten Aufgabe 15,9-mal schneller.
Auch der Speicherverbrauch sank erheblich. Ein Stapel mit zehn Clients benötigte unter TypeScript 1.383 MB. Die Rust-Version kam für dieselbe Aufgabe mit 126 MB aus.
| Benchmark | TypeScript | Rust |
|---|---|---|
| Session-Lebenszyklen pro Sekunde | 7,55 | 120 |
| Speicherbedarf bei zehn Clients | 1.383 MB | 126 MB |
| Ausführungsmodell | zusätzliche Hintergrundprozesse | direkt im Prozess |
Rust war für Microsoft kein Selbstzweck. Gefordert waren eine Einbettung über eine C-ABI, also eine standardisierte Schnittstelle für die Zusammenarbeit mit anderer Software, niedrige Startkosten und eine vorhersehbare Ressourcennutzung.
Dies ist keine Behauptung, dass jedes große TypeScript-Programm auf Rust umgestellt werden sollte. Die konkreten Anforderungen an Einbettung, Startverhalten und Ressourcenverbrauch machten Rust in diesem Fall passend.
Die Agenten recherchierten mehr, als sie Code schrieben
Die Arbeitsweise der Agenten bestand nicht hauptsächlich aus der schnellen Erzeugung großer Codemengen. Ein erheblicher Teil der Zeit floss in Dokumentationsrecherche, Zustandsprüfung und wiederholte kleine Änderungen.
Besonders deutlich wurde das bei der Datei session.ts mit mehr als 30.000 Zeilen TypeScript. Ihre Portierung dauerte 25 Stunden. Der zuständige Agent verbrachte zunächst 56 Minuten mit Dokumentation, führte 122 Tool-Aufrufe aus und startete 15 Unter-Sessions mit jeweils eigenen Arbeitsbereichen.
Das verbreitete Bild einer KI, die einfach Code ausgibt, trifft den Ablauf kaum. In dieser Größenordnung bestand die Arbeit vor allem darin, den aktuellen Zustand zu untersuchen, Hypothesen zu bilden, gezielte Änderungen vorzunehmen und den Vorgang zu wiederholen.
Der Compiler fand keine logischen Fehler
Die Portierung führte zu Dutzenden Regressionen. Damit sind Funktionen gemeint, die vor einer Änderung korrekt arbeiteten und anschließend fehlerhaft waren. Der Rust-Compiler verhinderte speicherunsicheren Code, konnte aber keine falsche Programmlogik erkennen.
Ein Programm kann korrekt kompilieren und trotzdem Funktionen in der falschen Reihenfolge ausführen, Anforderungen übersehen oder ein anderes Verhalten als die Ausgangsversion zeigen. Genau dieses Problem ist auch bei der Bewertung von mehr Output durch KI-Coding bei gleichzeitig steigenden Qualitätsrisiken relevant.
Rust hindert einen Agenten daran, speicherunsicheren Code zu schreiben. Es hindert ihn nicht daran, das falsche Programm technisch fehlerfrei zu schreiben.
Welche Test-Frameworks und Prüfabläufe Microsoft konkret nutzte, wurde nicht offengelegt. Auch die internen Personalkosten für Analyse und Bereinigung der Regressionen sind nicht bekannt. Die genannten 120.000 US-Dollar bilden daher nur die Tokenkosten ab und nicht das vollständige Projektbudget.
Bun-Portierung kostete 165.000 US-Dollar
Ein weiteres Beispiel liefert die JavaScript-Laufzeitumgebung Bun. Rund 535.000 Zeilen Zig-Code wurden weitgehend mit Claude-Agenten nach Rust portiert. Die Tokenkosten lagen bei 165.000 US-Dollar.
Der experimentelle Port bestand zum Stand vom 30. Juli auf Linux x64 glibc insgesamt 99,8 % der vorhandenen Tests. Die stabilen Bun-Versionen wurden zu diesem Zeitpunkt weiterhin aus der Zig-Codebasis ausgeliefert.
| Projekt | Ausgangsbasis | Tokenkosten | Status |
|---|---|---|---|
| GitHub Copilot Runtime | 430.000 Zeilen TypeScript | 120.000 US-Dollar | vollständig auf Rust migriert |
| Bun | 535.000 Zeilen Zig | 165.000 US-Dollar | experimenteller Rust-Port |
Was Unternehmen daraus ableiten können
Für Unternehmen im DACH-Raum zeigt das Projekt, dass KI-gestützte Migrationen großer Codebasen technisch und wirtschaftlich realistischer werden. Nach Einschätzung von Microsoft hätte eine rein manuelle Umsetzung Jahre dauern und Millionen kosten können. Das lässt sich allerdings nicht pauschal auf andere Systeme übertragen.
Für die Modernisierung bestehender Software oder die Entwicklung eigener Alternativen zu standardisierten SaaS-Produkten sinkt damit eine wichtige Hürde. Tokenkosten ersetzen jedoch keine erfahrenen Entwickler. Architekturentscheidungen, fachliche Abnahmetests und die Kontrolle von Regressionen bleiben menschliche Aufgaben.
Entscheidend ist deshalb nicht, ob ein Agent kompilierenden Code erzeugt. Entscheidend ist, ob Unternehmen über automatisierte Tests, klare fachliche Anforderungen und erfahrene Verantwortliche für die Prüfung verfügen. Ohne diese Absicherung kann eine günstige Portierung hohe Folgekosten verursachen.

