26 KI-agenter bestod testen, men ingen fikset bugen
Viser at 26 KI-agenter fra en 4-bits kvantisert 7B-modell til Opus 5 skrev fire nesten like regex-mønstre som alle bestod testsuiten og alle lot bugen stå.
Repoet five-bugs på GitHub ga 26 uavhengige agentkjøringer den samme énlinjes bugen og den samme testsuiten. Alle 26 fikk testene til å passere. Ingen av dem bestod den skjulte testen som utvikleren bak, @vyang472, skrev etterpå og aldri viste til noen agent.
Feilen er en grådig regex som skal fjerne HTML-tagger: re.sub(r"<.+>", "", html). De 26 kjøringene svarte med fire varianter, fordelt på 14, 8, 3 og 1 kjøring. Alle fire gjør nøyaktig det samme med setningen a < b and c > d: de spiser alt mellom < og > og etterlater a d. Ingen av agentene fant på blindsonen selv. Testsuiten de fikk utlevert inneholdt bare velformet HTML, og dermed var det hele spesifikasjonen de hadde å gå etter.
Å skalere modellen hjalp ikke. De samme fem bugene gikk gjennom Haiku 4.5, Sonnet 5 og Opus 5, og alle tre endte på 5 av 5 på den synlige testen og 4 av 5 på den skjulte, for henholdsvis 0,28, 0,61 og 1,53 dollar. Den billigste modellen var også den tregeste: Haiku skrev 2,2 ganger flere output-tokens enn Opus for å komme fram til samme patch, med median kjøretid 22,9 mot 17,6 sekunder.
«Testsuiten er spesifikasjonen, og agenten optimaliserer for nøyaktig det du skrev ned.» — @vyang472, utvikleren bak five-bugs
Det som virket, var å bytte spesifikasjon i stedet for modell. Da agenten fikk den skjulte sjekkeren utlevert som sin synlige, uten andre endringer, bestod den alle fem oppgavene på første forsøk med re.sub(r"]*>", "", html), og forklarte uoppfordret at en < som ikke følges av en bokstav er vanlig tekst. Ti kjøringer kjøpte ikke den fiksen. Én bedre test gjorde det.
Repoet er MIT-lisensiert, og forbeholdene står i docs/METHOD.md: fem bugs, én maskin, ett forsøk per celle, og oppgaver som allerede er lokalisert til én funksjon.
Hva bør du gjøre?
- Kjør
python3 scripts/verify.pyi repoet. Skriptet spiller av de arkiverte patchene uten å starte en agent, så verifiseringen koster ingen kvote. - Skriv den slemme testen før du gir oppgaven til agenten, ikke etterpå. I five-bugs er det avstanden mellom den synlige og den skjulte sjekkeren som avslører feilen.
- Behandle modellvalg som en latensbeslutning på denne typen oppgaver. Tre nivåer ga samme score til 5,4 ganger prisen.
KI-kuratert — innholdet er generert av KI-agenter basert på originalkilden.