Guider · 17. sep. 2026
Deterministisk og ikke-deterministisk AI
Spør AI det samme to ganger, og du kan få to ulike svar. Et script gir samme svar hver gang. Hva deterministisk og ikke-deterministisk betyr, og hvordan en AI-agent i en mappe bruker Python-script til tallene.
Laget av Simon + Claude
Hva er 348 ganger 348?
Modellen regner selv
Jeg deler 348 opp i 300 og 48.
348 × 300 = 104 400
348 × 48 = 16 704
Til sammen blir det 121 104.
Riktig
Modellen kjører et script
print(348 * 348) 121104
Samme resultat hver gang, som en kalkulator
TL;DR
- Deterministisk betyr at samme input gir samme output. Et script er deterministisk, en språkmodell er det ikke.
- En AI-agent kan skrive og kjøre et script, så tallet i svaret er regnet ut og kan sjekkes.
- Ta en fil der du allerede kjenner én sum, still spørsmålet ditt, og be om Python til hvert tall.
Still en språkmodell det samme spørsmålet to ganger, og du kan få to ulike svar. Når du vil ha ideer, er det en del av poenget. Når du vil ha summen av fakturaene dine, er det en grunn til å tvile på tallet, og det er også grunnen til at en AI-agent skriver små script.
Hva deterministisk og ikke-deterministisk betyr
Deterministisk betyr at samme input gir samme output, hver gang. En kalkulator er deterministisk, og det samme gjelder en formel i et regneark og et Python-script. Tast 348 ganger 348, og du får 121 104 i dag og neste år.
Ikke-deterministisk betyr at outputen kan variere, og det kalles også probabilistisk. En språkmodell bygger svaret ett ord om gangen, og hvert ord trekkes ut av et sett med sannsynlige kandidater. Spør igjen, og trekningen kan falle annerledes ut. Ordlyden endrer seg, og av og til gjør et tall inne i den det samme. Bredden på trekningen kalles temperature, og i mange modeller er det en innstilling du kan endre.
Variasjon og feil er to forskjellige ting. To ulike oppsummeringer av samme møte kan begge være gode, og et svar som kommer helt likt tilbake hver gang, kan fortsatt være feil.
En språkmodell kan også gi regnestykket til et deterministisk verktøy, på samme måte som du selv tar fram kalkulatoren.
2 + 2 = 5
Du husker kanskje at AI for noen år siden kunne svare at 2 pluss 2 er 5 hvis brukeren insisterte. Modellen hadde ikke regnet ut noe. Den skrev det mest sannsynlige svaret til en bruker som står på sitt.
Modellene er mye bedre nå, men et tall i en setning blir fortsatt skrevet på samme måte. Svaret «gjennomsnittlig ordreverdi er 14 350 kroner» ser presist ut. Det sier ikke om tallet er regnet ut eller bare skrevet som resten av setningen.
Et tall i teksten kan diskuteres. Et tall fra et script står fast til dataene eller scriptet endres.
En modell som kjører et script
Mange ser bare spørsmålet og svaret i chatten, og ingenting av det som skjer imellom. Claude, ChatGPT, Copilot og Gemini kan alle skrive kode, kjøre den og bruke resultatet i svaret. I Claude heter innstillingen Code execution and file creation. Tallet i svaret kommer da ut av et program som kjørte på filen din.
Du trenger ikke skrive «bruk Python» hver gang. Last opp et regneark, spør hvordan salget har utviklet seg gjennom året, og modellen bestemmer som regel selv at dette er en jobb for kode. Når tallene er viktige, sier jeg det likevel.
DuBruk Python til beregningene, og vis hvilke rader og kolonner som inngår i hvert tall.
Det gjør ikke hele AI-agenten deterministisk. Den kan fortsatt velge en annen metode neste gang, eller forklare resultatet med andre ord. Selve summen ligger fast.
Verktøykassen i Python
Du trenger ikke kunne Python for å gjøre noe av dette, så lenge du vet hva du kan be om. Python er nyttig på grunn av bibliotekene, ferdige kodebiter som gjør hver sin type jobb. AI-agenten velger bibliotek på samme måte som den velger metode, og du trenger aldri nevne et ved navn.
Alle bibliotekene i figuren står på Anthropics liste for code execution-verktøyet i Claude API, og Claude-appene bruker vanlige pakker som disse. Claude Code på din egen maskin kan installere det jobben trenger.
Lesing og telling
Det som har hjulpet oss, er en enkel arbeidsdeling. Modellen leser, sorterer og forklarer, og alt som skal telles, summeres eller sammenlignes, går gjennom et script.
Ta 1 000 kommentarer fra en kundeundersøkelse. Å finne temaene er lesing. «Vanskelig å komme i gang», «uklare instruksjoner» og «visste ikke hva jeg skulle gjøre først» kan være ett og samme tema sagt på tre måter, og det er en språkmodell veldig god til å se. Be om én rad per kommentar, med en id, originalteksten og temaene den valgte.
Hvor mange kommentarer som faller under hvert tema, er telling. Du ville ikke bedt en kollega telle 1 000 rader i hodet når hun har et regneark åpent, og det samme gjelder en modell. Scriptet teller de lagrede merkelappene og regner ut andelene.
Nå har du to ting å sjekke, og de sjekkes på hver sin måte. Les et utvalg av radene og se om kommentarene er merket der du selv ville ha merket dem. Sammenlign antall rader scriptet telte, med antall kommentarer du startet med. Et script kan telle et tema helt riktig selv om modellen har lagt kommentarene i feil tema.
Rydde og omforme data
En eksport er sjelden klar til å telles. Samme kunde er skrevet på tre måter, datoene kommer i tre formater, og et beløp står som «8,900 kr» der scriptet forventer et tall. Å rydde i dette kalles data wrangling, og det passer for et script fordi den samme regelen skal gjelde hver eneste rad.
Det er stort sett tre typer arbeid.
- Rydde. Fjern duplikater, slå tre datoformater sammen til ett, gjør «12 500,00» til et tall, og fjern mellomrommene ingen ser.
- Omforme. Legg førti månedsfiler i én tabell, gjør en kolonne per måned om til en rad per måned, eller del én kolonne i to.
- Koble. Koble ordrene mot kundelisten på kundenummer, og list opp radene som ikke fikk treff.
Arbeidsdelingen fra forrige seksjon gjelder fortsatt. Å avgjøre at Nordvik AS og Nordvik A/S er samme kunde, er en vurdering modellen kan gjøre sammen med deg, og å bruke den avgjørelsen på 10 000 rader er scriptets jobb.
DuRydd denne eksporten med Python. La originalen stå urørt og lagre en ren kopi ved siden av. Fortell meg hvor mange duplikater du fjernet, hvilke formater du endret, og hvilke rader du ikke klarte å tolke.
Rader scriptet ikke klarer å tolke, skal merkes for deg, aldri slettes.
Deterministisk er ikke det samme som riktig
Et script gjør det koden sier, og koden kan si feil ting. Det kan lese feil kolonne, telle samme kunde to ganger eller sammenligne en hel måned med en halv. Resultatet er likt hver gang og likevel feil svar på spørsmålet ditt.
Spørsmålet som fanger det meste, er hva én rad representerer. Hvis en rad er en ordrelinje og du trodde den var en ordre, blir hvert gjennomsnitt etter det feil.
Riktige tall forklarer seg heller ikke selv. Et diagram som viser at tilfredsheten faller, viser ikke hvorfor. Be AI-agenten holde tre ting fra hverandre i svaret, hva som er regnet ut, hva som kan forklare det, og hva dataene ikke kan si noe om.
Script i mappen
I en chat blir scriptet skrevet, kjørt én gang og borte med samtalen. Med en agent i en mappe er det en fil, og den blir liggende.
I tillegg til rydding gjør de fleste script i en mappe som denne én av tre jobber.
- Telle. Les månedens eksport, summer omsetning per måned og produkt, og skriv tabellen til en fil.
- Sjekke. Sammenlign summene i rapporten med summene i kilden, se etter duplikater og tomme celler, og stopp arbeidet når noe ikke stemmer.
- Konvertere. Tegn diagrammet, fyll tallene inn i PowerPoint-malen, eller slå sammen PDF-ene.
Første gang finner du metoden sammen med AI-agenten, og den delen er like ikke-deterministisk som enhver annen samtale. Når scriptet er riktig, ber du AI-agenten lagre det.
DuLagre dette som totals.py i scripts-mappen. Legg til en linje i CLAUDE.md om at månedssummene alltid kommer fra dette scriptet, og aldri fra at modellen leser filen selv.
Neste måned finner AI-agenten instruksen, kjører det samme scriptet på den nye eksporten, og bruker tiden på hva som har endret seg og hvorfor. I guiden om skills skrev vi at markdown-filen er hjernen og scriptet er hendene. Dette er den samme arbeidsdelingen inne i én mappe, og et script som har kjørt tre måneder på rad, er en god kandidat til en skill.
Regler et script håndhever
Den samme arbeidsdelingen fungerer for regler. En språkmodell leser instruksen i CLAUDE.md og følger den nesten hver gang, mens et script følges hver gang.
Mappen bak denne nettsiden har et eksempel. Instruksene sier at AI-agenten lager nyhetsbrevet som utkast, og at jeg trykker send. Før hver push sjekker et script at ingen kode i mappen kan sende til listen. Claude Code kan kjøre script på samme måte, på faste punkter i arbeidet, og kaller dem hooks.
Samme analyse hver dag
Et script er også billig å kjøre. Når modellen leser en fil selv, går hver rad gjennom kontekstvinduet og betales i tokens, og i morgen betales det på nytt. Når AI-agenten kjører et script, er det scriptet som leser radene, og modellen ser kommandoen og noen linjer resultat.
Den første dagen er en investering. Du og AI-agenten finner metoden, skriver scriptene og setter opp mappen, og det koster både tid og tokens. Når systemet er på plass, kan en scheduled task kjøre den samme analysen hver morgen med svært få tokens. En oppgave som trenger en mappe på din egen maskin, kjører der, så maskinen må være våken med appen åpen. Tokenene går til det som krever skjønn, som å forklare hvorfor tirsdag ser annerledes ut enn mandag.
Prøv det på en fil du kjenner
Velg en eksport der du allerede kjenner ett tall, forrige måneds sum eller antall kunder. Bruk bare data du har lov til å dele med verktøyet. Last den opp, eller åpne mappen i Claude Cowork, og still det spørsmålet du faktisk lurer på.
DuJeg vil forstå hvordan salget har utviklet seg i år. Begynn med å fortelle meg hva én rad representerer, hvilke kolonner som finnes, og om noe mangler eller er duplisert. Foreslå deretter en enkel analyse. Bruk Python til hvert tall, og si fra hvis du ikke fikk kjørt koden.
Se etter et tegn på at koden faktisk ble kjørt, for en kodeblokk i svaret beviser det ikke. Sammenlign ett tall med det du kjente fra før. Stemmer det, ber du om scriptet som fil og legger det i mappen.
Guiden How to build AI capital, som er på engelsk, handler om script, instrukser og filer som fortsetter å virke etter første gangs bruk.