AI-modellen van onder andere OpenAI, Anthropic en andere toonaangevende AI-labs worden steeds vaker ingezet om programmeertaken te ondersteunen. Google-CEO Sundar Pichai zei in oktober dat 25% van de nieuwe code bij het bedrijf door AI wordt gegenereerd, en Meta-CEO Mark Zuckerberg heeft aangegeven dat hij AI-codemodellen op grote schaal wil inzetten binnen zijn socialemediabedrijf.
Toch hebben zelfs enkele van de beste modellen van dit moment moeite met het oplossen van softwarebugs waar ervaren ontwikkelaars zich niet door laten verrassen.
Een nieuw onderzoek van Microsoft Research, de R&D-afdeling van Microsoft, laat zien dat modellen zoals Claude 3.7 Sonnet van Anthropic en o3-mini van OpenAI er niet in slagen om veel problemen op te lossen in een software-ontwikkelbenchmark genaamd SWE-bench Lite. De resultaten zijn een ontnuchterende herinnering dat AI, ondanks grootse uitspraken van bedrijven als OpenAI, nog lang niet op het niveau van menselijke experts zit als het gaat om programmeren.
De auteurs van de studie testten negen verschillende modellen als ruggengraat voor een “agent gebaseerd op één prompt”, die toegang had tot diverse debuggingtools, waaronder een Python-debugger. Ze gaven deze agent de taak om een zorgvuldig samengestelde set van 300 software-debugtaken uit de SWE-bench Lite op te lossen.
Volgens de onderzoekers wist de agent, zelfs met krachtigere en recentere modellen, zelden meer dan de helft van de debugtaken succesvol te voltooien. Claude 3.7 Sonnet behaalde het hoogste gemiddelde succespercentage (48,4%), gevolgd door OpenAI’s o1 (30,2%) en o3-mini (22,1%).
Hoe komt het dat de prestaties zo tegenvallen? Sommige modellen hadden moeite met het effectief gebruiken van de beschikbare debuggingtools en begrepen niet goed welk hulpmiddel geschikt was voor welk probleem. De grootste boosdoener, zo stellen de auteurs, is echter het gebrek aan data. Ze vermoeden dat er in de trainingsdata van huidige modellen te weinig gegevens zitten over “sequentiële besluitvormingsprocessen” — oftewel, menselijke debugstappen.
“We geloven sterk dat training of fine-tuning [van modellen] ze betere interactieve debuggers kan maken,” schrijven de auteurs in hun studie. “Maar daarvoor is gespecialiseerde data nodig, bijvoorbeeld trajectdata waarin agents interactie hebben met een debugger om informatie te verzamelen voordat ze een oplossing voor een bug voorstellen.”
De bevindingen zijn niet bepaald schokkend. Eerdere studies toonden al aan dat AI die code genereert vaak beveiligingslekken en fouten introduceert, doordat ze zwak zijn in het begrijpen van programmeerlogica. Een recente evaluatie van Devin, een populair AI-coderingstool, liet zien dat het slechts 3 van de 20 programmeertests succesvol afrondde.
Toch is het onderzoek van Microsoft een van de meest gedetailleerde analyses tot nu toe van een aanhoudend probleem bij AI-modellen. Het zal de investeringsdrang in AI-ondersteunde programmeertools waarschijnlijk niet temperen, maar hopelijk zet het ontwikkelaars — en hun managers — aan het denken voordat ze AI de leiding geven over het programmeerproces.
Overigens groeit het aantal techleiders dat de stelling betwist dat AI programmeerbanen volledig zal overnemen. Microsoft-oprichter Bill Gates heeft gezegd dat hij denkt dat programmeren als beroep blijft bestaan. Ook Replit-CEO Amjad Masad, Okta-CEO Todd McKinnon en IBM-CEO Arvind Krishna delen die overtuiging.