Waarom AI-codeeragenten falen: De kritieke kloof tussen bestanden en regels

Hoewel AI-codeeragenten steeds beter in staat zijn om softwarebugs op te lossen, onthult een nieuwe studie dat ze lijden aan een aanzienlijk "lokaliseringsprobleem". Ze kunnen wel naar het juiste bestand binnen een enorme codebase navigeren, maar ze slagen er vaak niet in om de specifieke regels code te identificeren die nodig zijn om een fix door te voeren.

Introductie van SWE-Explore: Verder kijken dan reparatiepercentages

Historisch gezien is de effectiviteit van AI-codeeragenten gemeten aan de hand van één enkele, binaire metriek: heeft de agent de bug opgelost of niet? Deze aanpak negeert het "waarom" achter een mislukking. Een mislukte reparatie kan betekenen dat de agent een slechte patch heeft geschreven, of het kan betekenen dat de agent de relevante logica nooit heeft bekeken.

Om dit blinde vlek aan te pakken, heeft een internationaal onderzoeksteam, waaronder wetenschappers van de Shanghai Jiao Tong University, SWE-Explore ontwikkeld. In tegenstelling tot traditionele benchmarks isoleert SWE-Explore de upstream zoekfase. Het evalueert het vermogen van een agent om een bugbeschrijving te nemen en een gerangschikte lijst terug te geven van de specifieke codefragmenten die daadwerkelijk relevant zijn voor het probleem. De dataset is uitgebreid en bestaat uit 848 taken verspreid over 203 open-source projecten en tien programmeertalen, waarbij Python het meest prominent aanwezig is (547 taken).

De precisiekloof: Succes op bestandsniveau versus falen op regelniveau

De meest opvallende bevinding van de studie is de enorme discrepantie tussen de nauwkeurigheid op bestandsniveau en op regelniveau. Bij tests met algemene agenten zoals Claude Code, Codex en OpenHands waren de resultaten veelzeggend:

  • Nauwkeurigheid op bestandsniveau: Agenten presteren goed; ze identificeren succesvol de juiste bronbestanden en geven deze een hoge rangschikking.
  • Nauwkeurigheid op regelniveau: De prestaties storten in. Algemene codeeragenten dekten slechts 14% tot 19% van de daadwerkelijke regels code die van belang waren voor een fix.

Interessant genoeg lost het simpelweg upgraden van het onderliggende Large Language Model (LLM) dit probleem niet op. Of er nu gebruik wordt gemaakt van modellen van OpenAI, Anthropic, Google, Moonshot of Zhipu, het patroon blijft identiek: een hoog slagingspercentage op bestandsniveau, maar een erbarmelijke dekking op regelniveau. Het onderzoek merkte op dat gespecialiseerde systemen zoals CoSIL algemene agenten overtroffen door code te behandelen als een netwerk van onderling verbonden bouwstenen, wat suggereert dat architecturale wijzigingen belangrijker zijn dan pure modelkracht.

Het drempeleffect: Waarom "meer lezen" ertoe doet

Door middel van gecontroleerde ablatie-experimenten ontdekten onderzoekers een "drempeleffect" met betrekking tot context. Door de hoeveelheid kerncode die aan het model wordt verstrekt te variëren (van 0% tot 100%), ontdekten ze dat reparaties niet lineair verbeteren.

Voor eenvoudigere taken is er een duidelijk omslagpunt: als een agent minder dan 50% van de noodzakelijke kernregio's ziet, blijft het succespercentage van reparaties nabij nul. Een significante sprong in succesvolle reparaties vindt pas plaats zodra de agent toegang heeft tot tussen de 50% en 75% van de vereiste context. Cruciaal is dat de studie aantoonde dat het verstrekken van irrelevante "ruis"-code de prestaties niet zozeer schaadt als het missen van de kritieke regels. De les voor ontwikkelaars is duidelijk: in het tijdperk van AI-agents is het beter om meer context te bieden dan het risico te lopen essentiële details weg te filteren.

Belangrijkste conclusies

  • Lokalisatie is de flessenhals: AI-agents zijn bekwaam in het vinden van het juiste bestand, maar hebben grote moeite met het nauwkeurig aanwijzen van de specifieke regels code die nodig zijn voor een reparatie.
  • Model-scaling is geen wondermiddel: Het upgraden naar krachtigere LLM's lost het gat in nauwkeurigheid op regelniveau niet op; gespecialiseerde architecturale benaderingen zoals CoSIL zijn effectiever.
  • De 50%-contextregel: Het succes van AI-reparaties volgt een drempelpatroon, waarbij ten minste 50-75% van de relevante codecontext zichtbaar moet zijn voordat succesvolle reparaties waarschijnlijk worden.