Přeskočit na obsah
Nástroje 3 min čtení

Ollama vypíná v Claude Code odpočet tokenů, protože jí rušil mezipaměť

Ollama posílá ve vývojové větvi Claude Code novou proměnnou prostředí, po které nástroj přestane do rozhovoru vkládat zprávu s počtem zbývajících tokenů. Ta se totiž při skládání promptu dostávala až na jeho začátek, takže se s každým dotazem změnil hned první kus textu a uložené mezivýsledky byly k ničemu. Za pět měsíců je to podruhé, co Ollama kvůli mezipaměti něco v Claude Code vypíná.

Paměťový modul DDR5 MRDIMM od SK Hynixu
Paměťový modul DDR5. Mezipaměť, o kterou tu jde, leží jinde – v paměti akcelerátoru, který model počítá. Foto: 4300streetcar, Wikimedia Commons (CC BY 4.0)

Do vývojové větve Ollamy přibyl 22. srpna commit, který přidává jeden řádek do kódu a jeden do testu. Vypíná v Claude Code jednu jedinou věc: systémovou zprávu s počtem zbývajících tokenů. Stačila na to proměnná prostředí CLAUDE_CODE_TOTAL_TOKENS_REMINDER nastavená na off, kterou Ollama nástroji předá při spuštění.

Zdůvodnění stojí v návrhu změny číslo 17918 a je celé dvouvěté: „Claude Code přidává po každém výsledku nástroje systémovou zprávu se zbývajícími tokeny. Protože Ollama systémové zprávy přesouvá na začátek promptu, rozbíjí to mezipaměť KV při každém dotazu.“ (přeloženo)

Proč zpráva z konce rozhovoru skončí na jeho začátku

Ollama neposílá modelu seznam zpráv, ale hotový text složený podle šablony daného modelu. Než šablonu spustí, projde rozhovor funkcí collate v souboru template/template.go: vybere obsah všech systémových zpráv bez ohledu na to, kde v rozhovoru leží, slepí je prázdným řádkem a předá šabloně jako jedinou proměnnou System.

Co s ní šablona udělá, záleží na modelu. Ta pro Command R, přibalená přímo v repozitáři, vypíše System jako úplně první blok promptu a systémové zprávy uvnitř rozhovoru pak přeskakuje. Zpráva, kterou klient připojil na konec po posledním volání nástroje, se tím ocitne na prvním místě.

Mezipaměť KV drží mezivýsledky pozornosti pro tokeny, které už server jednou spočítal. Použít se dají jen na tu část promptu, která je od prvního znaku stejná jako minule; první rozdíl znehodnotí všechno za sebou. Odpočet zbývajících tokenů se mění po každém kroku a sedí úplně vpředu, takže se opakovaně počítal celý prompt.

Podruhé za pět měsíců

Stejný soubor dostal totéž ošetření už 18. března 2026. Commit f622b0c5 přidal CLAUDE_CODE_ATTRIBUTION_HEADER=0 a jeho popis zní: „Claude Code posílá hlavičku x-anthropic-billing-header, která se mění při každém dotazu. Je součástí systémového promptu, a rozbíjí tím mezipaměť KV při každém dotazu. Vzhledem k velikosti promptů, které Claude Code používá, to má výrazný dopad na výkon.“ (přeloženo)

Jak velký ten dopad je, Ollama ani v jednom případě nečíslovala. Obě změny mají stejný tvar – jeden řádek v cmd/launch/claude.go – a obě vypínají něco, co dělá klient, ne model.

Proměnná, kterou reference nezná

Ollama nastavuje Claude Code dvanáct proměnných a u modelů běžících v jejím cloudu ještě třináctou s velikostí okna pro automatické zhuštění. Vedle adresy serveru a přihlašovacího tokenu jsou mezi nimi čtyři, které přesměrují všechny úrovně modelu na ten místní, a tři, které vypínají hlášení chyb, příkaz pro zpětnou vazbu a dotazník.

Dvanáct z nich reference proměnných prostředí Claude Code jmenuje. Jméno CLAUDE_CODE_TOTAL_TOKENS_REMINDER se v textu té stránky 23. srpna 2026 nevyskytovalo ani jednou; hledali jsme ho v jejím vykresleném obsahu i ve zdroji. Neznamená to, že proměnná nefunguje – Ollama ji používá právě proto, že funguje. Znamená to, že se o ní z dokumentace nedozvíte.

Zatím jen v kandidátu

Změna je ve vydání 0.33.0-rc2, které je na GitHubu označené jako předběžné. Poslední řádné vydání je 0.32.15 z 19. srpna a odpočet v něm dál běží. Kdo Ollamu instaluje obvyklou cestou, tuhle opravu zatím nemá.

Mezipaměti se v témž kandidátu týká víc věcí. Podle poznámek k vydání si zrušený prefill nově podrží všechny záchytné body, kterými prošel, takže se opakovaný dotaz rozjede tam, kde předchozí skončil. U modelů s rekurentními vrstvami prý dřív dotaz, který se s tím starým shodoval na 46 000 ze 47 000 tokenů, počítal znovu od nuly. To číslo je z poznámek k vydání, tedy z vlastního měření Ollamy; nikdo jiný ho zatím nezopakoval. O vydání dřív přestala Ollama číst metadata GGUF při každém dotazu.

Kdo si Claude Code spustí sám, nedostane ani jedno

Obě proměnné přidává jen ta část Ollamy, která Claude Code spouští za uživatele. V kódu se skládají do prostředí až tomu jednomu příkazu, který nástroj vyvolá. Kdo si adresu serveru nastaví ručně a napíše claude, dostane ho ve výchozím stavu – s hlavičkou i s odpočtem. V poznámkách k vydání to nikde nestojí a plyne to jedině ze zdrojového souboru.

Zdroje

Diskuse

Zatím tu nikdo nediskutuje. Můžete být první.

Napsat příspěvek

Diskutovat můžete i bez účtu. S registrací se ale příspěvek zveřejní hned a nemusíte pokaždé vyplňovat jméno. Účet už máte? Přihlaste se.

Nezveřejňujeme ho, slouží jen redakci.

Podporuje zápis Texy: **tučně**, *kurzíva*, odrážky, odkazy.

Dál k tématu

  1. Nástroje

    MCP chce nástroje odkrývat postupně, celý katalog už model číst nemá

    Nový plán protokolu MCP počítá s tím, že model nebude před každým úkolem číst úplné definice všech dostupných nástrojů. Má je vyhledávat a načítat postupně, podobně jako…

  2. Nástroje

    Laravel Tackle vynucuje omezení AI agenta přímo v PHP

    Balíček Laravel Tackle spouští programovacího agenta uvnitř aplikace. Cesty, příkazy a odhadovanou útratu omezuje přímo v PHP; čerstvá verze 1.27.3 navíc opravila…

  3. Nástroje

    Agent Canvas od OpenHands přepnul výchozí model na Kimi K3 a označil ho za bezplatný

    Vydání 1.14.0 rozhraní Agent Canvas změnilo výchozí jazykový model z GLM-5.2 na Kimi K3 a zařadilo ho mezi čtyři trasy, které nesou odznak „Free“. Co ta bezplatnost…

  4. Nástroje

    Vydání LiteLLM 1.96.1 vyčerpalo místo na PyPI a zbyly z něj na indexu čtyři soubory z 36

    Nahrávání vydání 1.96.1 se 11. srpna zastavilo po čtyřech souborech z 36, protože projektu došlo místo na PyPI. Názvy souborů jsou na indexu neměnné, takže ta verze…