Coding-AgentenMicrosoftRust

GitHub Copilot: Rust-Port für 120.000 Dollar an Tokens

Microsoft hat die zentrale Laufzeitumgebung von GitHub Copilot mithilfe von KI-Agenten von TypeScript auf Rust migriert. Die Portierung kostete rund 120.000 US-Dollar an Tokens, verbesserte Leistung und Speicherbedarf deutlich, verursachte aber Dutzende logische Regressionen.

GitHub Copilot: Rust-Port für 120.000 Dollar an TokensBild: KI-generiert

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.

KennzahlWert
Tokenkostenrund 120.000 US-Dollar
Entwickleraufwandetwa 3 Wochen
Gesamtdauer14,5 Wochen
Releases135
Pull-Requestsdurchschnittlich 1,3 pro Tag
Ausgangscode430.000 Zeilen TypeScript
Ergebnis800.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.

BenchmarkTypeScriptRust
Session-Lebenszyklen pro Sekunde7,55120
Speicherbedarf bei zehn Clients1.383 MB126 MB
Ausführungsmodellzusätzliche Hintergrundprozessedirekt 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.

Stephen Toub, sinngemäß aus dem Englischen übersetzt

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.

Stephen Toub, sinngemäß aus dem Englischen übersetzt

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.

Lisa Crossman, sinngemäß aus dem Englischen übersetzt

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.

ProjektAusgangsbasisTokenkostenStatus
GitHub Copilot Runtime430.000 Zeilen TypeScript120.000 US-Dollarvollständig auf Rust migriert
Bun535.000 Zeilen Zig165.000 US-Dollarexperimenteller 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.