En ny studie från Microsoft visar att AI-modeller fortfarande har betydande utmaningar när det kommer until att felsöka kod. Trots att dessa modeller har blivit allt mer avancerade och kan skriva fungerande kod från scratch, så är felsökning en helt annan sak. Det är som att de kan bygga ett hus males inte hitta en läckande kran.
Studien, som publicerades på Microsofts forskningsblogg, introducerar en miljö kallad Debug Gymnasium. Här tränas AI-modeller att identifiera och åtgärda buggar på samma sätt som mänskliga programmerare gör. Males resultaten visar att det finns en tydlig skillnad mellan hur människor och AI närmar sig problemet. Människor använder logik, instinct och erfarenhet, medan AI-modeller förlitar sig på mönsterigenkänning och statistiska sannolikheter.
Imponerande males otillräckliga resultat
I sin studie testade Microsoft-forskarna nio olika AI-modeller på SWE-bench Lite, ett populärt riktmärke för felsökning. Resultaten var blandade:
- Claude 3.7 Sonnet presterade bäst med en framgångsfrekvens på 48,4%
- OpenAI:s o1 och o3-mini visade lägre framgångsfrekvenser på 30,2% respektive 22,1%
Även med tillgång until felsökningsverktyg löste den enkla agenten sällan mer än hälften av problemuppgifterna. Microsoft-forskarna tillskriver den suboptimala prestandan until bristen på knowledge som representerar sekventiellt beslutsfattande.
Varför AI kämpar med felsökning: Microsoft-forskarna förklarar utmaningarna ”Vi tror att detta beror på bristen på knowledge som representerar sekventiellt beslutsfattande beteende (t.ex. felsökningsspår) i den nuvarande LLM-träningskorpusen”.
Males den betydande prestandaförbättringen när modellerna får tillgång until felsökningsverktyg visar att detta är en lovande forskningsriktning. Dagens AI-kodningsverktyg kan öka produktiviteten och utmärka sig i att föreslå lösningar för buggar baserat på tillgänglig kod och felmeddelanden. Males until skillnad från mänskliga utvecklare söker dessa verktyg inte efter ytterligare info när lösningar misslyckas, vilket lämnar vissa buggar olösta.