Zelfs met toegang tot hulpmiddelen kunnen AI-agenten software nog niet betrouwbaar debuggen.
AI heeft op weinig gebieden zo'n sterke opmars gezien als in softwareontwikkeling. Van "vibe"-programmeren en GitHub Copilot tot startups die snel applicaties bouwen met hulp van taalmodellen (
LLMs), AI is al diep verweven in dit veld.
Wie echter beweert dat AI-agenten binnen enkele maanden de meeste programmeurs zullen vervangen, moet de verwachtingen bijstellen. AI-modellen zijn namelijk nog niet goed genoeg in debugging, terwijl juist debugging de meeste tijd van ontwikkelaars in beslag neemt. Dat is de conclusie van Microsoft Research, dat een nieuw hulpmiddel, genaamd "debug-gym", ontwikkelde om te testen en verbeteren hoe AI-modellen software debuggen.
Debug-gym
Debug-gym (beschikbaar op GitHub en
nader toegelicht in een blogpost) biedt AI-modellen een omgeving waarin ze bestaande software kunnen debuggen met toegang tot debugtools, iets wat doorgaans ontbreekt bij huidige modellen. Zonder deze aanpak zijn AI-modellen opvallend slecht in debuggen. Met deze aanpak presteren ze beter, maar nog steeds aanzienlijk slechter dan ervaren menselijke ontwikkelaars.
Microsofts onderzoekers beschrijven debug-gym als volgt:
"Debug-gym breidt het actie- en observatievermogen van een AI-agent uit met feedback van gebruikte tools. Het stelt agenten in staat om breekpunten te plaatsen, door code te navigeren, variabele waarden te printen en testfuncties te maken. Agenten kunnen interactief code onderzoeken of herschrijven als ze voldoende vertrouwen hebben. Wij geloven dat interactieve debugging met geschikte tools programmeer-agenten in staat stelt echte softwaretaken uit te voeren en essentieel is voor onderzoek naar
LLM-gebaseerde agenten. De oplossingen die een programmeer-agent voorstelt, worden vervolgens door menselijke programmeurs beoordeeld en zijn gegrond in context, uitvoering en documentatie van de relevante codebasis, in plaats van alleen te vertrouwen op eerder geziene trainingsdata."
Code vol bugs
Hoewel deze aanpak succesvoller is dan eerdere methodes, is een slagingspercentage van maximaal 48,4 procent nog onvoldoende voor praktische toepassing. De beperkingen ontstaan vermoedelijk omdat AI-modellen niet volledig begrijpen hoe ze debugtools effectief kunnen inzetten, en omdat hun huidige trainingsdata niet specifiek gericht is op debugging.
"Wij denken dat dit te maken heeft met het gebrek aan data die specifiek sequentieel beslissingsgedrag, zoals debugging-processen, vertegenwoordigt binnen het huidige trainingsmateriaal van AI-modellen," aldus de onderzoekers. "De aanzienlijke verbeteringen bevestigen echter wel dat dit een veelbelovende onderzoeksrichting is."
Volgens de onderzoekers vormt dit rapport slechts het begin van hun inspanningen. De volgende stap is het trainen van gespecialiseerde modellen, gericht op het verzamelen van informatie om bugs op te lossen. Om kosten te besparen, kan het verstandig zijn om kleinere modellen te ontwikkelen die relevante informatie leveren aan grotere modellen.
Eerder onderzoek bevestigt deze bevindingen: hoewel AI-tools soms snel eenvoudige applicaties kunnen genereren, produceren ze doorgaans code vol bugs en veiligheidsproblemen die ze zelf moeilijk oplossen. De consensus onder onderzoekers is dan ook dat AI-agenten vooral nuttig zullen zijn om menselijke ontwikkelaars veel tijd te besparen, niet om hen volledig te vervangen.