Beyond the Autoregressive Horizon: A Comprehensive Survey of Diffusion Models, World Modelling, and State Space Models for Code
Dit artikel onderzoekt opkomende niet-autoregressieve paradigma's—specifiek Diffusiemodellen, Code World Models en State Space Models—om de structurele beperkingen van next-token voorspelling bij codegeneratie aan te pakken en stelt een pad voor naar "Systeem 2"-redeneeragenten geïnspireerd door cognitieve neurowetenschap.
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
Het Grote Probleem: De "Eenrichtingsweg" van de Huidige AI
Stel je voor dat je een verhaal schrijft, maar je bent gedwongen om het woord voor woord te schrijven, van links naar rechts, en je mag nooit teruggaan om een woord dat je al geschreven hebt te veranderen.
Dit is hoe de meeste huidige AI-codegeneratoren werken. Ze worden Autoregressieve (AR) modellen genoemd. Ze voorspellen het volgende woord op basis van alles wat eraan voorafging.
- De Valstrik: Als je vroeg in het proces een kleine fout maakt (zoals het kiezen van het verkeerde gereedschap voor een klus), zit je eraan vast. Je kunt het later niet meer herstellen. De AI moet de rest van de tekst rondom die fout blijven schrijven, wat vaak leidt tot een "hallucinatie" waarbij de AI verzint waarom die fout eigenlijk een goed idee was.
- De Analogie: Het is als het bouwen van een huis waarbij je eerst de fundering legt, dan de muren, en dan het dak. Als je halverwege beseft dat de fundering te klein is, kun je deze niet meer opbreken. Je moet er gewoon bovenop doorbouwen, en het hele huis kan instorten.
Het paper betoogt dat coderen niet lijkt op het houden van een toespraak (die in een rechte lijn verloopt). Coderen lijkt meer op het schetsen van een blauwdruk, het uitgummen van lijnen, het verplaatsen van muren en het verfijnen van het ontwerp. De huidige AI is slecht in dit "bewerkingsproces".
De auteurs stellen drie nieuwe manieren voor om AI te bouwen die kan "denken" en "bewerken" zoals een menselijke programmeur.
1. Diffusiemodellen: De "Beeldhouwer"-aanpak
Het Concept: In plaats van woord voor woord te schrijven, stel je voor dat je begint met een blok marmer dat bedekt is met ruis (statische ruis) en dat je langzaam de ruis wegbeitelt om het beeldhouwwerk eronder te onthullen.
Hoe het werkt voor Code:
- De Analogie: Denk aan een beeldhouwer. Een beeldhouwer bouwt niet een standbeeld stukje bij beetje vanaf de grond op. Hij begint met een ruwe vorm en verfijnt deze. Hij kan het hele beeld in één keer bekijken. Als een neus te groot lijkt, kan hij die direct aanpassen zonder zich zorgen te maken over hoe dat de voeten beïnvloedt die hij nog niet heeft uitgehouwen.
- Het Voordeel: Dit stelt de AI in staat om het "gehele plaatje" (globale context) tegelijkertijd te zien. De AI kan een ontbrekende haak aan het einde van een bestand oplossen door de openende haak aan het begin aan te passen, allemaal in één keer. Het is als het schrijven van een conceptversie, om vervolgens het hele werk te bewerken om te zorgen dat het verhaal klopt, in plaats van te proberen elke zin de eerste keer perfect te krijgen.
2. State Space Models (SSMs): Het "Super-Kortetermijngeheugen"
Het Concept: Huidige AI-modellen worden moe bij het lezen van zeer lange documenten. Tegen de tijd dat ze pagina 99 van een bestand van 100 pagina's bereiken, zijn ze vergeten wat er aan het begin gebeurde.
Hoe het werkt voor Code:
- De Analogie: Stel je voor dat je een enorme roman leest. Een normale lezer (zoals een standaard AI) moet de eerste hoofdstukken steeds opnieuw lezen telkens wanneer hij bij het laatste hoofdstuk komt om de namen van de personages te onthouden.
- De SSM-Oplossing: Een SSM is als een lezer met een magisch notitieblok. Terwijl hij leest, vat hij het verhaal samen in één compacte aantekening. Wanneer hij aan het einde komt, hoeft hij niet het hele boek opnieuw te lezen; hij kijkt alleen naar zijn aantekening.
- Het Voordeel: Dit stelt de AI in staat om enorme codebases (zoals volledige softwareprojecten) te verwerken zonder overweldigd te raken of het begin te vergeten. Het houdt efficiënt een "lopende samenvatting" bij van de status van het programma.
3. Code World Models: De "Vliegsimulator"
Het Concept: De huidige AI behandelt code als tekst (woorden op een pagina). Het weet niet echt wat de code doet wanneer deze wordt uitgevoerd. Het is als een piloot die het vliegmanual uit het hoofd heeft geleerd, maar nog nooit een vliegtuig heeft bestuurd.
Hoe het werkt voor Code:
- De Analogie: Stel je een astronaut voor die traint voor een maanlanding. Hij leest niet alleen over zwaartekracht; hij oefent in een simulator waar hij kan zien hoe zijn acties de omgeving veranderen.
- De CWM-Oplossing: Een Code World Model is een simulator. Het raadt niet alleen het volgende woord; het simuleert de "wereld" van de computer. Het vraagt: "Als ik deze regel schrijf, hoe veranderen de variabelen dan? Zal het programma crashen?"
- Het Voordeel: Het verankert de AI in de realiteit. Het begrijpt dat code een actie is, en niet alleen een verhaal. Dit helpt de AI om code te schrijven die daadwerkelijk werkt wanneer je het uitvoert, in plaats van alleen code die er correct uitziet.
De "System 2"-verbinding: Denken als een Mens
Het paper verbindt deze technologieën met hoe het menselijk brein werkt.
- System 1 (Snel Denken): Dit is zoals de huidige AI — het snel voorspellen van het volgende woord, zoals spreken zonder na te denken.
- System 2 (Langzaam Denken): Dit is hoe mensen daadwerkelijk coderen. We pauzeren, plannen, maken een concept, realiseren ons een fout, herstellen die, en controleren onze logica.
De auteurs suggereren dat de toekomst van AI-codering niet slechts één van deze nieuwe modellen is, maar een hybride die deze combineert om "System 2"-denken na te bootsen:
- Diffusion voor de "Concept en Verfijn"-lus (plannen en bewerken).
- World Models voor de "Simulatie" (controleren of de logica daadwerkelijk werkt).
- State Space Models voor het "Geheugen" (het hele project onthouden).
Samenvatting
Het paper zegt: "Stop met proberen AI te dwingen om code te schrijven alsof het een toespraak schrijft. Coderen is rommelig, niet-lineair en vereist dat je je werk controleert. Door Beeldhouwers (Diffusion) te gebruiken om globaal te bewerken, Notitiehouders (SSMs) om lange bestanden te onthouden en Simulatoren (World Models) om de logica te testen, kunnen we AI bouwen die meer handelt als een menselijke ingenieur en minder als een woordvoorspeller."
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.