AI-kodagenter vinglar när koden skrivs om – utan att betydelsen ändras
En ny studie visar att AI-agenter som fixar buggar i kod (så kallade kodagenter) presterar sämre när koden skrivs om på ett ytligt sätt – till exempel om variabelnamn byts ut eller död kod läggs till – trots att programmet beter sig identiskt. Försämringen är inte dramatisk, upp till 6,7 procentenheter i de mest drabbade fallen, men intressant nog håller ingen modell konsekvent täten: Qwen var bland de mest stabila i ett testupplägg men mest bräcklig i ett annat. Det antyder att robustheten beror lika mycket på hur agenten är konstruerad som på vilken underliggande modell den använder.
Djupdykning
Forskningen testar något deceptivt enkelt: om du byter namn på variabler, lägger till död kod som aldrig körs, eller skriver om en if-sats till en ekvivalent loop – saker som inte förändrar vad koden gör – tappar AI-agenter förmågan att lösa buggar? Svaret är ja, men på ett ojämnt och svårförutsägbart sätt. Det som är verkligt oroande är inte siffran i sig (6,7 procentenheter lät kanske hanterbart) utan att ingen modell konsekvent vinner robusthetsracet – Qwen är robust i ett ramverk men kraschar i ett annat, vilket antyder att modellerna inte har lärt sig att faktiskt förstå kod utan snarare att känna igen mönster i hur kod brukar se ut. Det här är precis det problem som ingen produktionssätter kod-AI vill tänka på. Verkliga kodbaser är kaotiska: gamla system har konstiga namnkonventioner, legacy-kommentarer, ovanliga abstraktioner, och kod skriven av tio olika personer med tio olika stilar. Att en agent klarar benchmarks som SWE-bench Verified – där koden troligen liknar träningsdata – säger väldigt lite om hur den presterar i en tio år gammal enterprise-kodbas med arv från tre uppköpta startups. Det enklare scaffoldet (mini-SWE agent) visade sig dessutom vara mer robust än det mer sofistikerade, vilket antyder att mer komplex orkestrering kan introducera fler felpunkter snarare än att lösa dem.