Lyhyt versio
- Mallilla ei ole muistia pyyntöjen välillä. Jokainen vuoro lähettää koko keskustelun uudelleen, joten konteksti-ikkuna on kustannus, joka veloitetaan jokaisella kutsulla, ei paikka, jonka täytät kerran.
- Siksi istunnon kustannus kasvaa pituuden neliössä. Kehotteen välimuisti pudottaa hinnan noin kymmenesosaan mutta ei muuta käyrän muotoa.
- Korjaus on pienempi ikkuna, joka nollataan tarkoituksella: rajaa sen kasvu, tyhjennä useammin, poista käytetyt työkalutulosteet ja pidä raskas lukeminen tiedostoissa ja ala-agenteissa, joista se ei enää palaa.
Ikkuna on mittari, ei vetolaatikko
Useimmat kuvittelevat konteksti-ikkunan tallennustilaksi. Laitat sinne asioita, malli näkee ne, isompi ikkuna mahtuu enemmän. Kuva on väärä yhdellä tietyllä tavalla, ja se virhe on kallis.
Mallit ovat tilattomia. Toisessa päässä ei ole istuntoa, joka pitäisi keskusteluasi tallessa. Jokainen pyyntö lähettää koko historian uudelleen: järjestelmäkehotteen, jokaisen työkalun määritelmän, jokaisen tiedoston jonka agentti luki, jokaisen työkalutuloksen, jokaisen viestin jonka kumpi tahansa teistä kirjoitti. Malli lukee kaiken, vastaa ja unohtaa. Seuraava viestisi lähettää kaiken uudelleen, plus uuden osan.
Ikkuna ei siis ole vetolaatikko. Se on mittari, ja sen lukema jokaisella vuorolla on kaiken tähän mennessä kertyneen koko.
Laskutoimitus, jota kukaan ei tee etukäteen
Otetaan istunto, joka kasvaa noin 1 000 tokenia vuoroa kohden ja kestää 300 vuoroa. Sen konteksti kiipeää lähes nollasta 300 000 tokeniin, keskimäärin 150 000. Lähetetty syöte yhteensä: 300 kertaa 150 000, eli 45 miljoonaa tokenia, jotta saadaan 300 vuoroa työtä.
Annetaan nyt saman istunnon kasvaa kolme kertaa nopeammin, 900 000:een. Keskiarvo on 450 000, kokonaismäärä 135 miljoonaa, kolminkertainen lasku täsmälleen samoista 300 vuorosta.
Tällainen on ongelman muoto. Kustannus ei seuraa saatua työtä. Se seuraa sitä, kuinka kauan annat istunnon pyöriä, korotettuna neliöön. Jokainen lisäämäsi vuoro tekee jokaisesta tulevasta vuorosta kalliimman, minkä vuoksi pitkän istunnon viimeinen tunti voi maksaa enemmän kuin ensimmäiset neljä.
Rahassa, Claude Opus 5:n listahinnalla 5 dollaria miljoonalta syötetokenilta ja kun kaikki ensimmäisen vuoron jälkeen tarjoillaan välimuistista kymmenesosalla siitä: rajattu istunto maksaa noin 22 dollaria, rajaamaton noin 68 dollaria, samasta työstä. Tilauksella et näe dollareita, näet viikkorajan loppuvan aiemmin.
Välimuisti muuttaa hintaa, ei käyrää
Kehotteen välimuisti on syy siihen, että pitkät agentti-istunnot ovat ylipäänsä mahdollisia. Palveluntarjoaja pitää keskustelusi alkuosan lämpimänä ja veloittaa murto-osan sen uudelleenlukemisesta.
Anthropicin API:ssa kertoimet ovat 1,25x perushinnasta viiden minuutin välimuistiin kirjoittamiseen, 2x tunnin välimuistiin ja noin 0,1x lukemiseen. Viiden minuutin välimuistiin kirjoitus maksaa itsensä takaisin toisella pyynnöllä. Jokainen vakavasti otettava agenttialusta tekee tämän automaattisesti, ja se toimii: omien istuntojeni viiden viikon aikana 98 % kaikista syötetokeneista oli välimuistilukuja.
Katso tarkkaan, mitä välimuisti korjasi ja mitä ei. Se kertoi historiasi kustannuksen karkeasti kymmenesosalla. Se ei estänyt historiaa kasvamasta eikä estänyt sinua lukemasta sitä uudelleen joka vuorolla. Kymmenesosa 900 000 tokenista on 90 000 laskutettavaa syötetokenia kysymykselle, jonka olisit voinut esittää kahdellakymmenellä.
Välimuisti tekee ongelmasta kestettävän. Se tekee siitä myös näkymättömän, koska käyttökoontinäytön luku ei näytä koskaan yhtä hälyttävältä kuin todella liikkuvien tokenien määrä.
Mitä siellä oikeasti on
Kun istunto kasvaa suureksi, ihmiset olettavat sen olevan keskustelu. Yleensä se ei ole. Toimivassa agentti-istunnossa paino on neljässä paikassa.
Työkalujen määritelmät. Jokainen työkalu, jota agentti voi kutsua, kantaa nimen, kuvauksen ja täyden parametriskeeman, ja kaikki ladataan ennen kuin agentti tekee mitään. Yhdistä kuusi MCP-palvelinta, joissa on 25 työkalua kussakin, niin ikkunassa on 150 skeemaa jo ensimmäisellä vuorolla, ja suurinta osaa niistä ei koskaan kutsuta.
Tiedostoluvut. Agentti, joka lukee 2 000 rivin lähdetiedoston, on juuri lisännyt noin 25 000 tokenia jokaiseen istunnon tulevaan vuoroon. Se tarvitsi tiedoston kerran. Se kantaa sitä ikuisesti.
Työkalutuloste. Haku, joka palauttaa 200 tulosta, testiajo joka tulostaa koko lokinsa, API-kutsu joka palauttaa kokonaisen dokumentin. Agentti tarvitsi yleensä yhden rivin siitä. Kaikki jää.
Itse keskustelu. Myös ne osat, joissa agentti tutki umpikujaa, korjasi itseään ja jatkoi. Ne tokenit ovat yhä ikkunassa, ne luetaan yhä uudelleen ja ne muovaavat yhä seuraavaa vastausta.
Viimeinen kohta on tärkeä muutenkin kuin kustannusten kannalta. Ikkuna täynnä hylättyjä yrityksiä ja vanhentunutta tiedostosisältöä on myös ikkuna, josta olennaisen yksityiskohdan löytäminen on vaikeampaa. Konteksti on yhtä aikaa budjetti ja huomion ongelma.
Kolme tapaa kutistaa sitä
Tyhjentäminen. Aloita uusi istunto. Kaikki se, mitä kirjoitit muualle, säilyy; kaikki muu on poissa. Tämä on tylyin työkalu ja usein oikea. Yhden istunnon pitäminen elossa koko päivän siksi, että se “tuntee projektin”, on eniten maksava tapa.
Kontekstin muokkaus. Poista tiettyä aineistoa ja pidä muu sanasta sanaan, yleensä vanhat työkalutulokset kun ne on jo käytetty. Anthropicin API tarjoaa tämän suoraan kontekstinhallintastrategiana. Se on täsmällistä eikä vääristä jäljelle jäävää, joten siihen kannattaa tarttua ensimmäisenä, kun paino on raskasta työkalutulostetta eikä pitkää keskustelua.
Tiivistäminen. Tee historiasta yhteenveto ja jatka yhteenvedosta. Tätä useimmat koodausagentit tekevät automaattisesti, kun ikkuna täyttyy, ja se on ainoa vaihtoehto, joka rajaa istunnon kasvun lopettamatta sitä. Se pudottaa pois hyvin paljon.
Nämä ovat mediaaneja 67 todellisesta tiivistämisestä omissa istunnoissani. Jokainen kesti noin kolme minuuttia, ja sen jälkeen agentti luki uudelleen tiedostoja, jotka se oli jo nähnyt, lähes kaksinkertaisella aiemmalla tahdilla ja rakensi uudelleen sen, mitä yhteenveto hävitti. Vaihtokauppa kannattaa. Se on silti vaihtokauppa.
Neljäs vaihtoehto on parempi kuin kaikki kolme
Älä laita sitä ikkunaan alun perinkään.
Pidä kestävä tila tiedostoissa, jotka agentti voi lukea uudelleen tarvittaessa, keskustelun sijaan. Lähetä lukupainotteinen työ ala-agentille, jolla on oma lyhytikäinen kontekstinsa, niin sen lukemat kaksikymmentä tiedostoa eivät koskaan kosketa pääistuntoa. Lataa työkalut silloin kun niitä tarvitaan, älä kaikkia etukäteen.
Token, jota ei koskaan lisätä, on token, jota ei koskaan lueta uudelleen. Kaikki muu tällä sivulla on vahinkojen hallintaa tokenien osalta, jotka lisättiin.
Missä kynnyksen kuuluu olla
Jos agenttisi tiivistää automaattisesti, sillä on kynnys, ja oletusarvo on yleensä lähellä mallin koko ikkunaa. Se oletusarvo on kallis asetus, koska se antaa istuntosi viettää tuottavimmat tuntinsa kantaen suurinta mahdollista historiaa.
Sen laskeminen auttaa, mutta on olemassa lattia. Tiivistä liian hanakasti, niin maksat kolmen minuutin odotuksen ja uudelleentyön yhä uudelleen. Miljoonan kontekstin mallissa 250 000:n kynnys pakotti tiivistämisen 36 %:ssa pitkistä istunnoistani; 350 000 laukaisi sen vain 12 %:ssa ja sai talteen lähes saman säästön. Viiden viikon istuntojen aikana tulos oli 17 % vähemmän välimuistipainotettuja tokeneita samalle määrälle kehotteita ja noin puolet kustannuksista niissä pitkissä istunnoissa, joissa raja todella puri. Koko data on rinnakkaisartikkelissa .
Toimiva sääntö: aseta raja noin kolmannekseen mallisi ikkunasta ja säädä siitä. Tarpeeksi matala, ettei yksikään istunto vietä tunteja lähellä kattoa, tarpeeksi korkea, että tavallinen työ valmistuu keskeytymättä yhteenvedon takia.
Mittaa omasi
Mikään tästä ei vaadi uutta instrumentointia. Jokainen API-vastaus kantaa usage-objektin, jossa on neljä kenttää: input_tokens, cache_creation_input_tokens, cache_read_input_tokens ja output_tokens. Useimmat agenttialustat kirjoittavat ne jo istuntolokiin levylle.
Kaksi lukua kertoo lähes kaiken.
Välimuistipainotettu syöte kutsua kohden. Painota kentät sen mukaan, mitä ne maksavat: tuore syöte 1, välimuistiin kirjoitukset 1,25 tai 2, välimuistiluvut 0,1. Jos tämä nousee viikko viikolta, kun työkuormasi on vakio, istuntosi kasvavat ja maksat siitä.
Kontekstin huippu istuntoa kohden. Suurin yksittäinen kutsu kussakin istunnossa. Jos huiput ovat lähellä mallisi ikkunaa, olet löytänyt laskusi.
Raakat viikkosummat johtavat harhaan, koska kiireinen viikko päihittää hiljaisen viikon riippumatta siitä, mitä muutat. Jaa aina jollakin, joka edustaa työtä: valmiiksi saatettu tehtävä, kehote, API-kutsu.
Lue seuraavaksi
Konteksti-ikkuna on toistuva maksu, joka veloitetaan jokaisella vuorolla kaikesta, mitä siihen olet koskaan laittanut. Välimuisti leikkaa hintaa noin yhdeksänkymmentä prosenttia ja piilottaa kehityksen. Korjaus on pienempi ikkuna, joka nollataan tarkoituksella.
Mitatun version, jossa on viiden viikon istuntodata ja se yksi asetus joka tuotti suurimman osan säästöstä, löydät rinnakkaisartikkelista aiheesta agentin tokenien käytön leikkaaminen 17 %:lla .

