Föråldrad kontext och att börja om
När återupptagna verktygsresultat är inaktuella, sammanfatta på nytt.
Föråldrad kontext och att börja om är en gratis lektion i Claude Architect på CoddyKit. Detta är lektion 4 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för Claude Architect, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Claude Architect innehåller totalt 4 lektioner.
Återuppta en session
Claude Code låter dig fortsätta arbetet över flera dagar. --resume <name> öppnar en namngiven session igen med hela meddelandehistoriken intakt: instruktionerna, modellens resonemang och, framför allt, de verktygsresultat som sparades första gången.
Den återuppspelningen är kraftfull. Men den döljer en viktig fallgrop: verktygsresultaten är en ögonblicksbild av det förflutna, inte en aktuell vy av systemet. Den här lektionen handlar om att känna igen när ögonblicksbilden har blivit inaktuell och vad du kan göra i stället.
claude --resume refactor-authVarför historiken är fryst
Kom ihåg hur API:t fungerar: modellen har inget eget tillstånd. Varje gång du skickar något skickar du hela messages-historiken – inklusive tidigare tool_result-block. Modellen resonerar utifrån det som står i dessa block.
En återupptagen session läser helt enkelt in den sparade historiken igen. Om en Read hämtade innehållet i en fil förra tisdagen tror modellen fortfarande att tisdagens version gäller i dag – även om filen har ändrats tio gånger sedan dess.
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å ser inaktuell kontext ut
Kontexten är inaktuell när de återupptagna verktygsresultaten inte längre stämmer med verkligheten. Vanliga orsaker:
- En kollega redigerade samma filer mellan sessionerna.
- En migrering ändrade databasschemat som modellen hade sparat.
- En uppdatering av ett beroende ändrade ett API som modellen läste tidigare.
- Ett byggartefakt eller testresultat som sparades tidigare är nu föråldrat.
Risken är att modellen fortsätter självsäkert utifrån inaktuella fakta och skapar ändringar som strider mot den aktuella kodbasen.
Återuppta jämfört med ny session
Du har två sätt att återhämta dig när en session har blivit gammal:
--resume <name>fortsätter den namngivna sessionen och spelar upp hela den sparade historiken.fork_sessionskapar en gren från en gemensam punkt – användbart när du vill utforska ett alternativ utan att påverka originalet.
Båda ärver de gamla verktygsresultaten. När kodbasen har förändrats betydligt är inget av alternativen idealiskt. Ibland är en ny session med en strukturerad sammanfattning bättre än att återuppta, eftersom det tvingar fram en ny hämtning av alla fakta mot den aktuella verkligheten.
claude --resume refactor-auth # replays old tool results
claude # fresh session, no stale snapshotsDet centrala beslutet
Ställ en fråga: har den faktiska grunden ändrats sedan sessionen sparades?
- Små eller inga förändringar (du tog paus i en timme och ingen annan rörde repot) →
--resumefungerar bra och är kostnadseffektivt. - Betydande förändringar (flera dagar har gått, sammanslagningar har gjorts eller schemat har migrerats) → starta på nytt och sammanfatta målet igen. Låt sedan modellen hämta aktuella verktygsresultat på nytt.
Detta är ett tillförlitlighetsbeslut för kontexthantering – område D5 på provet.
Sammanfatta på nytt, spela inte upp
"Sammanfatta på nytt" betyder att du tar med avsikten och besluten, men tar bort de frysta verktygsresultaten så att de kan hämtas igen. Skriv en kort och strukturerad sammanfattning av uppgiftens aktuella läge och öppna sedan en ren session med sammanfattningen som första instruktion.
Modellen kör därefter Read, Grep och Bash mot den aktuella kodbasen – utan någon inaktuell ögonblicksbild som kan vilseleda 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."}]Bevara hårda fakta ordagrant
Stegvis sammanfattning innebär informationsförlust: den gör tal, procentsatser och datum vaga. När sammanfattningen måste bevara exakta värden – en versionslåsning, ett radantal, en tidsfrist eller ett order-ID – ska du inte skriva in dem i löptexten.
Flytta dem till ett separat "ärendefakta"-block som bevaras ordagrant, utanför den berättande sammanfattningen. Sammanfattningen kan komprimera berättelsen, medan faktablocket förblir exakt.
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)Hämta på nytt innan du redigerar
I en ny session är principen enkel: undersök innan du ändrar. Använd det inkrementella mönstret – Grep efter ingångspunkter, Read filerna, Grep efter användningar och Read användarna – så att varje ändring grundas på aktuellt innehåll.
Det är också därför Edit använder ett kontrakt med unik matchning: om filen har förändrats och den förväntade texten inte längre matchar unikt, misslyckas redigeringen tydligt i stället för att förstöra filen. Kör Read igen och försök på nytt.
# 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)Blanda inte ihop detta med /compact
/compact komprimerar den aktuella konversationen för att frigöra kontextutrymme. Det är användbart, men medför samma risk för informationsförlust: tal och datum kan bli vaga. Det löser inte problemet med inaktuell information – de komprimerade fakta kommer fortfarande från de ursprungliga hämtningarna.
Att börja på nytt är något annat: du förkastar de gamla verktygsresultaten helt och hämtar fram dem igen i realtid. Använd /compact för en lång men fortfarande korrekt session; börja på nytt när det underliggande systemet har förändrats.
Underagenter ärver aldrig historik
Den här lektionen om inaktuell information liknar design av system med flera agenter. Underagenter ärver inte koordinatorns konversationshistorik – all kontext måste skickas uttryckligen i varje underagents instruktion.
Samma noggrannhet hjälper dig: när du ger en ny session (eller en underagent) en strukturerad sammanfattning tillsammans med ett ordagrant faktablock gör du medvetet det som återupptagning gör av misstag – men du styr exakt vilka fakta som överlever och tvingar fram en ny hämtning av resten.
# 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 checklista
Innan du återupptar en inaktuell session, gå igenom detta kontrollsteg:
- Förändringar? Har repot, schemat eller beroendena ändrats sedan informationen sparades? Om ja → välj helst en ny session.
- Sammanfatta målet, fattade beslut och återstående TODO-punkter.
- Bevara exakta tal, datum och ID:n i ett ordagrant faktablock.
- Hämta på nytt i realtid: Grep → Read före alla Edit.
- Verifiera mot det aktuella tillståndet, inte det du minns.
Det är billigt att återuppta när inget har förändrats och billig försäkring att börja på nytt när det har gjort det.
Snabbkontroll
Pröva ditt omdöme i beslutet mellan att återuppta och börja på nytt.
Sammanfattning
Viktigaste slutsatserna:
- Återupptagna sessioner spelar upp frysta verktygsresultat eftersom modellen inte har något eget tillstånd och resonerar utifrån hela den sparade historiken.
- När systemet har förändrats (sammanslagningar, migreringar eller uppdateringar av beroenden) är resultaten inaktuella och kan leda till självsäkra men felaktiga ändringar.
- När förändringarna är betydande ska du börja på nytt och sammanfatta igen i stället för att använda
--resumeellerfork_session, eftersom båda ärver de gamla ögonblicksbilderna. - Bevara exakta tal, datum och ID:n i ett ordagrant faktablock för ärendet; sammanfattning gör dem vaga.
- Hämta aktuella data på nytt (Grep → Read) före alla Edit;
/compactsparar utrymme men botar inte inaktuell information.
Lär dig Python med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 26
- Lektioner
- 104
Vanliga frågor
Är lektionen ”Föråldrad kontext och att börja om” gratis?
Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Claude Architect, inklusive ”Föråldrad kontext och att börja om”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i Claude Architect innehåller totalt 4 lektioner.
Vad lär jag mig i ”Föråldrad kontext och att börja om”?
När återupptagna verktygsresultat är inaktuella, sammanfatta på nytt. Ni övar på Claude Architect med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig Claude Architect?
Du behöver inga förkunskaper. Utbildningen i Claude Architect på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 4 av 4.
Hur lång tid tar lektionen ”Föråldrad kontext och att börja om”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här Claude Architect-lektionen?
Ja. Varje Claude Architect-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Fasta pipelines kontra adaptiv dekomponering
- Dekomponering i flera pass
- Sessionshantering
- Föråldrad kontext och att börja om