AI-kode trenger bremser – ikke bare bedre prompts
Hvorfor AI-kodegenerering trenger harde begrensninger
AI-modeller skriver nå tusenvis av linjer kode hver dag. Da blir det lett å glemme en sikkerhetsregel her og der. En liten glipp kan gi en bruker tilgang til data som ikke tilhører ham. Slike feil har store konsekvenser, både økonomisk og regulatorisk.
Problemet er at de fleste forsøkene på å unngå dette, handler om å gi bedre instrukser. Du skriver "sjekk rettigheter" i prompten. Du gjentar at "sikkerhet er viktig". Men etter mange tusen linjer kode er det fortsatt uklart om reglene faktisk ble fulgt.
Hvorfor bare å be pent ikke holder
Når du ber en modell om å huske regler, er det flere ting som må gå riktig. Modellen må huske at regelen finnes. Den må kjenne igjen situasjoner hvor den gjelder. Den må ikke la seg friste av en raskere løsning. Og alt dette må gjelde over hele kodebasen.
Slike atferdsbaserte kontroller fungerer ofte, men ikke alltid. Når kodevolumet blir stort, blir det vanskelig for både AI og mennesker å fange opp alle unntakene. Code review blir raskt en flaskehals.
Strukturelle begrensninger som ikke lar seg omgå
En bedre tilnærming er å bygge kontrollene inn i selve strukturen. Dette kan skje gjennom type-systemer, kompilatorer eller automatiserte testsystemer. Når en regel er strukturell, lar kode ikke lenger seg bygge hvis den ikke er korrekt.
Du trenger ikke lenger å få modellen til å "huske" noe. Det er selve byggesystemet som nekter å akseptere kode som ikke oppfyller kravene. Dette kalles ofte backpressure – en tilbakemeldingssløyfe som itererer og korrigerer inntil kode oppfyller de strukturelle kravene.
Reglene bør ligge i koden, ikke i prompten
De viktigsten sikkerhetsreglene er ofte allerede definert i klartekst. "En bruker kan bare få tilgang til en ressurs hvis han er medlem av tenanten som eier den."
Men disse reglene blir for lett å ignorere når de bare står som kommentarer eller i en prompt. Best når de er omgjort til guard types og spesielle konstruktører. De lar modellen generere kode som automatisk kan sjekke om de holder seg innenfor de etablerte grensene.
Hvordan dette ser ut i praksis
I stedet for tomer om sikkerhet og rettigheter, kan du definere de sentrale regler med et formelt type-system. De blir oversatt til guard types og konstruktører i Go eller TypeScript. Modellen får nå oppgaven av "kode som passerer gate-checkene".
Ifølge NameOcean og Vibe Hosting blir denne formen av kontroll viktig når AI-kodegenerering blir vanlig. Når kodevolumet blir stort, blir det viktig å ha en maskin som sjekker og korrigerer,而不是 humans.