Regels programmeercode op een computerscherm.
Nieuws12 juli · 18:124 leestijd

AI-agent moderniseert Tao's 27 jaar oude code en vindt twee gemiste bugs

Een AI-coding-agent zette de 27 jaar oude Java-applets van wiskundige Terence Tao in een paar uur om naar JavaScript, en spoorde twee bugs op die hij zelf nooit had gezien. Wat dat betekent voor bedrijven met een verouderde codebase.

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.

Het honingraat-applet dat Terence Tao in 1999 met Allen Knutson schreef, nu opnieuw werkend in JavaScript. (Terence Tao, terrytao.wordpress.com)
Het honingraat-applet dat Terence Tao in 1999 met Allen Knutson schreef, nu opnieuw werkend in JavaScript. (Terence Tao, terrytao.wordpress.com)

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

Alisina Nawabi
Geschreven doorAlisina Nawabi

AI Product Engineer & Solutions Architect

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.

Meer informatie

Dit artikel is geproduceerd samen met het Agent Team. Meer over de redactie.

Verken verder

Concepten

Menselijk toezichtAI agentsLegacy modernisatieModernisering legacy softwareTijdsbesparingAI-gestuurd coderenBugdetectie door AICodekwaliteit

Gerelateerde artikelen

IBM breidt codeeragent Bob uit met sub-agents en modernisatiepakketten voor mainframe, IBM i en Java
Nieuws
5 min

10 jul 00:09

IBM breidt codeeragent Bob uit met sub-agents en modernisatiepakketten voor mainframe, IBM i en Java

IBM breidt codeeragent Bob uit met sub-agents en drie moderniseringspakketten voor IBM Z, IBM i en Java. Voor grotere organisaties met verouderde kernsystemen komt AI-modernisatie van mainframe- en RPG-code zo dichterbij, met kostenrapportage per team.

IBM en Red Hat steken 5 miljard dollar in Project Lightwell om open source met AI te patchen
Nieuws
6 min

2 jul 20:11

IBM en Red Hat steken 5 miljard dollar in Project Lightwell om open source met AI te patchen

IBM en Red Hat trekken samen 5 miljard dollar uit voor Project Lightwell, een dienst die open-source-kwetsbaarheden patcht nu AI ze sneller vindt dan onderhouders ze kunnen dichten. Wat dat betekent voor jouw software.

Wat is een AI-agent? Een taalmodel in een lus met gereedschap
Uitgelegd
8 min

10 jul 13:52

Wat is een AI-agent? Een taalmodel in een lus met gereedschap

Nee, een AI-agent is geen autonoom brein. Het is hetzelfde taalmodel als in een chatbot, in een lus gezet met gereedschap. Zie de lus draaien en je snapt waar het misgaat en waarom guardrails erbij horen.

Wat is RAG? Antwoorden uit je eigen documenten
Uitgelegd
7 min

10 jul 12:06

Wat is RAG? Antwoorden uit je eigen documenten

Je hoeft geen model te hertrainen om een AI je documenten te laten kennen. RAG zoekt bij je vraag de juiste stukken op en geeft ze mee. Zie hoe grounding werkt, en waar het alsnog misgaat.

IBM en Red Hat lanceren Lightwell commercieel voor geautomatiseerd open-source-patchen
Nieuws
4 min

8 jul 16:25

IBM en Red Hat lanceren Lightwell commercieel voor geautomatiseerd open-source-patchen

IBM en Red Hat brengen Lightwell als betaald product op de markt: twee aanbiedingen die kwetsbaarheden in open source geautomatiseerd patchen. Wat dat betekent voor je patchbeheer en je leveranciersrisico.

Sysdig verduidelijkt: de 'eerste' autonome AI-ransomware had toch een mens nodig
Nieuws
4 min

7 jul 04:24

Sysdig verduidelijkt: de 'eerste' autonome AI-ransomware had toch een mens nodig

De als 'eerste autonome' bestempelde AI-ransomware had toch een mens nodig. Sysdig-onderzoeker Michael Clark verduidelijkt dat een medewerker het doelwit koos, de aanvalsinfrastructuur opzette en de gestolen inloggegevens aanleverde. Alleen de technische uitvoering liep autonoom.