Na blogu Anthropicu vyšel článek Lydie Hallie o tom, jak vést sezení v Claude Code, aby se tokeny neutrácely nazdařbůh. Mechanicky je napsaný dobře: co se počítá, proč, a kterými pohyby si to zdražíte. Přečetla jsem to dvakrát a napodruhé mi došlo, co tam chybí.
Číslo. Jakékoliv. Grafy jsou přímo v článku označené jako ilustrativní, bez reálných dat. Text o nákladech, ve kterém není jediné měření.
Přitom Anthropic ta čísla má. Leží o dvě kliknutí dál, v dokumentaci na code.claude.com/docs/en/costs: napříč podnikovými nasazeními vychází průměr kolem třinácti dolarů na vývojáře a aktivní den, 150 až 250 dolarů měsíčně, a devadesát procent uživatelů zůstane pod třiceti dolary za den. Blogpost na tu stránku neodkazuje ani jednou.
Mechanika za převyprávění stojí, takže začnu tam. Připomínám, že tato mechanika je určená pro platby za využití API, ale ve skutečnosti i paušální tarify Pro a Max interně tuto mechaniku používají. Jen není veřejně vidět.
Tři násobiče
Platí se za inferenci, tedy za čas, po který GPU běží nad vašimi tokeny. Cenu jednoho tokenu určuje model, směr a stav cache.
Model násobí všechno ostatní, takže volba Opusu proti Sonnetu je násobič ceny každé další rady.
Směr rozhoduje víc, než by člověk čekal. Požadavek jde přes GPU dvakrát. Při prefillu model přečte systémový prompt, CLAUDE.md, vaši zprávu a všechno, co se do konverzace nasypalo cestou. To jsou vstupní tokeny a zpracují se najednou. Při decode model píše, a píše po jednom tokenu: dvousettokenová odpověď znamená dvě stě průchodů modelem za sebou. Výstup proto stojí zhruba pětinásobek vstupu. V ceníku ten poměr sedí do puntíku: Opus 5 je 5/25 dolarů za milion tokenů, Sonnet 5 dočasně 2/10, Haiku 4.5 1/5, Fable 5 10/50.
Myšlení se účtuje jako výstup a výchozí rozpočet umí být podle dokumentace desítky tisíc tokenů na jeden požadavek. Řídí ho /effort. Blogpost k tomu doporučuje MAX_THINKING_TOKENS=0, což myšlení vypne, ale dokumentace dodává podstatné upřesnění: modely s adaptivním uvažováním nenulový rozpočet ignorují, takže tam vám zbývá jen /effort. Na Fable 5 se myšlení nevypíná vůbec.
Cache je zbytek příběhu. Když požadavek začíná přesně stejnými tokeny jako ten předchozí, server stav načte místo aby ho počítal. Čtení stojí desetinu vstupní ceny, zápis 1,25násobek při pětiminutové platnosti a dvojnásobek při hodinové. Zápis proběhne jednou, levná čtení pak při každém dalším tahu.
Kde se cache rozbije
Cache musí sedět od úplného začátku požadavku. Pořadí je vždycky stejné: definice toolů, systémový prompt, konverzace s CLAUDE.md v čele. Cokoliv sáhne na prefix, znamená nový prefill celé konverzace za plnou cenu.
Nejzrádnější položka na tom seznamu je opusplan. Přepíná model při každém vstupu do plánovacího režimu a při každém výstupu z něj, a každý model má vlastní cache. Kdo jede opusplan a plánuje často, platí ten přechod pokaždé. Vedle toho /effort a fast mode, které jsou taky součástí klíče. U fast mode se navíc nový prefill účtuje sazbou fast mode, takže zapínat na začátku sezení.
/compact konverzaci nahradí kratší, takže za ním nesedí nic. Sepsání shrnutí je levné, dokud je stará konverzace ještě v cache. Po hodinové pauze stojí násobně víc.
A pak čas. Tady blogpost zjednodušuje. Píše, že cache vydrží hodinu na předplatném a pět minut na API klíči. Dokumentace k tomu přidává větu, kterou blogpost nemá: ta hodina spadne na pět minut ve chvíli, kdy začnete čerpat usage credits. Tedy přesně tehdy, když už platíte nad rámec plánu. Hodinu si na kreditech udržíte přes ENABLE_PROMPT_CACHING_1H=1.
/rewind odřízne posledních pár tahů a nechá všechno před nimi v cache, takže nestojí nic navíc. /clear podle dokumentace nestojí taky nic. Platí se za /compact, protože ten konverzaci, kterou shrnuje, musí přečíst.
Co se hromadí v kontextu
Nic se neposílá jednou. Soubor, který Claude přečetl, i výstup příkazu, který spustil, letí znovu při každém dalším tahu do konce sezení. Levně, protože z cache. A pořád to zabírá místo, které model při každém tahu obchází.
Odsud plyne většina praktických rad. Soubory připojujte @-mentionem: Claude Code je připojí ke zprávě ještě před odesláním, takže odpadá volání Read. Zmínit stačí jednou za konverzaci, protože další @-mention obvykle připojí druhou kopii. Zadání „padají testy” znamená grep a několik otevřených souborů, než se přijde na ten správný, a všechny ty výsledky v kontextu zůstanou dávno poté, co dosloužily.
Ukecané příkazy jsou druhá polovina problému. Výstupy nad 30 000 znaků Claude Code odloží do souboru a do konverzace dá jen náhled a cestu. Škodí všechno pod tou hranicí. Test runner, který vypíše 400 řádků úspěšných testů, se do limitu pohodlně vejde a těch 400 řádků je pak součástí každého zbývajícího tahu.
Blogpost tady mlhavě odkazuje na „malý hook v dokumentaci”. Ten hook existuje, je to PreToolUse matcher na Bash, který před spuštěním přepíše npm test na variantu profiltrovanou grepem, a dokumentace ho má i s kódem. Vedle toho stojí za pozornost tvrdý limit, který blogpost taky nemá: CLAUDE.md udržujte pod dvěma sty řádky.
Měřák, o kterém se blogpost nezmíní
Tohle je moje hlavní výhrada. Celý ten text vás učí disciplínu, kterou nemáte jak ověřit, a přitom nástroj měřák má.
Příkaz /usage na plánech Pro, Max, Team a Enterprise ukáže rozpad toho, co vám ukrajuje z limitů. Atribuci podle skills, subagentů, pluginů a jednotlivých MCP serverů, každý jako procento z celku. A takzvané behavior flags, které označí chování, jakmile má na vaší nedávné spotřebě podíl deset procent a víc. Dvě položky, které se tam flagují jmenovitě: dlouhý kontext a minutí cache. Klávesami d a w přepnete mezi posledními 24 hodinami a týdnem.
Jinými slovy: Claude Code umí říct „třetinu limitu ti sežraly cache misses” a blogpost o tom, jak nemíjet cache, tuhle obrazovku nezmíní ani jednou.
K tomu /insights, který projde až dvě stě lokálních sezení a vysype HTML report do ~/.claude/usage-data/report.html. Data leží v JSONL souborech pod ~/.claude/projects/ bez ohledu na plán, takže je čte i komunitní ccusage a několik dalších nástrojů. Ty komunitní nástroje vznikly přesně kvůli téhle díře: předplatitelé viděli, že jim došel limit, a nevěděli proč.
Co v blogpostu není vůbec
Agent teams. Dokumentace uvádí, že spotřebují zhruba sedmkrát víc tokenů než běžné sezení, když teammates běží v plánovacím režimu, protože každý má vlastní kontextové okno. To je jediné tvrdé číslo v celé té oblasti a zároveň největší násobič, jaký si můžete pořídit jedním nastavením. V textu o šetření tokeny nepadne.
Deferred MCP. Blogpost radí vypnout nepotřebné MCP servery přes /mcp, protože jejich definice zabírají kontext. Dokumentace ovšem říká, že definice toolů jsou dnes deferred by default a do kontextu vstupují jen jména, dokud Claude některý tool nepoužije. Rada tím pádem míří na problém, který je z větší části vyřešený. Co platí dál: CLI nástroje jako gh nebo aws jsou kontextově levnější než MCP server, protože nepřidávají žádný výpis toolů.
Plánovací režim jako úspora. Dokumentace ho doporučuje u složitých úloh, protože zabrání drahému přepisování, když se práce rozjede špatným směrem. Blogpost plánovací režim zmiňuje jen jako pachatele cache missů u opusplanu.
Kromě toho tam chybí scheduled tasks a cross-session messaging, které odpalují plný tah i do nečinného sezení, a nabídka „resume from a summary”, kterou Claude Code na Pro a Max plánech vytáhne, když se vracíte k velkému sezení po delší pauze.
Co dělat teď a na co si ještě počkat
Prakticky beze změny platí: /clear mezi nesouvisejícími úkoly, model a effort nastavené na začátku sezení, soubory @-mentionem, denní příkazy s tichými přepínači v CLAUDE.md, /compact před pauzou od klávesnice a ne po ní. Nic z toho není objev a všechno to funguje.
Kde bych se od blogpostu odchýlila, je pořadí. Spusťte /usage a přepněte na týdenní pohled. Uvidíte, jestli vám limity ubývají kvůli dlouhému kontextu, cache missům, nebo nějakému MCP serveru, na který jste zapomněli. Teprve pak má smysl vybírat, kterou radu nasadit. Optimalizovat naslepo podle cizího seznamu je práce, kterou si můžete ušetřit.
Počkat si stojí za jedním: jak dlouho ta čísla vydrží. Atribuce podle MCP serverů byla do verze 2.1.222 nadhodnocená, /usage do 2.1.211 sčítal napříč /clear, hranice 30 000 znaků je konfigurovatelná výchozí hodnota. Berte to celé jako snímek srpna 2026 a před citováním si ověřte verzi přes claude --version.
Zdroje: Lydia Hallie, Maximizing the value of your Claude Code sessions, blog Anthropicu, 14. 8. 2026. Dokumentace Claude Code, Manage costs effectively, code.claude.com/docs/en/costs. Ceník Anthropic API.