Der er en forskel, som afgør, om en AI-agent kan få lov at arbejde alene, og den er næsten aldrig med i samtalen. Det er forskellen på en instruktion og en mekanisme.
En instruktion er noget, modellen læser og for det meste følger. En mekanisme er noget, der returnerer en fejl.
Filen, modellen for det meste følger
Når jeg arbejder med Claude Code, ligger der en fil i projektet, der hedder CLAUDE.md. Den er lang. Den forklarer, hvordan noterne er bygget op, hvilke kommandoer der findes, og hvilke fejl der er begået før. Modellen læser den ved hver opstart og gør langt det meste af, hvad der står.
Det er en god fil. Men «langt det meste» er ikke en garanti. En lang samtale skubber de tidlige instruktioner i baggrunden. En opgave, der ser anderledes ud, får modellen til at vælge sin egen vej. Og når en model er overbevist om, at arbejdet er færdigt, siger den det, uanset hvad filen siger om at teste først.
Det er ikke en fejl ved modellen. Det er sådan, instruktioner virker, også på mennesker.
Kommandoen, der siger nej
I nat byggede jeg et lille værktøj ud fra et kursus i det, der kaldes harness engineering. Kurset, learn-harness-engineering, har én præmis: En dygtig model fejler ikke på langt arbejde, fordi den ikke kan skrive koden. Den fejler, fordi intet i dens omgivelser holder styr på tilstanden, afgrænsningen og beviset. Modellen ændrer sig ikke. Det gør omgivelserne. Og de omgivelser kaldes en harness, det tøj man spænder på en hest, så kraften går den rigtige vej.
Min harness har en kommando, der hedder harness feature done. Den markerer en opgave som færdig. Men den gør det kun, hvis der findes en frisk, grøn testkørsel, og «frisk» er defineret skarpt: Testkørslen er bundet til et fingeraftryk, en hash, af præcis den kode, den blev kørt på. Rettes der én linje bagefter, flytter hashen sig, og beviset er udløbet.
Så kan modellen skrive nok så overbevisende, at alt virker. Kommandoen svarer med en fejlkode.
Det er hele pointen i kurset, sagt kort: En regel, modellen kan efterleve, er en anbefaling. En regel, der fejler med en exit-kode, er en harness.
Jeg kan heller ikke selv tale mig uden om en hash. Det er det, jeg bedst kan lide ved den.
Kender I det fra jeres egen virksomhed?
Det gør I. Forskellen er ældre end AI.
«Husk at få en kollega til at godkende betalinger over 50.000 kroner» er en instruktion. Den står i en personalehåndbog, og den bliver fulgt, det meste af tiden. En netbank, der ikke frigiver betalingen, før en anden bruger har godkendt den, er en mekanisme. Den bliver fulgt hver gang, også den fredag eftermiddag, hvor alle har travlt.
Ingen revisor nøjes med at se håndbogen. De spørger, hvad systemet forhindrer.
Jeg har selv lært det på den dyre måde i min egen vidensbase. Hver gang et blogindlæg blev udgivet, skulle det tilføjes et indeks. Det var en instruktion, og den blev fulgt 42 gange ud af 75. I dag findes der et tjek, der siger fra, når et indlæg mangler. Jeg glemmer det stadig. Tjekket fangede det senest i morges.
Hvorfor det betyder mere med AI
En medarbejder, der springer en instruktion over, gør det typisk af travlhed og kan spørges bagefter. En AI-agent springer den over med fuld selvtillid, i stor skala og uden at sige det. Den skriver «alle tests er grønne» på samme måde, uanset om den har kørt dem.
Derfor er det forkerte spørgsmål, om modellen er god nok til at følge reglerne. Det rigtige spørgsmål er, hvilke af reglerne der er vigtige nok til, at de ikke må afhænge af, om den følger dem.
Mekanismer skal have en nødudgang
En mekanisme, der aldrig kan tilsidesættes, bliver omgået. Folk finder en vej udenom, og så er man værre stillet end med instruktionen, for nu tror alle, at kontrollen virker.
Min harness har derfor en --force. Men den kræver en skrevet begrundelse, og den stempler opgaven som UNVERIFIED. Man kan godt gå udenom. Man kan bare ikke gøre det usynligt.
Det er den samme regel som i netbanken: Direktøren kan godt få en betaling igennem i en nødsituation, men det står i loggen, hvem der gjorde det og hvorfor.
Instruktioner er ikke værdiløse
Det ville være forkert at læse det her som et forsvar for at lave alting om til kontroller. De fleste regler i min CLAUDE.md skal blive ved at være instruktioner: Tonen i en tekst, hvilken note der er relevant, hvordan en god rubrik ser ud. Det er dømmekraft, og dømmekraft kan ikke gives en exit-kode.
Fordelingen er enkel. Det, der handler om skøn, skrives som instruktion. Det, der ikke må gå galt, bygges som mekanisme. Og en regel, der er blevet brudt to gange, er ikke længere et spørgsmål om skøn.
Hvad en virksomhed skal tage med
- Læs jeres AI-retningslinjer igennem og spørg om hver regel: Hvad sker der, hvis den ikke bliver fulgt? Er svaret «ikke så meget», kan den blive stående som tekst. Er svaret «en kunde får forkerte oplysninger», skal den bygges ind.
- Spørg jeres leverandør, hvad systemet forhindrer, ikke hvad modellen er instrueret i. «Vi har sagt til modellen, at den ikke må» er en instruktion.
- Bind beviset til det, der blev testet. En godkendelse af en tekst, der er ændret bagefter, er ikke en godkendelse af teksten.
- Giv hver mekanisme en synlig nødudgang. Med begrundelse og mærkning, så undtagelsen kan findes igen.
AI-agenter bliver ikke pålidelige, fordi man skriver bedre instruktioner til dem. De bliver pålidelige, når de vigtigste regler holder op med at være noget, de skal huske.
Se Din AI-agent går ned på trin syv. Hvad så? om, hvordan systemet holder styr på, hvor langt det er nået, og Validering om lukkede kontrolloops.