Jokainen Claude Coden sessio alkaa tyhjästä kontekstista. Claude ei muista eilistä keskustelua, ellei jokin tuo sitä mukaan. Samalla kaikki, mitä session aikana tapahtuu, kertyy kontekstiin: luetut tiedostot, komentojen tulosteet ja Clauden omat vastaukset.
Näistä kahdesta asiasta syntyy suurin osa arjen ongelmista. Claude unohtaa jotain, minkä sanoit tunti sitten. Tai sessio paisuu niin isoksi, että jokainen kysymys maksaa koko päivän historian verran. Tässä oppaassa käydään läpi, mitä kontekstiin oikeasti latautuu, miten /clear ja /compact eroavat ja miten CLAUDE.md-tiedostot ja auto memory kantavat tietoa sessiosta toiseen.
Mikä on konteksti Claude Codessa?
Konteksti-ikkuna on kaikki, mitä Claude tietää sessiosta juuri nyt. Siihen kuuluvat ohjeesi, tiedostot joita Claude on lukenut, sen omat vastaukset ja myös sisältö, joka ei koskaan näy terminaalissa.
Osa latautuu ennen kuin kirjoitat mitään:
- CLAUDE.md-tiedostot (tai AGENTS.md, jos repositoriossa ei ole CLAUDE.md:tä)
- Auto memory, eli Clauden itse kirjoittamat muistiinpanot
- MCP-työkalujen nimet, eivät koko määrittelyt
- Skillien kuvaukset, eivät koko sisältö
Työn aikana kontekstiin tulee lisää. Jokainen luettu tiedosto lisää sitä. Polkukohtaiset säännöt latautuvat, kun Claude koskee niihin täsmääviin tiedostoihin. Hookien tulosteet ja komentojen tulosteet päätyvät nekin kontekstiin.
Olennaista on tämä: Claude Code lähettää koko keskustelun jokaisen pyynnön mukana. Jos sessiossa on ehtinyt olla kolme erillistä tehtävää, neljännen tehtävän jokainen kierros lukee myös kolmen edellisen historian. Välimuisti tekee tästä halvempaa, mutta ei ilmaista.
Useat nykyiset mallit tukevat miljoonan tokenin konteksti-ikkunaa, ja saatavuus riippuu tilauksesta. Isossa ikkunassa tila loppuu harvoin, mutta turhasta historiasta maksat silti.
Katso oma tilanteesi: /context ja /usage
Ennen kuin alat optimoida, katso mitä sessiossa oikeasti on. Kaksi komentoa riittää:
/context
/context all
/usage
/context näyttää kontekstin käytön värillisenä ruudukkona luokittain. Se antaa myös ehdotuksia, jos jokin työkalu vie paljon tilaa tai muistitiedostot ovat paisuneet. /context all listaa lisäksi otsikon Memory files alla kaikki CLAUDE.md- ja muistitiedostot, jotka latautuivat. Tämä on nopein tapa tarkistaa, näkeekö Claude ylipäätään ohjeesi.
/usage näyttää session kulut, tilauksen käyttörajat ja aktiivisuuden. Pro-, Max-, Ultra-, Team- ja Enterprise-tilauksissa se erittelee käytön skillien, subagenttien, pluginien ja MCP-palvelimien mukaan. Se myös huomauttaa, jos esimerkiksi pitkä konteksti tai välimuistin ohitukset vievät yli 10 % käytöstäsi. /cost on saman komennon alias.
/clear vai /compact: kumpi ja milloin
Näistä kahdesta komennosta on eniten hyötyä, ja ne sekoitetaan usein keskenään.
/clear: uusi tehtävä, tyhjä pöytä
/clear aloittaa uuden keskustelun tyhjällä kontekstilla. Vanha keskustelu ei katoa, vaan siihen pääsee takaisin komennolla /resume. Komennolla on myös aliakset /reset ja /new.
Käytä sitä aina, kun vaihdat kokonaan eri tehtävään. Kirjautumisbugin jälkeen et tarvitse sen historiaa, kun alat kirjoittaa sähköpostipohjia. Hyvä tapa on antaa vanhalle keskustelulle nimi samalla:
/clear kirjautumisbugi
Nyt löydät sen /resume-listasta nimellä. /clear ei maksa mitään.
Toinen hyvä hetki on epäonnistunut korjaus. Jos olet korjannut samaa asiaa kahdesti ja se on yhä väärin, kolmas korjaus lisää vain keskusteluun kolmannen epäonnistuneen yrityksen. Claude Coden dokumentaatio suosittelee silloin /clear ja yhtä uutta, parempaa promptia, johon kirjoitat sen, mitä opit.
/compact: sama tehtävä, kevyempi historia
/compact tiivistää keskustelun tähänastisen osan ja jatkaa samaa keskustelua. Sille voi antaa ohjeen siitä, mitä tiivistelmän pitää säilyttää:
/compact keskity API-muutoksiin ja testikomentoihin
Ilman ohjetta Claude arvaa itse, mikä on tärkeää. Ohjeen kanssa tiivistelmä pitää sen, minkä sinä valitset. Tee näin erityisesti ennen kuin aloitat pitkän uuden vaiheen samassa tehtävässä.
Yksi asia kannattaa tietää: /compact lukee koko keskustelun tiivistääkseen sen. Pitkässä sessiossa se on siis itsessään iso pyyntö, varsinkin jos välimuisti on jo vanhentunut. Jos et tarvitse historiaa ollenkaan, /clear on halvempi.
Automaattinen tiivistys
Claude Code tiivistää keskustelun automaattisesti, kun konteksti lähestyy rajaa, joten täysi ikkuna ei lopeta sessiota. Rajan voi säätää komennolla /autocompact:
/autocompact 500k
Arvo auto palauttaa mallille viritetyn oletuksen. Asetus tallentuu käyttäjän asetuksiin.
Osittainen tiivistys /rewind-komennolla
/rewind (tai Esc kahdesti tyhjässä kehotteessa) avaa valikon, jossa voit palauttaa koodin, keskustelun tai molemmat aiempaan kohtaan. Samasta valikosta voi valita viestin ja tiivistää vain osan keskustelusta valinnoilla Summarize from here tai Summarize up to here. Se on hyvä silloin, kun keskustelun alku on yhä olennainen mutta loppu on vanhentunut.
Huomaa, että tarkistuspisteet kattavat vain tiedostot, joita Claude muokkasi omilla muokkaustyökaluillaan. Pelkällä Bash-komennolla muutettua tiedostoa ei palauteta. Git on edelleen varsinainen turvaverkko.
Mitä tiivistyksen jälkeen jää
Moni pelkää, että /compact vie ohjeet mukanaan. Osa jää, osa ei:
| Asia | Tiivistyksen jälkeen |
|---|---|
Projektin juuren CLAUDE.md ja säännöt ilman paths-kenttää | Luetaan uudelleen levyltä |
| Auto memory | Luetaan uudelleen levyltä |
| Plan moden suunnitelma | Luetaan uudelleen levyltä |
| Alikansioiden CLAUDE.md-tiedostot | Latautuvat taas tarpeen mukaan |
Säännöt, joissa on paths-kenttä | Latautuvat taas tarpeen mukaan |
| Luetut ja muokatut tiedostot | Enintään viisi viimeksi muokattua luetaan uudelleen |
| Käytettyjen skillien sisältö | Palautetaan, enintään 5 000 tokenia skilliä kohden ja 25 000 yhteensä |
| Keskustelussa annetut ohjeet | Tiivistyvät muun keskustelun mukana |
Viimeinen rivi on se, joka yllättää. Jos sanoit keskustelun alussa "älä koske migraatioihin" etkä kirjoittanut sitä mihinkään tiedostoon, ohje voi kadota tiivistelmässä. Pysyvät säännöt kuuluvat CLAUDE.md-tiedostoon.
Tiivistyksen voi myös ohjata pysyvästi. Lisää projektin juuren CLAUDE.md-tiedostoon oma osio:
# Compact instructions
Tiivistäessäsi säilytä testien tulokset ja koodimuutokset.
CLAUDE.md-hierarkia: mikä tiedosto latautuu mistä
CLAUDE.md on Markdown-tiedosto, jonka Claude lukee session alussa. Niitä voi olla useassa paikassa, ja jokaisella on oma laajuutensa:
| Taso | Sijainti | Kenelle |
|---|---|---|
| Organisaatio | macOS: /Library/Application Support/ClaudeCode/CLAUDE.md, Linux ja WSL: /etc/claude-code/CLAUDE.md | Kaikille organisaation käyttäjille |
| Käyttäjä | ~/.claude/CLAUDE.md | Vain sinulle, kaikissa projekteissa |
| Projekti | ./CLAUDE.md tai ./.claude/CLAUDE.md | Tiimille versionhallinnan kautta |
| Paikallinen | ./CLAUDE.local.md | Vain sinulle, tässä projektissa |
Tiedostot eivät korvaa toisiaan, vaan ne liitetään kontekstiin peräkkäin. Järjestys kulkee laajimmasta tarkimpaan, eli projektin ohje tulee käyttäjän ohjeen jälkeen. Hakemistopuussa sisältö järjestetään juuresta työkansioosi päin, joten käynnistyskansiota lähimpänä olevat ohjeet luetaan viimeisinä. Samassa kansiossa CLAUDE.local.md tulee CLAUDE.md:n perään.
Alikansiot toimivat eri tavalla. Työkansion alla olevat CLAUDE.md-tiedostot eivät lataudu käynnistyksessä, vaan vasta kun Claude lukee, kirjoittaa tai muokkaa jotain tiedostoa siinä alikansiossa. Monorepossa tämä on hyvä asia: frontendin ohjeet eivät vie tilaa, kun teet backendiä.
Muutama käytännön asia:
CLAUDE.local.mdgitignoreen. Se on henkilökohtaisille asioille, kuten oman testiympäristösi osoitteille.- Importit
@-syntaksilla.See @README for project overviewtuo README:n kontekstiin. Importit auttavat järjestämään, mutta eivät säästä tilaa, koska tuotu tiedosto latautuu yhdessä CLAUDE.md:n kanssa. - HTML-kommentit poistetaan. Lohkotason HTML-kommentit poistetaan ennen kuin sisältö menee kontekstiin. Niihin voi jättää ihmisille tarkoitettuja huomioita ilman, että ne maksavat tokeneita.
/inittekee pohjan. Se analysoi koodin ja kirjoittaa CLAUDE.md:n, jossa on build- ja testikomennot ja löydetyt käytännöt. Siitä eteenpäin työ on lähinnä rivien poistamista.
Mitä tiedostoon kannattaa kirjoittaa, on käyty läpi tarkemmin oppaassa miten kirjoittaa hyvä CLAUDE.md. Lyhyt versio: kirjoita vain se, mitä Claude ei voi päätellä koodista. Esimerkiksi tällainen tiedosto riittää monelle projektille:
# Komennot
- Asennus: pnpm install
- Yksi testitiedosto: pnpm vitest run polku/tiedostoon.test.ts
- Tyyppitarkistus: pnpm tsc --noEmit
# Käytännöt
- Käytä virheapufunktioita tiedostosta src/lib/errors.ts, älä heitä pelkkiä merkkijonoja
- src/legacy/ on yhä käytössä, mutta älä kopioi sen malleja uuteen koodiin
# Sudenkuopat
- Integraatiotestit tarvitsevat DATABASE_URL-muuttujan, katso .env.example
Kuinka pitkä CLAUDE.md saa olla
Dokumentaation suositus on alle 200 riviä tiedostoa kohden. Jokainen rivi vie vähän Clauden huomiota jokaisessa tehtävässä, liittyi se tehtävään tai ei. Pitkä tiedosto vie enemmän kontekstia ja heikentää noudattamista.
Jos tiedosto on paisunut, /doctor ehdottaa poistettavaksi asioita, jotka Claude voi päätellä koodista itse, kuten kansiorakenteita ja riippuvuuslistoja. /doctor prompt-audit etsii vanhentuneita, keskenään ristiriitaisia ja olemattomiin tiedostoihin viittaavia ohjeita.
Polkukohtaiset säännöt .claude/rules-kansiossa
Kun ohje koskee vain osaa koodista, sitä ei kannata pitää CLAUDE.md:ssä. Tee siitä sääntö kansioon .claude/rules/ ja rajaa se poluilla:
---
paths:
- "src/api/**/*.ts"
---
# API-säännöt
- Jokaisessa endpointissa on syötteen validointi
- Käytä yhteistä virhevastauksen muotoa
Tämä sääntö latautuu vasta, kun Claude lukee tai muokkaa tiedostoa, joka täsmää polkuun src/api/**/*.ts. Säännöt ilman paths-kenttää latautuvat käynnistyksessä samalla painoarvolla kuin .claude/CLAUDE.md.
Muista tiivistyksen erikoisuus: polkukohtaiset säännöt latautuvat viestihistoriaan, joten tiivistys vie ne muun mukana. Ne palaavat, kun Claude koskee taas täsmäävään tiedostoon. Jos säännön on pakko pysyä aina mukana, poista siitä paths-kenttä tai siirrä se juuren CLAUDE.md:hen.
Monivaiheiset menettelyt, kuten julkaisu tai tietokantamigraatio, sopivat paremmin skilleiksi. Skillin koko sisältö latautuu vasta, kun sitä käytetään. Lisää aiheesta skillien oppaassa.
Auto memory: muistiinpanot, jotka Claude kirjoittaa itse
CLAUDE.md on sinun kirjoittamasi. Auto memory on toinen järjestelmä, jossa Claude kirjoittaa muistiinpanot itse. Se tallentaa neljää lajia asioita:
user: roolisi, osaamisesi ja työtapasifeedback: korjaukset, joita annat, ja tavat, jotka hyväksytproject: käynnissä oleva työ, aikataulut ja päätökset, joita ei näe koodistareference: mistä löytyy tietoa projektin ulkopuolelta, esimerkiksi tikettijärjestelmä
Claude ei tallenna asioita, jotka voi päätellä koodista, eikä asioita, jotka CLAUDE.md jo kertoo. Se ei myöskään tallenna jotain joka kerta, vaan vain silloin, kun tiedosta olisi hyötyä myöhemmin.
Muistiinpanot ovat kansiossa ~/.claude/projects/projekti/memory/. Kansio määräytyy git-repositorion mukaan, joten saman repositorion kaikki worktreet ja alikansiot jakavat saman muistin. Rinnakkaisista sessioista lisää worktree-oppaassa. Muisti on konekohtainen eikä siirry koneelta toiselle.
Kansiossa on sisällysluettelona toimiva MEMORY.md ja yksi tiedosto kutakin muistiinpanoa kohden. MEMORY.md:n ensimmäiset 200 riviä tai 25 kt, kumpi tahansa tulee ensin, ladataan jokaisen session alussa. Yksittäiset aihetiedostot Claude lukee vasta, kun tarvitsee niitä.
Jos haluat Clauden muistavan jotain, sano se suoraan: "muista, että tässä projektissa käytetään pnpm:ää". Se menee auto memoryyn. Jos haluat sen CLAUDE.md:hen, pyydä "lisää tämä CLAUDE.md:hen" tai muokkaa tiedostoa itse.
Auto memory on oletuksena päällä paikallisissa sessioissa. Hallinta tapahtuu /memory-komennolla. Se listaa CLAUDE.md-tiedostosi, avaa ne editoriin, näyttää muistikansion ja siinä on kytkin, jolla auto memoryn saa päälle tai pois. Yhdessä projektissa sen saa pois projektin asetuksilla:
{
"autoMemoryEnabled": false
}
Kaikki muistiinpanot ovat tavallista Markdownia, joten voit lukea, korjata ja poistaa niitä vapaasti.
Kun Claude ei noudata CLAUDE.md:tä
Tämä on yleisin turhautuminen, ja syy on yleensä sama. Claude käsittelee CLAUDE.md:tä kontekstina, ei pakottavana asetuksena. Sisältö toimitetaan käyttäjäviestinä järjestelmäkehotteen jälkeen. Claude yrittää noudattaa sitä, mutta varmaa se ei ole, varsinkaan epämääräisten tai ristiriitaisten ohjeiden kohdalla.
Tarkistuslista:
- Latautuiko tiedosto? Aja
/context allja katso otsikon Memory files alla oleva lista. Alikansion CLAUDE.md ei näy siinä, koska se latautuu vasta tarpeen mukaan. - Onko ohje tarkka? "Käytä kahden välilyönnin sisennystä" toimii paremmin kuin "muotoile koodi siististi".
- Onko ristiriitoja? Jos kaksi tiedostoa ohjeistaa samaa asiaa eri tavalla, Claude voi valita kumman tahansa.
- Onko tiedosto liian pitkä? Ohje voi hukkua joukkoon. IMPORTANT-sanan lisääminen ei yleensä auta.
Jos sääntö ei saa koskaan joustaa, se ei kuulu CLAUDE.md:hen ollenkaan. Esimerkiksi "aja testit ennen jokaista committia" toimii luotettavasti vain hookina, joka ajetaan joka kerta riippumatta siitä, mitä Claude päättää. Hookien teosta kertoo hookien opas.
Näin pidät session kevyenä
Kun perusteet ovat selvät, kevyt sessio on lähinnä tapoja:
/cleartehtävien välillä. Nimeä vanha keskustelu samalla, niin löydät sen.- Anna subagentin lukea isot asiat. Subagentti tekee työnsä omassa kontekstissaan, ja sinulle palaa vain yhteenveto. Testiajot, lokit ja dokumentaation haku ovat hyviä ehdokkaita.
- Siirrä erityisohjeet skilleihin. Skill latautuu vasta käytettäessä, CLAUDE.md joka kerta.
- Kytke käyttämättömät MCP-palvelimet pois.
/mcpnäyttää palvelimet. Komentorivityökalut kutenghovat usein kevyempiä kuin MCP-palvelin. Lisää MCP-oppaassa. - Kirjoita tarkka prompt. "Paranna tätä koodia" saa Clauden lukemaan laajasti. "Lisää syötteen validointi kirjautumisfunktioon tiedostossa auth.ts" pitää lukemisen pienenä.
- Sivukysymys
/btw-komennolla. Se vastaa nopeaan kysymykseen lisäämättä mitään keskusteluhistoriaan. - Pysäytä ajoissa. Esc keskeyttää Clauden heti, kun se lähtee väärään suuntaan, ja kaikki siihen asti tehty säilyy.
Taukojen vaikutus kannattaa tuntea. Välimuisti kestää tilauksella noin tunnin ja API-avaimella noin viisi minuuttia. Tauon jälkeinen ensimmäinen viesti lukee koko kontekstin uudelleen täydellä hinnalla. Jos lounaan jälkeen aloitat uuden tehtävän, uusi sessio on halvempi kuin vanhan jatkaminen.
Esimerkki: yksi päivä, kolme tehtävää
Näin edellä kuvatut asiat näkyvät tavallisena työpäivänä. Aamulla korjaat lomakkeen validointibugin. Annat tarkan promptin, Claude korjaa ja ajaa testit. Valmis.
/clear lomakebugi
Seuraavaksi iso tehtävä: maksuintegraation refaktorointi. Aloitat plan modessa, hyväksyt suunnitelman ja annat Clauden tehdä. Parin tunnin jälkeen /context näyttää, että historia on kasvanut isoksi ja siinä on paljon vanhoja testitulosteita. Tehtävä on kesken, joten tyhjentäminen olisi väärä valinta:
/compact säilytä refaktoroinnin suunnitelma, jäljellä olevat vaiheet ja testikomennot
Iltapäivällä huomaat, että Claude käyttää yhä vanhaa virheapufunktiota, vaikka korjasit sen aamulla. Korjaus oli pelkästään keskustelussa ja katosi /clear-komennon mukana. Pyydät Claudea lisäämään säännön CLAUDE.md:hen, jolloin se on mukana jokaisessa sessiossa tästä eteenpäin.
Yhteenveto
Konteksti on Clauden työmuisti yhden session ajan, ja CLAUDE.md sekä auto memory ovat sen pitkäkestoinen muisti. /clear vaihtaa tehtävää ilmaiseksi, /compact keventää käynnissä olevaa tehtävää, ja /context kertoo, mistä tila koostuu. Pysyvät ohjeet kirjoitetaan tiedostoon, ja ehdottomat säännöt hookeiksi.
Aloita ajamalla /context all nykyisessä projektissasi. Katso, mitkä tiedostot latautuvat ja kuinka paljon tilaa ne vievät. Siitä näet nopeasti, mitä kannattaa karsia. Lisää arjen niksejä löytyy Claude Coden käytännön vinkeistä ja koko työkalun perusteet Claude Coden oppaasta.
Kaikki Claude Code -oppaat asennuksesta laajennuksiin on aiheittain Claude Code -oppaiden sivulla.