Blog

Sådan kører du Claude Code og Codex natten over via /goal i 2026: 14 timers autonom tilstand

Markdown

Kommandoen /goal i Claude Code 2.1.139 og Codex CLI lader en AI-agent arbejde selvstændigt i timevis. Jeg forklarer opsætningen, konkrete eksempler og hvor mange tokens det koster.

Læs hele artiklen

Vigtigste pointer

Kommandoen /goal dukkede op i Claude Code 2.1.139 (11. maj 2026) og Codex CLI 0.128.0 (30. april 2026, stabil siden 21. maj). Du definerer kriteriet for, hvornår arbejdet er færdigt, én gang, og agenten gennemløber selv planlægning, handling og verificering, indtil kriteriet er opfyldt, eller den løber tør for tokens. OpenAI viste offentligt en kørsel på 25 timer med 13 millioner tokens. Det egner sig til migreringer, benchmarks og refaktoreringer med målbare kriterier. Det egner sig ikke til UI-opgaver, produktionsdatabaser eller vage ønsker som »gør det bedre«.

Information om at arbejde med Ailoot findes i dokumentationen.

Hvad er /goal, og hvorfor dukkede det op i 2026?

Vigtigste pointer

Før /goal krævede hver agenttur et manuelt »fortsæt«. Den åbnede en fil, læste den, skrev noget, stoppede og ventede. Med kommandoen /goal angiver du et kriterium for, hvornår arbejdet er færdigt, én gang. Agenten afgør selv, hvornår opgaven er udført, og giver først kontrollen tilbage, når den er færdig.

Scenariet, vi alle kendte før april 2026: Jeg giver Claude en opgave: »migrér projektet fra Pydantic v1 til v2«. Den går i gang, stopper efter 30 sekunder, jeg ser på, hvad den har lavet, og skriver »fortsæt«. Den tager næste skridt, stopper, og jeg skriver »fortsæt« igen. Ved en stor migrering betyder det 200–300 manuelle »fortsæt«, og jeg passer reelt agenten i stedet for at skrive anden kode sideløbende.

OpenAI's analyse var, at problemet ikke var modellens »dumhed«, men loopets arkitektur. Modellen vidste ikke, hvornår den skulle stoppe, så den bremsede ved hver tur. Giv den et kriterium for, hvornår arbejdet er færdigt, så afgør den det selv.

Sådan opstod /goal – en mekanisme indbygget i harnessen, ikke i modellen.

Udtalelsen faldt på konferencen Code with Claude i London den 19.–20. maj 2026. Den beskriver, hvad der faktisk skete i måneden efter lanceringen af /goal i begge værktøjer.

Hvordan opsætter du Goal-tilstand i Claude Code?

Vigtigste pointer

Claude Code 2.1.139 blev udgivet den 11. maj 2026 med kommandoen /goal. En lille model (Haiku som standard) kontrollerer kriteriet efter hver tur. Hvis kriteriet ikke er opfyldt, tager Claude endnu en tur. Kriteriet kan være op til 4,000 tegn langt, og der kan være ét mål pr. session.

Et minimalt eksempel fra Anthropics officielle dokumentation:

claude -p "/goal CHANGELOG.md har en post for hver PR, der er flettet ind i denne uge"

Denne kommando starter agenten i baggrunden med ét mål. Claude finder PR'erne, tjekker dem mod CHANGELOG.md, tilføjer eventuelle manglende linjer og stopper, når kriteriet er opfyldt.

I interaktiv tilstand skal du blot skrive /goal efterfulgt af kriteriet:

/goal alle pytest-tests består, og mypy strict rapporterer nul fejl

Det gør Claude derefter:

  • Efter hver tur får en separat, hurtig model (Haiku som standard) det aktuelle kriterium og samtalehistorikken
  • Modellen svarer »ja« eller »nej« med en kort begrundelse
  • Hvis svaret er »nej«, tager Claude automatisk endnu en tur uden at give kontrollen tilbage til dig
  • Hvis svaret er »ja«, ryddes målet, og kontrollen gives tilbage til dig

Efter hver tur kontrollerer en lille, hurtig model, om kriteriet er opfyldt. Hvis det ikke er opfyldt, starter Claude endnu en tur uden at give kontrollen tilbage til dig.

— Officiel dokumentation for Claude Code, https://code.claude.com/docs/en/goal

Hårde begrænsninger, som ingen fortæller dig om, før du støder på dem:

  • /goal virker kun i arbejdsmapper, hvor tillidsdialogen er blevet godkendt. Hvis du bruger en ny maskine, og Claude endnu ikke har husket mappen, mislykkes kommandoen
  • I virksomhedsmiljøer med disableAllHooks eller allowManagedHooksOnly er kommandoen ikke tilgængelig
  • Kriteriet kan være op til 4,000 tegn langt
  • Der kan kun være ét aktivt mål pr. session. En ny /goal nulstiller det gamle mål
  • Med --resume bevares kriteriet, men tællerne for ture, tid og tokens nulstilles

Styringskommandoer:

  • /goal uden argument – vis den aktuelle status
  • /goal clear (eller stop, off, reset, none, cancel) – ryd målet

Ifølge Anthropic er evaluatorens omkostning »normalt ubetydelig sammenlignet med omkostningen ved hovedturen«. Haiku evaluerer kriteriet og samtaleteksten og bruger ikke værktøjer, så kontrollen er billig. Det dyre er hovedmodellens ture.

Hvordan opsætter du /goal i Codex CLI?

Vigtigste pointer

Codex CLI 0.128.0 tilføjede /goal den 30. april 2026 som en eksperimentel funktion. Den 21. maj blev tilstanden stabil i udgivelse 26.519 / npm 0.133.0. Den fungerer via to promptskabeloner – continuation.md (»fortsæt«) og budget_limit.md (»stop«). Målet er knyttet til tråden og overlever genstarter.

Kommandoen ser ud som i Claude:

codex
> /goal alle vitest-tests består, og der er ingen eslint-fejl

Codex tilbyder flere styringsmuligheder:

KommandoHvad den gør
/goal conditionangiv et mål
/goalse status
/goal pausesæt på pause
/goal resumegenoptag
/goal editredigér kriteriet (med GA)
/goal clearryd målet

Den største forskel fra Claude er, at Codex selv kontrollerer, om arbejdet er »færdigt«, i stedet for at en separat model gør det. Efter hver tur indsætter Codex automatisk skabelonen continuation.md fra kodearkivet openai/codex i konteksten. En direkte oversættelse:

»Fortsæt arbejdet mod det aktive trådmål. Gentag ikke allerede udført arbejde. Vælg den næste konkrete handling, der fører mod målet. Markér kun målet som nået, når en gennemgang viser, at det faktisk er opfyldt, og der ikke er mere nødvendigt arbejde.«

Når tokenforbruget nærmer sig grænsen, indsættes en anden skabelon – budget_limit.md:

»Målet har nået sin tokenbegrænsning. Begynd ikke på større nyt arbejde. Afslut denne tur så hurtigt som muligt: opsummér nyttige fremskridt, identificér det resterende arbejde og hindringerne, og giv brugeren et tydeligt næste skridt.«

Logikken er den samme: »Lad være med at lyve om, hvad du har gjort.« Fortsættelsen kræver kun, at arbejdet fortsætter, hvis målet reelt ikke er opfyldt. Budget_limit kræver, at man stopper, men beskriver ærligt, hvad der mangler.

I modsætning til Claude knytter Codex målet til tråden, ikke sessionen. For eksempel kan du lukke terminalen og åbne den igen om morgenen, og /goal resume fortsætter med det samme mål og de samme fakta i hukommelsen. Det er nyttigt til kørsler, man deler op efter sin egen tidsplan.

Hvordan adskiller /goal i Claude Code sig fra /goal i Codex?

Vigtigste pointer

Claude adskiller den, der skriver, fra den, der bedømmer: hovedmodellen skriver kode, og en separat, lille model bedømmer. Codex er én agent, der kontrollerer sit eget arbejde – den minder sig selv om: »Lad være med at lyve om, hvad du har gjort.« Arkitekturerne er forskellige, men risikoen for at køre fast i en loop er den samme.

Det er den mest almindelige udeladelse i sammenligninger, så lad os se nærmere på det.

EgenskabClaude Code /goalCodex /goal
Udgivelsev2.1.139, 11. maj 2026v0.128.0, 30. april 2026 (eksperimentel) → v0.133.0 / 26.519, 21. maj 2026 (stabil)
MålområdeSessionTråd (overlever genstarter)
Styringset, clear (+ aliaser)set, view, pause, resume, edit, clear
Hvem kontrollerer, om det er »færdigt«Separat model (Haiku som standard)Den samme agent via en indsat prompt
Evaluatorens adgang til filerNej; den bedømmer kun ud fra samtaletekstenJa; den kan inspicere filer, tests og logfiler
BudgetI kriterieteksten: »eller stop efter 20 ture«Indbygget tokenbegrænsning + automatisk indsættelse af budget_limit.md
Hård udgiftsgrænseIngen; kun abonnementsgrænsenIngen; kun abonnementsgrænsen
Kriteriets længdeOp til 4,000 tegnIkke angivet
Hvor det virkerInteraktiv tilstand, -p, desktopapp, Remote ControlApp, IDE-udvidelse, CLI, ACP-klienter

Den begrebsmæssige forskel er, at Claude behandler loopet som en kvalitetsaftale (en ekstern evaluator), mens Codex behandler det som en udførelsesmekanisme (agenten styrer sig selv).

I praksis betyder det: Hvis du ønsker, at kriteriet for, hvornår arbejdet er færdigt, skal bedømmes upartisk, skal du vælge Claude. Hvis agenten skal kunne kontrollere filer og logfiler under evalueringen, skal du vælge Codex.

Læs mere om værktøjerne i guiden Codex sammenlignet med Claude Code.

Konkret eksempel: Migrering fra Pydantic v1 til v2 på 31 timer

Vigtigste pointer

Codex /goal gennemførte migreringen af 14,000 linjer i en intern tjeneste fra Pydantic v1 til v2 på 31 timers faktisk tid fordelt på fire sessioner. Det kostede cirka $44 med gpt-5.3-codex.

Opgaven blev formuleret sådan: »migrér fra Pydantic v1 til v2, alle pytest-tests skal bestå, og mypy strict skal rapportere nul fejl.«

Det skete der:

  • Session 1 (8 timer) – Codex analyserede importerne, omskrev BaseModel-deklarationerne og satte mypy op
  • Session 2 (10 timer) – omskrev validatorer og fik omkring 200 tests til at fejle
  • Session 3 (7 timer) – rettede testene og fandt cirkulære afhængigheder
  • Session 4 (6 timer) – løste de resterende mypy-fejl og regressioner

Tokenomkostning:

»Samlet tid på uret: cirka 31 timer fordelt på fire sessioner. Codex' samlede tokenomkostning til gpt-5.3-codex-priser var cirka $44.«

Prisen domineres af outputtokens fra gpt-5.3-codex til en pris på $14 pr. million. Det betyder, at 31 timers autonomt arbejde koster omtrent det samme som flere ugers ChatGPT Plus-abonnement.

Det gjorde agenten ikke på egen hånd:

  • Den skrev ikke migreringsdokumentation til teamet (Codex forstod ikke, at det var en del af »migreringen«)
  • Den opdaterede ikke konfigurationsfiler til publicering med den nye version af Pydantic
  • Den overså en produktionsregression, som først blev opdaget en dag senere

Med andre ord udførte /goal 95% af arbejdet; de resterende 5% skal stadig klares manuelt. Det er normalt for den nuværende generation og ingen grund til ikke at bruge det.

14 timer med en macOS-driver natten over

Hvilke opgaver egner sig til lange kørsler natten over

Vigtigste pointer

Drivere er en opgavetype, der egner sig dårligt til interaktivt arbejde, men godt til langvarige loops.

De opgavetyper, hvor denne tilgang giver de største gevinster:

  • Lavniveauarbejde, hvor en iteration og kontrol tager minutter (kompilering, testkørsel)
  • Migreringer med tydelige formelle kriterier (typer, tests, lint)
  • Benchmarks og optimeringer med målbare resultater
  • Dokumentation og changelogs med en tydelig struktur

Claude /goal gør det lige så godt, men Codex vælges oftere til drivere, fordi det selv kontrollerer filer og logfiler i stedet for at stole på en ekstern bedømmer.

Hvad koster det, og hvordan undgår du at bruge alle dine tokens natten over?

Vigtigste pointer

/goal har ingen hård øvre udgiftsgrænse – kun grænserne i dit abonnement. En faktisk time med Codex koster cirka $1.50–$3 med gpt-5.3-codex. Claude er dyrere at køre og billigere at evaluere. Den eneste beskyttelse er at skrive »eller stop efter N ture« i selve kriteriet.

Tal fra offentlige beretninger:

KørselVarighedTokensOmkostning
Demo af OpenAI-designværktøj25 timer13M(intern kørsel)
Pydantic v1→v231 timer, 4 sessioner~3.1M output~$44
Stemmeinterviewsystem6 timer og 44 minutter i alt (41 minutters beregning)6.8 millioner input, 94% cachelagret-
Font-smoketest5 minutter188,832mindre end 5% af ugens kvote

Det vigtigste at forstå er, at hverken Claude Code eller Codex har en hård grænse af typen »stop med at bruge penge ved $N«. Der er tre sikkerhedsforanstaltninger:

  1. Abonnementsgrænser – Pro, Max eller Enterprise. Med Anthropics Max-abonnement ($100/måned) holder en kørslen natten over på 14 timer sig inden for ugekvoten med god margen
  2. Tekstgrænse i kriteriet – skriv »eller stop efter 20 ture« direkte i /goal. Claude-dommeren læser det og lukker målet
  3. Tokengrænse i Codex – en indbygget mekanisme, der indsætter budget_limit.md, når tokens løber tør

Det, der får regningen til at vokse natten over:

  • Et vagt kriterium som »gør det mere praktisk« – agenten stopper aldrig, fordi evaluatoren ikke ved, hvad »bedre« betyder
  • Adgang til eksterne API'er uden stubs – hvert nyt forsøg koster tokens
  • Lang kontekst – efter 6.7M tokens starter kontekstkomprimering, og noget af hukommelsen går tabt

Læs mere om at spare omkostninger i guiderne hvor Claude Code-tokens bliver af og hvordan du undgår at bruge alle dine grænser.

Hvornår skal du IKKE køre /goal: 5 situationer

Vigtigste pointer

Vage kriterier som »få det til at se pænt ud«, ændringer på én linje, produktionsdatabaser med brugerdata, sikkerhedskritiske ændringer og opgaver med uklare eksterne afhængigheder. I alle fem situationer vil agenten enten sidde fast i et loop eller bruge tokens forgæves.

OpenAI's dokumentation siger udtrykkeligt, hvad du IKKE skal gøre:

  1. Ændringer på én linje – det koster mere at køre /goal for at omdøbe en variabel end at gøre det manuelt
  2. Vage mål – »forbedr ydeevnen«, »gør koden renere«, »gør det mere praktisk«. Evaluatoren har intet kriterium, så agenten vil blive ved i det uendelige
  3. Produktionsdatabaser med brugerdata – agenten kan ødelægge en migrering, og det koster mere at gendanne fra en sikkerhedskopi end nogen besparelse
  4. Sikkerhedsændringer – godkendelse, kryptering, betalingsbehandling. Et menneske skal gennemgå hver commit her
  5. Eksterne API'er uden stubs – hver netværksfejl koster tokens og er uden for din kontrol

Hvad skal du gøre, hvis agenten går i stå?

Vigtigste pointer

Et tegn på et loop er, at agenten redigerer det samme sted i 3–4 ture og derefter ruller ændringerne tilbage. Afbryd den med Ctrl+C, tjek loggen, og gør så enten kriteriet strengere eller begræns opgaven til én del. I Claude hjælper /goal clear; i Codex skal du bruge /goal pause og redigere kriteriet.

Sådan opdager du hurtigt et loop:

  • Agenten ændrer de samme filer i 3+ ture og sætter dem derefter tilbage til deres tidligere tilstand
  • De samme fejl vises gentagne gange i loggen, selvom agenten allerede har reageret på dem
  • Du synes, kriteriet er opfyldt, men agenten siger »ikke opfyldt«
  • Tokenforbruget pr. tur stiger, men der sker ingen fremskridt i koden

Det gør du derefter:

  • I Claude Code: /goal clear, og gør derefter kriteriet mere specifikt
  • I Codex: /goal pause, inspicér den aktuelle tråd, redigér kriteriet med /goal edit, og kør derefter /goal resume
  • I begge: kontrollér, at kriteriet faktisk kan verificeres (en kommando returnerer exit 0 eller giver et bestemt output)

Ofte skyldes loopet selve opgaven, ikke agenten. Kriteriet »alle tests består« forudsætter, at testene overhovedet kan bestå. Hvis der er et dybt arkitekturproblem i koden, bliver agenten ved med at kredse om symptomet.

Kriterier for, hvornår arbejdet er »færdigt«: opgavedisciplin for /goal

Vigtigste pointer

Et godt kriterium er en kommando, der returnerer exit 0 eller et bestemt output. »Alle tests bestået« fungerer. »Koden er renere« gør ikke. Det er bedst at kombinere en formel kontrol med en målbar måling – for eksempel tests plus en minimumsdækning.

OpenAI formulerer reglen klart i sit officielle Codex Cookbook:

Et mål betragtes ikke som fuldført, bare fordi modellen synes det. Et mål er først fuldført, når resultatet er kontrolleret mod filer, tests, logfiler, benchmarks eller andre konkrete artefakter.

— OpenAI Codex Cookbook, Brug af mål i Codex, https://developers.openai.com/cookbook/examples/codex/using_goals_in_codex

Kriterieskabeloner, der faktisk virker:

KriterietypeSådan formulerer du det
Tests»pytest tests/ returnerer exit 0, og dækningen er mindst 80%«
Typer»mypy strict rapporterer nul fejl i src/«
Lint»eslint . returnerer exit 0 for alle ændrede filer«
Build»npm run build gennemføres uden fejl og uden TypeScript-fejl«
Benchmark»k6 run perf test viser p95 under 200 ms«
Diff»git diff viser kun ændringer i filerne X, Y, Z«
Kombination»pytest er grøn OG mypy strict rapporterer nul fejl OG ruff check består«

Kombinationsrækken bruger tests, mypy og lint. Hvis bare én kontrol stadig viser fejl, afsluttes målet ikke. Evaluatoren kan ikke snyde.

Antimønstre:

  • »Koden er bedre«
  • »Brugervenligheden er forbedret«
  • »Ydeevnen er forbedret«
  • »Dokumentationen er fuldstændig«

Forskellen på »virker« og »virker ikke« er verificerbarhed. Hvis et kriterium ikke kan kontrolleres med en kommando, kan det slet ikke kontrolleres. Det er også det, OpenAI mener med »sammenhæng over en lang tidshorisont«: En agent kan tænke længe, men den kan ikke selv afgøre, hvad der er »godt nok«.

Du kan afprøve idéen »én prompt – ét resultat« i et rigtigt projekt: angiv /goal, formulér et kriterium, kør det, og analysér, hvad der gik galt.

Lær Ailoot at kende.

Flere oplysninger

Spørgsmål og svar

Hvad gør et /goal-fuldførelseskriterium nyttigt?

Brug et kontrollerbart resultat: Angiv test, typekontrol, build eller benchmark og det krævede udfald. Kombinér de krævede kontroller udtrykkeligt, og medtag det tilladte filomfang. “Gør det bedre” giver ikke agenten et målbart stoppunkt.

Hvad gør jeg, når agenten gentager de samme fejlslagne ændringer?

Afbryd kørslen, og undersøg loggen. Indsnævr opgaven, eller gør kriteriet mere konkret, hvis den bliver ved med at ændre og tilbageføre samme filer. Verificér, at de krævede kontroller faktisk kan bestås, før du fortsætter.

Alle artikler