From Restructuring to Stabilization: A Large-Scale Experiment on Iterative Code Readability Refactoring with Large Language Models
Dit artikel presenteert een grootschalig experiment waarin wordt aangetoond dat iteratieve code-refactoring met grote taalmodellen (zoals GPT-5.1) een patroon van herstructurering gevolgd door stabilisatie vertoont, wat wijst op een geïnternaliseerd begrip van optimale leesbaarheid en de betrouwbaarheid van dergelijke automatisering onderbouwt.
Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven of goedgekeurd door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer
Van Chaos naar Orde: Hoe AI Code "Opknap" en dan Stopt
Stel je voor dat je een oude, rommelige zolder hebt vol met spullen. Sommige dozen zijn netjes, andere zijn een puinhoop. Je vraagt een zeer slimme, maar soms wat eigenzinnige robot (een Grote Taalmodel of LLM) om de zolder op te ruimen.
De onderzoekers van dit papier hebben precies dit gedaan, maar dan met computercode in plaats van oude dozen. Ze wilden weten: Als je deze robot steeds opnieuw vraagt om de code "leesbaarder" te maken, gebeurt er dan iets zinnigs, of begint hij maar te klooien?
Hier is wat ze hebben ontdekt, vertaald naar alledaags taal:
1. De Proef: De "Opknapbeurt"
De onderzoekers namen 230 stukjes Java-code (een programmeertaal). Ze maakten drie versies van elk stukje:
- De nette versie: Alles was al goed.
- De "zinneloze" versie: Alle variabelen heetten nu
x,y,fooen alle uitlegteksten waren onzin. Alsof je een boek leest waar alle woorden vervangen zijn door "blabla". - De "zonder commentaar" versie: Alle uitlegteksten waren verwijderd.
Vervolgens gaven ze deze stukjes aan de AI (GPT-5.1) en zeiden: "Maak dit leesbaarder." Daarna zeiden ze het nog eens: "Nee, maak het nu nog leesbaarder." En nog eens... en nog eens. Ze deden dit vijf keer achter elkaar.
2. Het Grote Ontdekking: "Bouwen en dan Rusten"
Het meest interessante wat ze zagen, is dat de AI een heel specifiek patroon volgt. Het is alsof de AI twee fases heeft:
- Fase 1: De Grote Opknapbeurt (Restructuring)
In het begin maakt de AI veel veranderingen. Het hernoemt dingen, schuift regels op en haalt soms zelfs uitlegteksten weg. Het is alsof de robot de zolder eerst helemaal leegt en de planken opnieuw inricht. - Fase 2: De Rustfase (Stabilization)
Na een paar keer "opknappen" stopt de AI bijna helemaal met veranderen. Het komt tot een punt waarop het denkt: "Oké, dit is nu perfect. Ik ga niet meer aanraken."
De conclusie: De AI heeft blijkbaar een intern idee van hoe een "perfect leesbaar" stukje code eruit moet zien. Zodra het daar is, stopt het. Het blijft niet eindeloos doorgaan met veranderen.
3. Wat als je de AI een specifieke opdracht geeft?
De onderzoekers gaven de AI ook specifieke instructies, zoals: "Focus vooral op het hernoemen van variabelen" of "Focus vooral op het toevoegen van uitlegteksten."
- Focus op namen: Als je de AI zegt "hernoem alles", blijft hij maar hernoemen. Hij schuift heen en weer tussen namen (bijv. van
xnaargebruikeren terug naardata). Het is alsof hij twijfelt en niet kan stoppen met kiezen. Dit noemen ze oscillatie (heen-en-weer bewegen). - Focus op uitleg: Als je zegt "voeg uitleg toe", doet hij dat eerst, en dan stopt hij. Hij lijkt te begrijpen: "Oké, genoeg uitleg, nu is het duidelijk."
4. Werkt dit ook met nieuwe code?
Een grote vraag was: Herinnert de AI zich deze code uit zijn training en plakt hij het gewoon terug?
Om dit te testen, gaven ze de AI code die pas in 2025 was geschreven (na de training van de AI). Het resultaat? Hetzelfde patroon. De AI deed precies hetzelfde: eerst een grote opknapbeurt, dan rusten. Dit betekent dat de AI echt begrijpt hoe code werkt, en niet alleen maar dingen uit zijn geheugen roept.
5. Is de code nog wel goed?
Soms kan een robot die iets "opknapt" per ongeluk iets kapot maken. De onderzoekers hebben gekeken of de code nog werkte na elke ronde. Gelukkig: Ja. De code bleef bijna altijd werken. Er waren heel weinig fouten, en die waren vaak heel klein (zoals een puntje of komma vergeten).
De Gouden Leerlessen voor Mensen
Wat betekent dit voor ons?
- Gebruik een stopknop: Als je een AI gebruikt om code te verbeteren, moet je niet oneindig doorgaan. Na een paar ronden is het "goed genoeg". Als je blijft doorgaan, begint de AI misschien weer dingen te veranderen die al perfect waren (de "heen-en-weer" beweging).
- Wees specifiek in je vraag: Als je zegt "maak het beter", doet de AI van alles. Als je zegt "maak de namen beter", doet hij dat, maar twijfelt hij misschien te veel. Als je zegt "voeg uitleg toe", doet hij dat en stopt hij. De manier waarop je het vraagt, bepaalt het resultaat.
- AI is een goede "eerste opknapbeurt": Het kan rommelige code snel omzetten in iets dat eruitziet als een professioneel stukje werk. Maar een mens moet er altijd nog even naar kijken om te controleren of de "uitleg" die de AI toevoegt ook echt klopt.
Kortom: Grote Taalmodellen zijn als een zeer efficiënte, maar soms wat eigenzinnige schoonmaker. Ze kunnen een rommelige kamer in één keer netjes maken, maar als je ze blijft vragen om "nog net iets netter" te maken, beginnen ze soms weer te verplaatsen wat al perfect lag. De kunst is om te weten wanneer je de borstel moet neerleggen.
Verdrinkt u in papers in uw vakgebied?
Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.