AI-coding-agents hebben in een paar uur tijd de 27 jaar oude Java-applets van wiskundige Terence Tao omgezet naar JavaScript, en vonden daarbij twee bugs in zijn originele code die hij zelf nooit had opgemerkt. Dat beschrijft Tao, een van 's werelds bekendste wiskundigen, op zijn eigen blog.
Voor een Nederlands bedrijf dat op een verouderde codebase zit, verschuift dit de rekensom. Een migratie die normaal een project van weken is, met externe specialisten en een fors risico op nieuwe fouten, deed hier één agent in een handvol uren. De agent bleek bovendien een tweede paar ogen: hij wees fouten aan die al jaren in de oorspronkelijke code zaten. Tegelijk koos Tao bewust code die niet bedrijfskritisch is, en die grens is precies waar het interessant wordt.
Wat er precies gebeurde
Tao schreef zijn applets vanaf 1999 in Java 1.0, voor zijn colleges complexe analyse en lineaire algebra, om wiskundige objecten te visualiseren zoals honingraten en Besicovitch-verzamelingen. Toen browsers de steun voor die Java-versie lieten vallen, werkten de applets niet meer. De afgelopen dagen verhuisde hij zijn oude webpagina naar een onderhoudbaardere plek en liet een AI-agent de ruim twintig applets in een paar uur naar JavaScript omzetten. Alle oude applets draaien weer, sommige met een grafische opwaardering: zijn Besicovitch-applet is nu in kleur in plaats van het oorspronkelijke zwart-wit.
De kwaliteitsbalans is opvallend. In de ruim twintig geporte applets vond Tao zelf maar één klein foutje: een sleepbeweging die zich vreemd gedroeg zodra je buiten het kader sleepte. Daar staat tegenover dat de agent twee bugs in zijn originele code van destijds opspoorde die hij nooit had gezien. Per saldo bleef de codekwaliteit gelijk, schrijft hij. Welke twee bugs het precies waren, benoemt Tao niet, net zomin als welke agent hij gebruikte.

De grens: waar je de agent wel en niet loslaat
Tao is nuchter over de risico's. LLM-gestuurde codeeragents kunnen "flagrante of subtiele" bugs introduceren, schrijft hij, maar het neerwaartse risico is hier laag omdat de applets bijzaak zijn en geen dragend onderdeel van een wiskundig bewijs. Dezelfde afweging maakt hij bij twee nieuwe apps die hij liet bouwen: een visualisatie voor de speciale relativiteitstheorie die hij in 1999 al bedacht maar toen niet afkreeg, en een tool bij zijn recente artikel over het vermoeden van Gilbreath. Beide noemt hij nadrukkelijk een "alpha" met nog ruwe randjes.
Die redenering, laat de agent los op wat je makkelijk kunt terugdraaien, sluit aan bij onderzoek waaruit blijkt dat bedrijven agents wel met code vertrouwen maar niet met hun productiesystemen: hoe onomkeerbaarder de taak, hoe meer menselijke controle men eist. Voor een ondernemer betekent dat een oude, geïsoleerde interne tool een uitstekende eerste kandidaat is voor een agent-migratie, en je kernsysteem juist niet zomaar.
Waar dit heen wijst
Legacy-migratie wordt zo een van de eerste echte productieklussen waar codeeragents concreet iets opleveren. Grote softwareleveranciers maken er inmiddels een product van: IBM breidde zijn codeeragent onlangs uit met een Java Modernization-pakket dat legacy-systemen bij grote organisaties moderniseert. Dat een agent code van bijna drie decennia oud niet alleen weer aan de praat krijgt maar er ook latente fouten in aanwijst, verlegt de vraag. Niet langer óf je verouderde software kunt moderniseren, maar welke onderdelen veilig genoeg zijn om als eerste los te laten, en waar een mens de eindcontrole houdt.
Veelgestelde vragen
Vastgelopen software vlottrekken
Zit jij op een verouderde codebase die niemand meer durft aan te raken? Ik denk mee, ontwerp de aanpak en bouw de modernisering, van eerste analyse tot een systeem dat weer meebeweegt, self-hosted waar dat kan.
Dit artikel is geproduceerd samen met het Agent Team. Meer over de redactie.
