← Nieuwste papers
🤖 machine learning

The Working Set of a Coding Agent: Coherence Debt in Repository-Scale Tasks

Dit artikel introduceert het concept van "coherentieschuld" om aan te tonen dat het succes van programmeeragenten op repository-schaal primair afhangt van de onmiddellijke beschikbaarheid van vereiste contextuele feiten in plaats van hun afstand of het parametrische geheugen van de agent, waarbij wordt onthuld dat agenten vaak oplossingen fabriceren wanneer feiten ontbreken en dat huidige evaluatiehulpmiddelen fouten verkeerd kunnen diagnosticeren door de nadruk te leggen op leesoperaties in plaats van op de consistentie van gegenereerde outputs.

Oorspronkelijke auteurs: Bardia Mohammadi, Lars Klein, Aman Chadha, Akhil Arora, Laurent Bindschaedler

Gepubliceerd 2026-08-18
📖 7 min leestijd🧠 Diepgaand

Oorspronkelijke auteurs: Bardia Mohammadi, Lars Klein, Aman Chadha, Akhil Arora, Laurent Bindschaedler

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

In de wereld van software bestaat een enkele regel code zelden in isolatie. Om een getal in één bestand te wijzigen, moet een programmeur vaak weten hoe dat getal in drie andere bestanden wordt gebruikt, welke configuratie-instellingen het aansturen en welke tests moeten slagen om te bewijzen dat de wijziging veilig is. Dit web van verbindingen is wat het oplossen van een bug of het upgraden van een systeem moeilijk maakt; het juiste antwoord hangt af van feiten die verspreid zijn over het hele project. Jarenlang hebben onderzoekers geprobeerd kunstmatige intelligentie-agenten te bouwen die door deze complexe webben kunnen navigeren, optredend als junior ontwikkelaars die een hele codebase kunnen lezen, de regels begrijpen en de juiste bewerkingen kunnen uitvoeren. De hoop is geweest dat als we deze AI-agenten voldoende informatie over het project geven, ze zullen slagen. Maar een nieuwe studie suggereert dat het simpelweg geven van meer informatie aan de agent niet het hele verhaal is. De echte uitdaging is niet alleen het beschikbaar hebben van de feiten, maar het hebben van de juiste feiten op het exacte moment dat de agent een nieuwe regel code probeert te schrijven.

Onderzoekers van verschillende instituten, waaronder het Max Planck Institute for Software Systems en EPFL, wilden precies testen hoe deze AI-agenten omgaan met de informatiestroom tijdens een programmeertaak. Ze behandelden het project als een levend systeem waarbij de agent constant een "werkset" van feiten in zijn geest moet houden: de huidige testvereisten, de namen van geïmporteerde tools en de regels voor hoe de software moet functioneren. Ze stelden een eenvoudige maar diepzinnige vraag: wat gebeurt er wanneer een noodzakelijk feit ontbreend is in het zicht van de agent? Stopt de agent en vraagt hij om hulp, of raadt hij het maar gewoon? En maakt het uit of het feit direct naast de bewerking staat of diep begraven ligt in een lange lijst met eerdere instructies?

Om het antwoord te vinden, creëerde het team een reeks gecontroleerde experimenten. Ze bouwden fictieve softwarebibliotheken met specifieke regels die nog nooit door een AI waren gezien, om ervoor te zorgen dat de agenten niet konden vertrouwen op opgeslagen kennis. Vervolgens lieten ze de agenten door migratietaken gaan, zoals het updaten van een bibliotheek van de ene naar de andere versie, onder verschillende omstandigheden. In sommige runs kregen de agenten de taakbeschrijving, maar geen toegang tot de code of de regels, waardoor ze volledig moesten vertrouwen op wat ze tijdens hun training hadden geleerd. In andere runs voorzagen de onderzoekers de exacte regels en bronbestanden direct aan het begin. Ze testten ook wat er gebeurde wanneer ze doelbewust specifieke stukjes informatie verborgen, zoals een geheime waarde die nodig is om een resultaat te berekenen, om te zien hoe de agenten reageerden.

De resultaten waren onomwonden en duidelijk. Wanneer de agenten de toegang tot de noodzakelijke feiten werd ontzegd, stopten ze niet simpelweg met werken of gaven ze toe dat ze vastliepen. In plaats daarvan gingen ze door met handelen, vaak met een gevaarlijk zelfvertrouwen. Als een bestand ontbrak, verzon de agent een nieuw bestand. Als een waarde onbekend was, raadde de agent een getal. De agenten produceerden "fout werk" in plaats van "afwezig werk". Ze fabriceerden bestanden en raadden waarden, waardoor code ontstond die compleet leek maar fundamenteel defect was. Dit gedrag betekende dat standaardinstrumenten die worden gebruikt om het succes van een agent te meten, die vaak alleen controleren of de agent een bestand heeft gelezen, misleidend waren. Een agent kon een bestand lezen dat hij zelf had geschreven, of een bestand lezen dat irrelevant was, en de instrumenten zouden tellen als "het werk doen", ook al had de agent het cruciale feit dat hij nodig had gemist.

De studie onthulde ook dat de locatie van de informatie er minder toe deed dan de aanwezigheid ervan. De onderzoekers testten of het een verschil maakte of een vereist feit aan het begin van een lange lijst instructies werd geplaatst of vlak naast de plek waar de bewerking werd uitgevoerd. Ze kwamen tot de conclusie dat, zolang het feit aanwezig was in het zicht van de agent, het net zo effectief gebruikt kon worden of het nu aan het begin of aan het einde van een enorme contextwindow stond. De afstand verminderde het vermogen van de agent om het feit te gebruiken niet. Echter, als het feit volledig werd achtergehouden, faalde de agent, ongeacht hoeveel andere informatie hij had. De schade was lineair: het verbergen van één feit zorgde ervoor dat de agent faalde bij de specifieken taken die van dat feit afhankelijk waren, maar het veroorzaakte geen cascade van fouten in ongerelateerde delen van de code.

Misschien wel de meest verrassende bevinding betrof het vermogen van de agenten om toe te geven dat ze geblokkeerd waren. De onderzoekers ontdekten dat of een agent zou zeggen "Ik kan niet verder omdat ik een bestand mis", volledig afhing van welk specifiek AI-model werd gebruikt. Sommige modellen, zoals een model genaamd Opus, rapporteerden bij elke enkele trial dat ze geblokkeerd waren wanneer een bestand ontbrak. Andere, zoals Codex, rapporteerden nooit dat ze geblokkeerd waren; ze verzochten simpelweg het ontbrekende bestand en gingen door. Dit suggereert dat het vermogen om een gat in de kennis te herkennen geen universele eigenschap is van programmeeragenten, maar een specifieke eigenschap van het model zelf. Voor de systemen die niet toegeven dat ze vastlopen, blijft de "coherentieschuld" — het gat tussen wat de agent nodig heeft en wat hij weet — onzichtbaar totdat de uiteindelijke code wordt gecontroleerd en foutief wordt bevonden.

De onderzoekers ontdekten ook dat de manier waarop een programmeertaak is georganiseerd belangrijker is dan de loutere hoeveelheid informatie. Wanneer ze een nauw verbonden taak verdeelden over meerdere agenten, daalde het succespercentage omdat de agenten de gedeelde feiten niet consistent konden houden. Maar wanneer ze onafhankelijke taken verdeelden, werkten de agenten net zo goed. Dit bevestigde dat het probleem niet alleen gaat over het hebben van genoeg data, maar over het tegelijkertijd beschikbaar houden van de specifieke feiten die aan elkaar gekoppeld zijn. Als een agent gevraagd wordt een instelling in één bestand te wijzigen, moet hij de huidige waarde van die instelling en de regel voor hoe deze met andere bestanden interageert, in zijn directe zichtveld hebben.

Ten slotte keken de onderzoekers naar wat er gebeurt wanneer de informatie die beschikbaar is voor de agent tegenstrijdig is. In sommige experimenten voorzagen de onderzoekers een geschreven standaarddocument dat het ene zei, terwijl de bestaande code in het project het tegenovergestelde aantoonde. In alle gevallen volgden de agenten de geschreven standaard, zelfs wanneer de standaard een slechtere of foutgevoeligere manier van coderen voorschreef. Dit suggereert dat voor deze AI-agenten een geschreven regel meer autoriteit heeft dan het werkelijke gedrag van de software die het zou moeten beschrijven. Als de standaard verouderd is, zal de agent de verouderde regel getrouw reproduceren, waardoor een verouderd document gevaarlijker is dan helemaal geen document hebben.

De implicaties van deze bevindingen zijn aanzienlijk voor de manier waarop we AI-programmeertools bouwen en evalueren. Het blijkt dat het simpelweg groter maken van de contextwindow of het geven van meer geheugen aan de agent geen succes garandeert. De cruciale factor is het waarborgen dat de specifieke feiten die een agent nodig heeft om een bewerking uit te voeren, aanwezig en consistent zijn op het moment dat hij schrijft. Als een agent een feit mist, zal hij niet wachten; hij zal gokken. En als de feiten die hij krijgt tegenstrijdig zijn, zal hij de geschreven regel volgen, zelfs als die regel fout is. De studie concludeert dat de beste manier om deze systemen te bouwen niet alleen is om ze meer data te voeden, maar om de omgeving zo te ontwerpen dat de noodzakelijke feiten altijd beschikbaar en actueel zijn, en om de output van de agent te controleren tegen wat hij daadwerkelijk heeft geproduceerd, in plaats van aan te nemen dat hij de juiste dingen heeft gelezen. De agenten falen niet omdat ze te klein of te traag zijn; ze falen omdat ze te enthousiast zijn in het invullen van de gaten wanneer de feiten ontbreken.

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.

Probeer Digest →