Theory of Code Space: Do Code Agents Understand Software Architecture?

Dit paper introduceert ToCS, een benchmark die aantoont dat AI-codeagenten moeite hebben met het behouden van architecturale inzichten in grote codebases, waarbij de prestaties sterk variëren afhankelijk van het model en de gebruikte strategie.

Grigory Sapunov

Gepubliceerd Mon, 09 Ma
📖 5 min leestijd🧠 Diepgaand

Each language version is independently generated for its own context, not a direct translation.

Stel je voor dat je een nieuwe stad binnenkomt, maar je hebt geen kaart, geen GPS en je mag maar één straat tegelijk verkennen voordat je een pauze moet nemen. Je doel is om een complete, betrouwbare kaart van de stad te tekenen, inclusief welke gebouwen met elkaar verbonden zijn en welke regels er gelden (bijvoorbeeld: "je mag niet rechtstreeks van het station naar het ziekenhuis lopen, je moet via het park").

Dit is precies wat dit onderzoek, getiteld "Theory of Code Space" (TOCS), doet, maar dan met software in plaats van steden.

Hier is een simpele uitleg van de bevindingen, vertaald naar alledaagse taal:

1. Het Probleem: Slimme robots die de weg kwijt raken

We weten dat kunstmatige intelligentie (AI) heel goed is in het schrijven van losse stukjes code, net als iemand die goed kan zinnen maken. Maar als je die AI een heel groot, complex computerprogramma laat aanpassen (met tientallen bestanden die met elkaar verbonden zijn), raken ze vaak de draad kwijt. Ze weten niet hoe de verschillende onderdelen samenwerken. Ze zien de bomen, maar niet het bos.

De onderzoekers wilden weten: Begrijpen deze AI's echt de architectuur (het blauwdruk) van de software, of raden ze het maar?

2. De Test: Een spelletje "Verken en Teken"

Om dit te testen, hebben ze een nieuw spelletje bedacht (het TOCS-benchmark):

  • De Stad: Ze creëerden virtuele softwaresteden met een verborgen structuur.
  • De Beperking: De AI mag niet alles tegelijk zien. Ze moeten "openen" (lezen) van bestanden, maar ze hebben een budget (bijvoorbeeld: je mag maar 20 bestanden bekijken).
  • De Taak: Elke paar stappen moet de AI een kaart tekenen in een gestructureerd formaat (een JSON-lijstje) waarin staat: "Ik denk dat bestand A met bestand B verbonden is."
  • De Vraag: Hoe goed is die kaart? En verandert die kaart als de AI meer informatie krijgt?

3. De Drie Grote Verassingen (De "Aha!"-momenten)

De onderzoekers keken naar verschillende AI-modellen en vonden drie verrassende patronen:

A. De "Actief vs. Passief" Klap (De Actieve-Passieve Kloof)

Sommige mensen leren beter door zelf te zoeken; anderen leren beter als iemand hen alles uitlegt. Dit geldt ook voor AI, maar het is willekeurig welke het is.

  • Model A (zoals GPT): Deze AI werd slimmer door zelf op zoek te gaan naar de bestanden. Als je haar alle bestanden tegelijk gaf, raakte ze in de war (te veel informatie). Ze bouwde een betere kaart door stap voor stap te verkennen.
  • Model B (zoals Gemini): Deze AI werd dommer door zelf te zoeken. Ze had liever dat iemand haar alle bestanden tegelijk gaf. Als ze zelf moest kiezen welke bestanden ze opende, maakte ze slechte keuzes en raakte ze de weg kwijt.
  • De les: "Actief verkennen" is geen vanzelfsprekende vaardigheid voor elke AI. Sommigen zijn beter in het luisteren dan in het zoeken.

B. De "Zelf-Bouwsteun" (Self-Scaffolding)

Stel je voor dat je een muur bouwt. Soms helpt het om tussendoor even te kijken naar wat je al hebt gebouwd, zodat je de volgende baksteen op de juiste plek zet.

  • Model A gebruikte zijn eigen eerder getekende kaarten als een hulpmiddel. Door die kaarten in zijn geheugen te houden, bouwde hij een steeds betere kaart. Het was alsof hij zichzelf hielp door te zeggen: "Kijk, dit heb ik al gevonden, dus nu zoek ik hier verder."
  • Model B deed dit niet. Het gebruikte zijn eigen kaarten niet om zich te verbeteren. Voor hen was het tekenen van de kaart alleen een verslag, geen hulpmiddel.

C. Het "Vergeten" Probleem (Belief Instability)

Dit was het meest dramatische resultaat.

  • Het kleine model: Een kleiner AI-model hield zijn kaart perfect stabiel. Wat hij een uur geleden had gevonden, vergeten hij niet.
  • Het grote model: Een veel groter, krachtiger model had een catastrofale ineenstorting. Het bouwde een mooie kaart, maar bij de volgende check was de helft van de verbindingen plotseling verdwenen uit zijn hoofd. Het vergeten wat het net had ontdekt.
  • De les: Groter is niet altijd beter. Soms is een kleiner model betrouwbaarder omdat het zijn "geheugen" beter beheert.

4. Waarom is dit belangrijk?

Vroeger dachten we: "Als de AI de code kan schrijven, begrijpt hij de architectuur ook wel." Dit onderzoek bewijst het tegenovergestelde.

  • AI's kunnen goed code genereren, maar ze worstelen met het begrijpen van het grote geheel.
  • Ze vergeten wat ze net hebben geleerd.
  • Ze hebben soms hulp nodig om hun eigen kennis te ordenen (zoals het houden van een notitieblok).

Conclusie

De onderzoekers hebben een nieuwe "rijbewijstest" voor AI ontwikkeld (TOCS). Deze test laat zien dat niet alle AI's even goed zijn in het bouwen van een mentaal beeld van complexe systemen. Sommige zijn uitstekende verkenners, anderen zijn betere luisteraars, en sommige vergeten hun eigen ontdekkingen te snel.

Om AI's echt slim te maken voor softwareontwikkeling, moeten we ze niet alleen laten "denken", maar ze ook leren hoe ze hun eigen kennis moeten vasthouden en ordenen, net zoals een mens een kaart tekent terwijl hij door een stad loopt.