En LLM, stor språkmodell, kan bli bättre på felsökning om den får tillgång till klassiska avlusningsverktyg. Det visar Microsoft i en forskningsrapport, och släpper mjukvara som låter dig sätta upp ett eget ”AI-debug-gym” för ditt projekt.
En forskargrupp på Microsoft har testat hur duktiga nio LLM:er är på att hitta fel i programvara – med och utan hjälp av klassiska debug-verktyg.
Det visade sig att access till klassiska debuggingverktyg kunde göra skillnad. Tre av AI-verktygen lyckades höja sina poäng på testsviten SWE-bench Lite markant.
Debugverktyg låter utvecklaren exempelvis stega igenom programmet rad för rad, undersöka och ändra värden på variabler och larma när exekveringen når en viss rad eller en variabel får ett visst värde.
Enligt Microsoft är dagens AI-verktyg dåliga på att söka efter ytterligare information när deras försök till lösningar misslyckas – vilket lämnar vissa buggar olösta.
Microsofts lösning är att sätta upp ett ”debugging-gym” med maskiner utgörandes av klassiska debugverktyg. De kan AI-agenter använda för jaga efter felorsaker samtidigt som de testar att skriva om programkoden.
Tre LLM:er lyckades med dessa verktyg att höja sina testpoäng rejält. Claude 3.7 fick 11,2 procent fler poäng, o1-preview ökade med 182 procent och o3-mini med 160 procent.
Tre andra modeller höjde sina poäng försumbart och en fick till och med snäppet sänmre poäng
Att det överhuvudtaget var möjligt för LLM:er att bli bättre med hjälp av debugverktyg förklarar forskarna med att de debuggingförslag som en LLM kan komma med på egen hand, enbart är baserade på på gissningar generaliserade från sina träningsdata. Debugverktygen låter LLM:en förankra sina lösningsförslag djupare.
Syftet med Microsofts projekt var att lära kodbottar att bli bättre på felsökning – ”den interaktiva, iterativa processen laga trasig kod”, som Microsoft beskriver det.
Felsökning är den del av utvecklingsarbetet som normalt tar mest tid, enligt forskarna på Microsoft. Och det är något som AI-bottar baserade på stora språkmodeller redan används till.
En intressant detalj är att mänskliga programmerare är mycket bättre på debugging än LLM:erna. Även de tre bästa LLM:erna löste bara mellan 22 och 48 procent av uppgifterna vilket enligt forskarna är en klart mindre andel än en erfaren utvecklare skulle få.
Microsoft testade de nio LLM:erna i ett gym utrustat med följande debugmaskiner: eval, view, pdb, rewrite och listdir.
Microsoft släpper sitt debug-gym som öppen källkod. Du kan anpassa det genom att ställa in fler debugmaskiner. Och du kan peka gymmet mot din egen kodbas om det är den du vill debugga.
Här (länk) berättar Microsoft om sin rapport (länk) och här (länk) finns en demo-sida och här (länk) kan du sätta upp ditt eget gym på Github.