Dev / CodingNieuwsAI-generated

AI-agents porten TypeScript-compiler naar Rust voor 24.000 dollar

Developer en YouTuber Theo Browne heeft de TypeScript-compiler door AI-agents naar Rust laten porten. Het resultaat staat onder MIT-licentie op GitHub als tsc-rs, en is volgens Brownes eigen benchmark bijna drie keer zo snel als de officiele Go-versie van Microsoft. In de README schrijft hij er zelf bij dat hij geen regel van die code heeft gelezen.

Vier ton aan tokens zonder werkend resultaat

Browne begon het project om te zien hoe ver de huidige modellen komen met een taak die te groot is om af te maken: niet alleen de compiler, maar ook de type checker en de language server, het onderdeel dat editors hun foutmeldingen en autocomplete geeft.

Zijn eerste poging liep via OpenAI-modellen. Met GPT-5.6 Sol en GPT-6 Astra verstookte hij volgens de README meer dan 400.000 dollar aan API-geprijsde tokens. Die agents schreven in de loop van maanden ruim 1,3 miljoen regels Rust, maar kwamen niet verder dan ongeveer 84 procent compatibiliteit.

Toen Anthropic Claude Opus 5.5 uitbracht, probeerde Browne het opnieuw. Dat model had binnen tien uur een werkende eerste versie. Browne ging ervan uit dat het voortbouwde op de code van de OpenAI-modellen, maar dat bleek niet zo: Opus 5.5 begon vanaf nul. Het totale verbruik kwam uit op ongeveer 24.047 dollar aan API-prijs, verspreid over twee weken. Hij draaide het via zijn Claude-abonnementen, waar het neerkwam op 925 tot 983 procent van de weeklimieten van zijn abonnement van 200 dollar. Zelf schat hij dat het voor zo'n 20.000 dollar had gekund.

Niet vanuit JavaScript, maar vanuit Go

De interessantste keuze maakte het model zelf. In plaats van de oorspronkelijke JavaScript-implementatie regel voor regel naar Rust te vertalen, nam het de Go-versie van Microsoft als vertrekpunt en hield het Go-algoritme intact. Browne kwam daar pas achter toen iemand anders het hem aanwees. Daarbij zijn ook enkele bugs uit het origineel meegekomen.

De snelheidswinst meet hij op een volledige typecheck van zijn eigen codebase T3 Code met Effect-diagnostiek aan, als som van de mediaan van vijf projecten. Daar doet tsc-rs 14,30 seconden en tsc-rs --fast 9,77 seconden, tegen 42,55 seconden voor de Go-gebaseerde tsc 7. De oudere JavaScript-versie tsc 6 heeft er 191 seconden voor nodig.

Nog wel een vroege release

Browne noemt het expliciet een early release. In elk echt project dat hij testte haalde het volledige compatibiliteit, maar de README somt ook bekende problemen op: in sommige monorepo's rapporteert tsc-rs foutcode TS6059 voor meer bestanden dan tsc doet, bij tsc -b kan verschil ontstaan in welke uitvoer projecten van elkaar lezen, en in de editor loopt het geheugengebruik over lange sessies iets sneller op. Ook meldt tsc-rs --version de TypeScript-versie die het nabouwt, 7.1.0-dev, en niet het npm-versienummer.

The Register plaatst het project in een rij vergelijkbare experimenten: Microsoft schreef zijn Copilot-runtime in Rust om voor zo'n 120.000 dollar aan tokens, en Google zet agents in om onder meer RE2, libgav1 en delen van de Zircon-kernel van Fuchsia naar Rust te porten.