syv.ai logo

Artikel · 25. juli 2026 · 14 min

Anthropic skar 80 % af Claude Codes systemprompt væk

Mads Henrichsen

Anthropic har skrevet om, hvordan man skruer kontekst sammen til den nye generation af Claude-modeller, og en enkelt sætning stak ud: de har fjernet over 80 procent af Claude Codes systemprompt til modeller som Opus 5 og Fable 5, uden at det kunne måles på deres coding evals.

Det er en påstand, man kan efterprøve. Systempromptens indhold ligger ikke i de transskriptioner, Claude Code gemmer, men den bliver sendt afsted i hvert eneste API-kald, og et kald kan man opsnappe. Så det gjorde vi. Vi satte et lokalt endpoint op, der registrerede præcis det, Claude Code sender, kørte det samme kald med syv forskellige modeller fra den samme tomme mappe og talte tegn. Bagefter trak vi den kode ud af Claude Codes binære fil, der afgør, hvilken prompt en model får.

Påstanden holder. Men målingen viste også noget, der ikke står i artiklen: Claude Code sender forskellige rettelser til Fable 5 og til Opus 5. To sæt instruktioner, som den anden model aldrig ser, og som tilsammen er det tætteste, vi er kommet på Anthropics egen beskrivelse af, hvad de to modeller hver især gør forkert.

Sådan målte vi

Fremgangsmåden er enklere, end den lyder, og enhver kan gentage den. Claude Code taler med Anthropics API over HTTP, og hvilken adresse den taler med, styres af en miljøvariabel. Peger man den mod en lille lokal server, der gemmer forespørgslen og svarer med et minimalt, gyldigt svar, får man hele indholdet af kaldet ned på disken: systemprompten, samtlige værktøjsbeskrivelser og den kontekst, der bliver skudt ind i første besked.

Vi kørte det samme trivielle kald, claude -p "hi", med syv modeller fra den samme tomme mappe med de samme indstillinger. Den eneste forskel mellem kørslerne var modelnavnet. Alle tal herunder er tegn i det, der faktisk blev sendt, ikke skøn. Til sidst tjekkede vi, at vores tegn-til-token-omregning holder: et rigtigt kald i et af vores repos blev faktureret 36.909 input-tokens, hvor vores estimat sagde 33.677. Cirka 9 procent forsigtigt, altså brugbart.

80-procent-påstanden holder

Claude Codes systemprompt består groft sagt af to dele. Der er en instruktionskerne, som Anthropic selv formulerer, og som er den samme uanset hvor du kører. Og der er en række blokke om maskinen, mappen, hukommelsen og sessionen, som varierer fra computer til computer. Det er kernen, artiklen handler om, og det er den, vi har målt.

Sonnet 5, Haiku 4.5,Opus 4.7 og ældre12.512Fable 55.467Opus 55.709Opus 4.82.377fælles promptmodelspecifikt tillæg
Claude Codes egen instruktionskerne i tegn, målt på rigtige kald. Den slanke prompt er 81 % mindre end den gamle, men Fable 5 og Opus 5 får hver sit tillæg lagt oveni.

Den gamle kerne fylder 12.512 tegn og består af seks afsnit, der hedder System, Doing tasks, Executing actions with care, Using your tools, Tone and style og Text output. I den slanke udgave er alle seks erstattet af ét afsnit på fem punkter, der hedder Harness. Det er 2.377 tegn. Reduktionen er 81,0 procent, og påstanden holder altså på tegnet.

Der er en detalje, som er værd at kende, hvis I vælger model efter det her. Skiftet følger ikke navnet "Claude 5", men en liste i Claude Codes kode. Alt, der matcher haiku, sonnet eller Opus 4.7 og ældre, får stadig den gamle prompt. Det betyder, at Sonnet 5 er en Claude 5-model på den gamle prompt. Den slanke prompt følger Opus 4.8 og nyere, plus Fable, ikke modelgenerationen.

To modeller, to sæt rettelser

Her bliver det interessant. I Claude Codes modelregister har hver model en liste over egenskaber. Opus 5 har flaget opus_5_prompt_bundle, Fable 5 har fable_5_mitigations, og hvert flag låser op for prompt-tekst, som den anden model aldrig får at se. Vi har verificeret det to gange: teksten optræder i de opsnappede kald for netop den ene model, og de funktioner i koden, der styrer det, slår op i præcis de to flag.

Fable 5 får godt 4.000 tegn om kommunikation. Skriv til en kollega, der har været væk og skal indhentes, ikke til en log. Læg resultatet først. Alt, brugeren skal bruge, skal stå i turens sidste besked. Og et forbud, der er værd at læse to gange, fordi det fortæller, hvad modellen ellers ville gøre: skriv i hele sætninger frem for "fragmenter, forkortelser, pilekæder som A → B → fejler eller jargon". Oveni får Fable 5 et afsnit, Opus 5 ikke får:

Du arbejder autonomt. Brugeren ser ikke med i realtid og kan ikke svare undervejs, så at spørge "vil du have, at jeg…?" blokerer arbejdet. Handlinger, der kan gøres om, og som følger af den oprindelige opgave, skal du bare udføre. Stop kun ved ødelæggende handlinger eller reelle ændringer af opgavens omfang.

Opus 5 får noget helt andet. Et afsnit om levering: hverken indsnævr, udvid eller omform den opgave, du fik; gør den helt færdig; gem de blokerende spørgsmål til de tilfælde, hvor ethvert gæt ville være usikkert. Et afsnit om rettelser: hold op med at undskylde og revidere udsagn, der var rigtige. Og en instruks, der er så direkte, at den nærmest er en indrømmelse:

Kald ikke AgentTool, medmindre brugeren har bedt om det.
Brug ikke workflows eller deep research, medmindre brugeren har bedt om det.

Læser man de to bundter som ét dokument, står der: Fable 5 skal skubbes til at kommunikere ordentligt og til at holde op med at spørge. Opus 5 skal skubbes til at holde omfanget, holde op med at overkorrigere og holde op med at uddelegere. Ingen af delene står i dokumentationen. Begge dele kan hentes ud af ét enkelt API-kald.

De to citater ovenfor er vores oversættelse fra engelsk af den prompt-tekst, vi opsnappede. Indholdet er uændret, men ordlyden er ikke Anthropics egen.

Værktøjsbeskrivelserne blev skåret hårdere end prompten

Værktøjerne har fået samme behandling. Modellerne får de samme 27 værktøjer, men teksten, der beskriver dem, er en anden.

VærktøjGammel beskrivelseClaude 5Skåret væk
Bash10.067 tegn1.353 tegn87 %
Agent (subagenter)6.725 tegn1.574 tegn77 %
WebFetch1.479 tegn374 tegn75 %
Edit1.094 tegn360 tegn67 %
Read1.782 tegn790 tegn56 %
Alle 27 værktøjer77.080 tegn58.996 tegn23,5 %

Totalen ser beskeden ud, fordi den trækkes op af de værktøjer, ingen har rørt. På de værktøjer, en agent bruger hver eneste tur, er der skåret 56 til 87 procent væk. Bash er det tydeligste eksempel. Den gamle beskrivelse indeholder 35 forekomster af ord som VIGTIGT, ALDRIG, SKAL og UNDGÅ. Den nye indeholder ét.

Anthropic beskriver skiftet som "giv eksempler" erstattet af "design grænsefladen". Den første halvdel kan vi bekræfte: Agent-værktøjets seks eksempelblokke er væk, og overskriften "hvornår du ikke skal bruge det" er blevet til "hvornår du skal bruge det". Den anden halvdel kan vi ikke. Vi sammenlignede parameterskemaerne for alle 27 værktøjer, og de er byte for byte identiske mellem de to udgaver. Ingen ny enum, ingen omskrevet feltbeskrivelse. I Claude Code blev "design grænsefladen" i praksis til at slette prosa.

Og skæringen er ikke ensidig. Ét værktøj blev længere. AskUserQuestion, som modellen bruger til at stille brugeren et valg, har fået et afsnit, som kun Claude 5-modellerne ser: brug det kun, når brugerens svar ændrer, hvad du gør bagefter, ikke til valg med et oplagt standardsvar eller til noget, du selv kan slå op i koden. Vælg det oplagte, nævn det i dit svar, og fortsæt. Retningen er mod dømmekraft, og det koster nogle gange ord.

Flere regler gav dårligere efterlevelse

Den påstand, der betyder mest, er den sidste del af sætningen: at de 80 procent kunne fjernes uden målbart tab. Den kan vi ikke afgøre, for den handler om Anthropics egne evalueringer. Men vi kan lave en variant af eksperimentet, for Claude Code har en miljøvariabel, der tvinger prompten den ene eller den anden vej. Samme model, samme opgave, samme repo, kun prompten skifter.

Vi kørte Opus 5 mod sig selv på to opgaver, to gange i hver retning. Den ene opgave var snæver og havde et kendt facit, den anden var åben: gør en sidecar-service mere robust, uden at rette noget. Otte kørsler i alt. Prisen blev et rent dødt løb, 4,62 dollar mod 4,58 dollar. Men ét tal faldt helt anderledes ud, end vi havde regnet med.

Fire kørsler per udgaveSlank promptGammel prompt
Read-kald290
Bash-kald4246
Læsning af kildefiler med cat/head610
Samlet pris$4,62$4,58

Med den gamle prompt brugte modellen Read nul gange. Den klarede det hele gennem Bash. Med den slanke prompt brugte den det 29 gange. Det vender forventningen på hovedet, for det er den gamle prompt, der udpensler reglen: dens Bash-beskrivelse indeholder hele listen "Læs filer: brug Read (IKKE cat/head/tail), rediger filer: brug Edit (IKKE sed/awk)", og dens afsnit om værktøjer indledes med "foretræk dedikerede værktøjer frem for Bash". Den slanke prompt siger det samme i én ledsætning. Den udførlige udgave fulgte sin egen regel dårligst.

Forklaringen ligger sandsynligvis to punkter længere nede i samme afsnit, hvor den gamle prompt også siger: "maksimér brugen af parallelle værktøjskald for at øge effektiviteten". At samle fire filer i ét cat A && cat B && ls C er den mest direkte måde at efterleve den instruks på, og det bryder den første for at gøre det. Den slanke prompt siger begge dele én gang uden forstærkeren, og konflikten forsvinder. Det er præcis det, Anthropic beskriver som modstridende beskeder i én og samme forespørgsel, målt som adfærd. Mekanismen er vores fortolkning; adfærden er målt, to gange i hver retning.

Blind bedømmelse: uafgjort, men ikke ens

Tal om værktøjsvalg siger ikke, om svarene blev bedre. Så vi gav de fire par til fire blinde censorer, der ikke fik at vide, hvilken udgave der var hvilken, og som fik besked på at efterprøve påstandene i koden frem for at bedømme på stil. Placeringen som "svar A" og "svar B" blev byttet mellem parrene.

Det endte 2-2, og delingen fulgte opgavetypen præcist. Den gamle prompt vandt begge snævre opslagsopgaver, den slanke vandt begge åbne rådgivningsopgaver, og den eneste klare sejrsmargin gik til den slanke. Antallet af påstande, der kunne modbevises i koden, endte seks mod fem på tværs af otte svar. Med to kørsler per opgave kan vi ikke skelne en reel sammenhæng fra tilfældighed, og det skal man ikke lade som om.

Til gengæld var alle fire par lette at kende fra hinanden. Den gamle prompt inddelte fund i "niveau 1 til 5", brugte en fast skabelon og fremlagde alt med samme sikkerhed. Den slanke prompt brugte P0, P1 og P2, skrev indledningsvist hvad den ikke kunne verificere, og sluttede med testplaner og eksplicitte ikke-mål. I den ene runde var netop den markering af usikkerhed forskellen på en korrekt afgrænsning og en forkert overskrift. At skære 80 procent væk ændrer altså synligt, hvordan modellen skriver, og hvordan den markerer, hvad den ikke ved. Om det ændrer kvaliteten, kan vores otte kørsler ikke afgøre. De kan vise, at den slanke udgave ikke faldt sammen.

Den dyre lektie om at uddelegere

Undervejs kørte vi også Opus 5 og Fable 5 mod hinanden på de samme opgaver. Den mest lærerige kørsel var den, der mislykkedes. Opgaven lød: find alle de steder, frontend og backend kan komme ud af trit med hinanden, og rangér dem efter risiko.

Samme opgave, samme repoFremgangsmådeTidPrisSvar
Opus 5selv, 79 Bash-kald7,7 min$5,46ja
Fable 5kaldte repoets egen audit-skill som workflow53 min$56,01nej

Fable 5 gjorde noget fornuftigt. Den bemærkede i sin allerførste besked, at repoet allerede havde en skill bygget til præcis det spørgsmål, og kaldte den. Det er progressive disclosure, som det er tænkt. Skillen er bare bygget til at fordele arbejdet ud, den satte 46 agenter i gang, og undervejs løb kontoens Fable-forbrug tør. 53 minutter og 56 dollar senere var der intet svar.

Det siger ikke, at Fable 5 ræsonnerer dårligere. Det siger, at den uddelegerende strategi koster ti gange så meget, tager syv gange så lang tid og fejler hårdt, hvis forbruget slipper op midtvejs. Og det er nøjagtig den risiko, Claude Code adresserer i Opus 5's eget prompt-tillæg med linjen om ikke at bruge workflows, medmindre brugeren har bedt om det. Brugeren havde ikke bedt om det, så Opus 5 gjorde det i hånden. Vi har skrevet mere om, hvornår den slags orkestrering betaler sig.

Den vigtigste pointe handler ikke om Anthropics prompt

Da vi havde tallene, målte vi det samme på en frisk tur i et af vores egne repos. Sådan fordeler konteksten sig, før arbejdet overhovedet er begyndt:

Del af forespørgslenTokens (est.)Andel
Værktøjsbeskrivelser (27 stk.)22.02665,4 %
Vores egen CLAUDE.md og hukommelse9.09527,0 %
Claude Codes systemprompt2.5567,6 %

Anthropic har altså skåret 81 procent af den post, der fylder 7,6 procent. Vores egen rod-CLAUDE.md fylder 3.526 tokens, altså cirka 1,4 gange hele systemprompten til Opus 5. Vejledningerne i undermapperne fylder fire til fem gange systemprompten, når en session arbejder i dem. Det største enkeltværktøj, workflow-værktøjet, fylder en fjerdedel af al værktøjstekst helt alene.

Med andre ord: hvis rådene i artiklen er værd at følge, ligger gevinsten hos jer, ikke hos Anthropic. Og det er ikke bare et regnestykke. Det, vi lige har målt, er, at en udførlig regel kan tabe til en kortere, når den står ved siden af en anden regel, der trækker den anden vej. Den slags konflikter er der langt flere af i en CLAUDE.md, der er vokset i halvandet år, end i en systemprompt, Anthropic redigerer på fuld tid.

Testen, der afgør, hvad der skal blive

Claude Code fik i en nylig version en /doctor-kommando, der foreslår præcis den oprydning, og dens egen instruks indeholder en brugbar tommelfingerregel. Spørgsmålet per afsnit er: kunne en session, der arbejder i dette repo, regne det ud ved at læse koden?

  • Skær væk, fordi koden allerede siger det. Mappe- og filstrukturer, teknologi- og afhængighedslister, byg- og testkommandoer der er standardkommandoen eller står i manifestet, API-signaturer og typer kopieret fra kilden, arkitekturrundvisninger der læser som en README, generiske råd modellen følger i forvejen, og regler som en linter eller et pre-commit-hook allerede håndhæver.
  • Behold, fordi koden ikke kan sige det. Faldgruber og fejlkontrakter ("X ser sikkert ud, men gør Y"), begrundelser for at noget er skruet sammen, som det er, konventioner der afviger fra sprogets eller værktøjets standard, sikkerhedsforbud, aftaler om grene og commits, ordlister for domænet, kommandoer man ikke kan gætte, og henvisninger til kontekst, der ligger andetsteds.
  • Flyt resten til en skill. Alt det, der kun er relevant i en håndfuld opgaver, hører hjemme i en skill, der først indlæses, når den skal bruges. Da vi kiggede efter i vores eget repo, var 58 procent af den ene vejledning ét enkelt afsnit om en kontrakt, der bliver læst ind i hver eneste session, der rører den mappe, uanset om opgaven kommer i nærheden af emnet.
  • Er du i tvivl, så behold det. Det er jer, der har skrevet filerne, og en grænsetilfælde bliver stående. Et "gør aldrig X" ryger aldrig ud, fordi det ligner en floskel.

Hvad vi tager med

Tre ting står tilbage, efter at have målt i stedet for at læse.

Den første er, at påstanden holdt. 81,0 procent er skåret væk af kernen, og de to modeller, der får mest tilbage, får det som målrettede tillæg, ikke som genindførte regler. Den anden er, at prompten er blevet modelspecifik på en måde, der ikke er dokumenteret. Kender man ikke sin models tillæg, undrer man sig over adfærd, der i virkeligheden er lydighed. Den tredje er den, vi selv skal handle på: den post, der fylder mest i vores kontekst, er den, vi selv har skrevet, og den er aldrig blevet revideret med samme strenghed.

Metoden er vigtigere end tallene, og den koster under en dollar at gentage. Et lokalt endpoint, ét kald per model, og en optælling. Vil I have hjælp til at få styr på, hvad jeres agenter reelt får at vide, før de går i gang, så tag fat i os.

Ofte stillede spørgsmål

Har Anthropic virkelig fjernet 80 procent af Claude Codes systemprompt?

Ja. Vi målte den ved at opsnappe de rigtige API-kald fra Claude Code. Den instruktionskerne, Anthropic selv skriver, fylder 12.512 tegn til de gamle modeller og 2.377 tegn i den slanke udgave. Det er en reduktion på 81,0 procent. Fable 5 og Opus 5 lander højere, henholdsvis 5.467 og 5.709 tegn, fordi de hver får et modelspecifikt tillæg lagt oveni.

Får alle Claude 5-modeller den slanke systemprompt?

Nej. Skiftet følger ikke navnet, men en liste i Claude Codes egen kode. Alt, der matcher haiku, sonnet eller Opus 4.7 og ældre, får stadig den gamle prompt på 12.512 tegn. Det gælder også Sonnet 5, som altså er en Claude 5-model på den gamle prompt. Den slanke prompt går til Opus 4.8 og nyere samt Fable.

Hvad er forskellen på den prompt, Fable 5 og Opus 5 får?

De deler den slanke basisprompt, men får hver sit tillæg. Fable 5 får godt 4.000 tegn om, hvordan den skal kommunikere med brugeren, plus en instruks om at arbejde autonomt og ikke stoppe op for at spørge. Opus 5 får to afsnit om at levere hele opgaven uden at ændre omfanget og om ikke at overkorrigere sig selv, plus en direkte besked om ikke at kalde subagenter eller workflows, medmindre brugeren har bedt om det.

Betyder færre regler, at modellen følger dem dårligere?

Vores måling peger den anden vej. Vi kørte samme model på samme opgaver med henholdsvis den gamle og den slanke prompt. Med den gamle prompt, der udpensler reglen om at bruge Read frem for cat og head, brugte modellen Read nul gange. Med den slanke prompt, der siger det samme i én sætning, brugte den det 29 gange. Den udførlige prompt indeholder en anden instruks om at maksimere parallelle kald, og den vandt over reglen.

Hvor stor en del af konteksten er Claude Codes egen systemprompt?

Lille. I et af vores egne repos kostede en frisk tur 36.909 input-tokens, før arbejdet gik i gang. Værktøjsbeskrivelserne fyldte omkring 65 procent, vores egen CLAUDE.md og hukommelse omkring 27 procent, og Claude Codes systemprompt 7,6 procent. Anthropic har altså skåret i den mindste af de tre poster.

Hvad bør vi gøre ved vores egen CLAUDE.md?

Skær alt væk, som en session kan regne ud selv ved at læse koden: mappestrukturer, teknologilister, standardkommandoer, arkitekturrundvisninger og regler, som en linter allerede håndhæver. Behold det, koden ikke kan fortælle: faldgruber, begrundelser, konventioner der afviger fra standarden, sikkerhedsforbud og aftaler om arbejdsgang. Kommandoen /doctor i Claude Code foreslår præcis den øvelse og kan gøre det for jer.

Er Opus 5 eller Fable 5 bedst til kodearbejde?

På vores parvise test vandt Opus 5 begge sammenligninger hos blinde censorer, men mekanismen skiftede. På den snævre faktaopgave vandt den på metode og havde færrest fejl. På den åbne rådgivningsopgave vandt den på dækning, mens den samtidig havde flere forkerte påstande end Fable 5. Fable 5's styrke er præcision og tilbageholdenhed. To sammenligninger er for lidt til at kalde det afgjort.

Spørgsmål?

Kontakt os og kom i gang med AI

Kontakt os