Claude Architect · Lektion

Forældet kontekst og en ny start

Når genoptagne værktøjsresultater er forældede, skal De opsummere på ny

Lektion 4 af 413 trin

Forældet kontekst og en ny start er en gratis Claude Architect-lektion på CoddyKit. Dette er lektion 4 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i Claude Architect, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Claude Architect-kurset indeholder 4 lektioner i alt.

Genoptagelse af en session

Claude Code gør det muligt at fortsætte arbejdet over flere dage. --resume <name> genåbner en navngiven session med hele meddelelseshistorikken intakt: prompts, modellens ræsonnement og – afgørende – de værktøjsresultater, der blev gemt første gang.

Den afspilning er kraftfuld. Men den skjuler en væsentlig faldgrube: værktøjsresultaterne er et øjebliksbillede af fortiden, ikke en livevisning af dit system. Denne lektion handler om at genkende, hvornår øjebliksbilledet er blevet forældet, og hvad du i stedet skal gøre.

claude --resume refactor-auth

Hvorfor historikken er fastfrosset

Husk, hvordan API'et fungerer: Modellen har ingen egen tilstand. Hver gang du sender noget, medsender du den fulde messages-historik, inklusive tidligere tool_result-blokke. Modellen ræsonnerer ud fra det, disse blokke indeholder.

En genoptaget session indlæser blot den gemte historik igen. Hvis en Read hentede indholdet af en fil sidste tirsdag, tror modellen stadig på tirsdagens version i dag – også selvom filen er blevet ændret ti gange siden.

messages = [
    {"role": "user", "content": "Refactor the auth module"},
    {"role": "assistant", "content": [tool_use_read_authpy]},
    # tool_result below is a FROZEN snapshot from the prior session
    {"role": "user", "content": [tool_result_authpy_old]},
]
client.messages.create(model="claude-opus-4-1", max_tokens=2048, messages=messages, tools=tools)

Sådan ser forældet kontekst ud

Forældet kontekst opstår, når genoptagne værktøjsresultater ikke længere stemmer overens med virkeligheden. Almindelige udløsere er:

  • En kollega har redigeret de samme filer mellem sessionerne.
  • En migrering har ændret databaseskemaet, som modellen havde gemt.
  • En opgradering af en afhængighed har ændret en API, som modellen tidligere læste.
  • Et build-resultat eller testoutput, der blev gemt tidligere, er nu forældet.

Faren er, at modellen fortsætter selvsikkert ud fra forældede fakta og producerer ændringer, der er i konflikt med den aktuelle kodebase.

Genoptagelse kontra ny session

Du har to muligheder for at komme videre, når en session er blevet gammel:

  • --resume <name> fortsætter den navngivne session og afspiller hele den gemte historik.
  • fork_session opretter en gren fra et fælles punkt – nyttigt til at udforske et alternativ uden at forstyrre originalen.

Begge arver de gamle værktøjsresultater. Når kodebasen har ændret sig markant, er ingen af dem ideelle. Nogle gange er en ny session med en struktureret opsummering bedre end at genoptage, fordi det tvinger alle fakta til at blive hentet igen i forhold til den aktuelle virkelighed.

claude --resume refactor-auth     # replays old tool results
claude                            # fresh session, no stale snapshots

Den centrale beslutning

Stil ét spørgsmål: Har den faktiske grundlag ændret sig, siden sessionen blev gemt?

  • Lille eller ingen ændring (du holdt pause i en time, og ingen andre har rørt repositoriet) → --resume er fint og billigt.
  • Betydelig ændring (der er gået dage, fletninger er landet, skemaet er migreret) → start forfra, og opsummer målet igen. Lad derefter modellen hente aktuelle værktøjsresultater på ny.

Det er en beslutning om pålidelig kontexthåndtering – domæne D5 til eksamen.

Opsummer på ny, afspil ikke

"Opsummer på ny" betyder: før hensigten og beslutningerne videre, men fjern de fastfrosne værktøjsresultater, så de kan hentes igen. Skriv en kort, struktureret opsummering af opgavens status, og åbn derefter en ren session med opsummeringen som den indledende prompt.

Modellen kører derefter Read, Grep og Bash mod den aktuelle kodebase – uden et forældet øjebliksbillede, der kan vildlede den.

summary = """
GOAL: Finish refactoring auth to use the new TokenService.
DONE: Extracted TokenService; updated login() and logout().
TODO: Migrate refresh() and the 3 middleware call sites.
NOTE: schema migrated since last session — re-read current files before editing.
"""
messages = [{"role": "user", "content": summary + "\nRe-read the current files, then continue."}]

Bevar hårde fakta ordret

Progressiv opsummering medfører tab: den gør tal, procentdele og datoer upræcise. Når din opsummering skal bevare nøjagtige værdier – en fastlåst version, et antal rækker, en deadline eller et ordre-id – skal du ikke flette dem ind i brødteksten.

Flyt dem til en separat blok med "sagsfakta", der bevares ordret, uden for den fortællende opsummering. Opsummeringen kan komprimere historien; faktablokken forbliver nøjagtig.

case_facts = {
    "target_version": "TokenService 2.4.0",
    "affected_call_sites": 3,
    "migration_applied": "2026-06-09",
}
prompt = SUMMARY_PROSE + "\n\nCASE FACTS (verbatim, do not paraphrase):\n" + str(case_facts)

Hent på ny, før du redigerer

I en ny session er disciplinen enkel: undersøg, før du ændrer. Brug det trinvise mønster – Grep efter indgangspunkter, Read filerne, Grep efter anvendelser, og Read forbrugerne – så hver ændring er baseret på det aktuelle indhold.

Det er også grunden til, at Edit bruger en kontrakt om entydigt match: Hvis filen har ændret sig, og den forventede tekst ikke længere matcher entydigt, mislykkes ændringen tydeligt i stedet for at ødelægge filen. Kør Read igen, og prøv på ny.

# Fresh-session re-grounding before any change
# 1) Grep for the symbol
# 2) Read the current file
# 3) Edit with a unique match (fails loudly if the file drifted)

Forveksl ikke dette med /compact

/compact komprimerer den aktuelle samtale for at frigøre kontekstplads. Det er nyttigt, men medfører den samme risiko for tab: tal og datoer kan blive upræcise. Det løser ikke forældelse – de komprimerede fakta stammer stadig fra de oprindelige optagelser.

At starte forfra er anderledes: Du kasserer de gamle værktøjsresultater fuldstændigt og udleder dem igen live. Brug /compact til en lang, men stadig korrekt session; start forfra, når det underliggende system er kommet videre.

Underagenter arver aldrig historik

Denne lektion om forældelse minder om design til flere agenter. Underagenter arver ikke koordinatorens samtalehistorik – al kontekst skal overdrages eksplicit i hver underagents prompt.

Den samme praksis hjælper dig: Når du giver en ny session (eller en underagent) en struktureret opsummering plus en faktablok, der er ordret, gør du bevidst det, som genoptagelse gør utilsigtet – men du styrer præcis, hvilke fakta der overlever, og tvinger resten til at blive hentet live igen.

# Coordinator passes explicit, current context to each subagent
subagent_prompt = (
    "You are refactoring auth. Context summary:\n" + summary +
    "\nCASE FACTS:\n" + str(case_facts) +
    "\nRe-read the current files yourself; do not assume prior state."
)

En praktisk tjekliste

Udfør dette tjek, før du genoptager en forældet session:

  • Ændringer? Er repositoriet, skemaet eller afhængighederne ændret siden optagelsen? Hvis ja → hæld til en ny session.
  • Opsummer målet, de trufne beslutninger og de resterende TODO'er.
  • Bevar nøjagtige tal, datoer og id'er i en faktablok, der er ordret.
  • Hent på ny live: Grep → Read før enhver Edit.
  • Kontrollér mod den aktuelle tilstand, ikke den huskede.

Det er billigt at genoptage, når intet har flyttet sig; det er billig forsikring at starte forfra, når noget har.

Hurtigt tjek

Test din dømmekraft i beslutningen mellem genoptagelse og en ny session.

Opsummering

Vigtigste pointer:

  • Genoptagne sessioner afspiller fastfrosne værktøjsresultater, fordi modellen ikke har nogen tilstand og ræsonnerer ud fra hele den gemte historik.
  • Når systemet har ændret sig (fletninger, migreringer, opgraderinger af afhængigheder), er resultaterne forældede og kan føre til selvsikre, men forkerte ændringer.
  • Når ændringerne er betydelige, skal du starte forfra og opsummere på ny i stedet for at bruge --resume eller fork_session, som begge arver de gamle øjebliksbilleder.
  • Bevar nøjagtige tal, datoer og id'er i en ordret faktablok; opsummering gør dem upræcise.
  • Hent live på ny (Grep → Read), før du bruger Edit; /compact sparer plads, men fjerner ikke forældelsen.
Gratis at komme i gang

Lær Python med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
26
Lektioner
104

Ofte stillede spørgsmål

Er lektionen “Forældet kontekst og en ny start” gratis?

Ja — alle 3 lektioner i læringssporet Claude Architect, inklusive “Forældet kontekst og en ny start”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Claude Architect-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Forældet kontekst og en ny start”?

Når genoptagne værktøjsresultater er forældede, skal De opsummere på ny Du øver dig i Claude Architect med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Claude Architect?

Der kræves ingen tidligere erfaring. Claude Architect på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 4 af 4.

Hvor lang tid tager lektionen “Forældet kontekst og en ny start”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Claude Architect-lektion?

Ja. Alle Claude Architect-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Faste pipelines vs. adaptiv nedbrydning
  2. Nedbrydning i flere gennemløb
  3. Sessionshåndtering
  4. Forældet kontekst og en ny start
← Tilbage til Claude Architect