AIDive

Pakiet do filmu

Cięcie limitu Claude Code: zmierzone dźwignie, tabele cache i lista kontrolna

10 min czytania

TL;DR

  • Tygodniowy limit Claude Code przeszedł z bazy 100 na poziom promocyjny 150, a 14 września 2026 ustabilizował się na stałym poziomie 125. Względem poziomu promocyjnego to cięcie o 17%, względem dawnej bazy podwyżka o 25%. Oba zdania są prawdziwe jednocześnie.
  • W miesiącu lokalnych logów subagenty zużyły 48,1% wszystkich tokenów i 55,3% kosztu ważonego. Największa dźwignia to uruchamianie mniejszej liczby subagentów i przypięcie małego modelu do tych, które zostają.
  • Subagenty zapisują cache 5-minutowy, a sesja główna cache 1-godzinny. Kolejne zapytanie po zimnej przerwie zapisuje ponownie około 19 razy więcej cache niż zapytanie "na ciepło".
  • Przerwa dłuższa niż 60 minut w sesji głównej kosztuje przy następnym zapytaniu medianę 130 332 tokenów ponownego zapisu cache, wobec 1 176 przy przerwie poniżej 5 minut.
  • Obniżenie effort nie zmniejszyło liczby tokenów wyjściowych na zapytanie w tych logach (średnio 778 przy high wobec 837 przy medium w sesjach głównych), więc traktuj to jako kompromis jakościowy, nie darmową oszczędność.
  • Wyłączenie podpowiedzi promptu i filtrowanie wyjścia shella to dźwignie prawdziwe, ale małe. Licz je na końcu.

Co mówią pomiary

Arytmetyka za nagłówkiem: baza 100, poziom promocyjny 150, poziom stały 125. 125 / 150 = 0,8333, więc cięcie to 16,67%, zaokrąglone do 17%. Błędne odczytanie to odjęcie przyrostów (z 50% do 25%) i nazwanie tego cięciem o 25%. s2

Promocja trwała od 13 maja 2026 do 13 września 2026, podniosła limity tygodniowe o 50% tylko w Claude Code i nie ruszyła limitów 5-godzinnych. Obejmowała plany Pro, Max, Team oraz Enterprise opłacany za stanowiska. s1

Poniższe pomiary pochodzą z logów Claude Code jednej maszyny: 455 sesji głównych, 2 631 uruchomień subagentów, 63 398 zapytań po deduplikacji między 2026-09-03 a 2026-10-03. Pierwszy wniosek dotyczy samego liczenia: każde zapytanie występuje średnio w 1,96 linii logu, więc zsumowanie wszystkich linii zawyża łączną liczbę tokenów o 99,3%. Każdy skrypt czytający te logi musi najpierw deduplikować po (message.id, requestId). s11

Subagenty to największa pozycja. Po deduplikacji odpowiadają za 48,1% wszystkich tokenów, 63,9% tokenów wyjściowych i 55,3% kosztu ważonego. Pierwsze zapytanie uruchomienia subagenta niesie medianę 47 117 tokenów promptu, zanim cokolwiek zrobi; p90 to 52 681, a maksimum 126 769. Agenci z ograniczonym zestawem narzędzi startują dużo niżej (min 5 295). s8

Wybór modelu to pogłębia. Subagenty dziedziczą model głównej rozmowy, chyba że zmieni to frontmatter model, parametr model w pojedynczym wywołaniu albo CLAUDE_CODE_SUBAGENT_MODEL, a od v2.1.251 sama zmienna środowiskowa nie nadpisuje już frontmattera: potrzebujesz CLAUDE_CODE_SUBAGENT_MODEL_FORCE=1. W logach sam claude-opus-5 stanowił 31,5% wszystkich tokenów i 35,8% kosztu ważonego, z czego 63,2% poszło wewnątrz subagentów. s3

O poziomie cache decyduje miejsce, w którym działa zapytanie. W tych danych 100,0% zapisów cache subagentów było 5-minutowych, a 100,0% zapisów sesji głównej 1-godzinnych; żadne zapytanie nie miało podziału mieszanego. W uruchomieniach subagentów tylko 95 z 41 790 kolejnych zapytań (0,2%) przyszło po przerwie dłuższej niż 5 minut, ale zapisały średnio 74 582 tokeny cache_creation wobec 3 886 dla zapytań "na ciepło". Ustawienie subagentPromptCacheTtl i zmienna CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL przyjmują 5m lub 1h i wymagają Claude Code v2.1.242 lub nowszego. s4

Niezależny test pokazał ten sam podział: każde zapytanie subagenta zapisane pod ephemeral_5m_input_tokens, podczas gdy rodzic używał ephemeral_1h_input_tokens, oraz jeden agent, który zapisał ponownie wszystkie 20 971 tokenów swojego prefiksu w zapytaniu po upływie okna pięciu minut. s6

Odpowiednikiem w sesji głównej jest długa przerwa. Zapytania przychodzące krócej niż 5 minut po poprzednim zapisały medianę 1 176 tokenów cache_creation (n = 18 029). Między 5 a 60 minut: 1 327 (n = 414). Powyżej 60 minut: 130 332 (n = 79), przy medianie promptu 175 523 tokenów i p90 674 348. Dokumentacja potwierdza, że rozliczanie overage również zrzuca główną rozmowę na poziom pięciominutowy. s3

Start sesji to koszt stały: pierwsze zapytanie sesji głównej niosło medianę 55 989 tokenów (p90 72 000), z rozrzutem między projektami od 15 764 do 105 020 w zależności od rozmiaru CLAUDE.md i pamięci. Wcześniejszy publiczny pomiar wskazywał dolną granicę około 29k w pustym katalogu, 30,4k z 3 serwerami MCP i 38,8k w prawdziwym repozytorium. s9

Effort to dźwignia, którą promuje dokumentacja, a której logi nie nagradzają. W sesjach głównych zapytania high dały średnio 778 tokenów wyjściowych wobec 837 przy medium; subagenty przy high dały 323 wobec 642. Porównanie jest zaburzone (różne zadania, modele, projekty), więc to powód do sceptycyzmu, a nie dowód. Wskazówki zespołu Claude Code przedstawiają effort jako miejsce, w które wydajesz rozumowanie, a nie pokrętło budżetu. s10

Dwie popularne rady wypadły skromnie. Podpowiedzi promptu kosztują dodatkowe zapytania, a szeroko powielana liczba "oszczędzisz ~10%" to sufit, nie typowa oszczędność; ustawienie to promptSuggestionEnabled: false lub CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION=false. s12 Filtrowanie wyjścia shella w ciągu dwudziestu dni zmniejszyło 66,7 mln tokenów wyjściowych do 24,1 mln, ale te 66,7 mln stanowiło 7,4% nowych tokenów zużytych w tym samym oknie. s11

Pomiary

Koszt startu subagenta, prompt pierwszego zapytania w tokenach, według modelu:

Model n min mediana p90 max
Wszystkie 2,631 5,295 47,117 52,681 126,769
claude-opus-5 1,262 36,864 43,905 48,032 50,398
claude-sonnet-5 633 5,916 52,409 53,961 126,769
claude-opus-5-5 426 39,408 47,189 48,362 48,883
claude-sonnet-5-5 165 44,471 47,348 50,197 50,863
claude-fable-5-1 102 36,551 42,593 44,286 47,385
claude-haiku-4-5 42 5,295 29,636 36,714 79,190

Ponowny zapis cache przy wznowieniu, sesje główne, według przerwy przed zapytaniem:

Przerwa n cache_creation mediana średnia cache_read mediana prompt mediana
< 5 min 18,029 1,176 2,391 184,169 186,412
5 do 60 min 414 1,327 5,575 221,857 225,168
> 60 min 79 130,332 241,499 25,264 175,523

Protokół: przeczytaj każdą sesję główną ~/.claude/projects/*/<uuid>.jsonl i każde uruchomienie */<uuid>/subagents/agent-*.jsonl, zapytania od 2026-09-01. Deduplikuj linie assistant po (message.id, requestId) i zachowaj jeden rekord usage na zapytanie. Łączna liczba tokenów = input + output + cache_read + cache_creation; rozmiar promptu = input + cache_read + cache_creation. Przerwa = czas od ostatniej linii logu poprzedniego zapytania do pierwszej linii tego zapytania, w obrębie jednej sesji lub uruchomienia. Koszt ważony używa wag względnych: input 1, zapis cache 5m 1,25, zapis cache 1h 2, cache read 0,1, output 5; te wagi to założenie, nie opublikowany cennik.

Zrób to w poniedziałek

  • Uruchom /usage na swoim planie i przeczytaj podział na skille, subagenty, pluginy i MCP oraz flagi zachowań podniesione przy 10% lub więcej niedawnego zużycia.
  • Wypisz definicje swoich subagentów i dodaj frontmatter model: haiku lub model: sonnet każdemu, który tylko szuka, sprawdza lub streszcza.
  • Jeśli chcesz jednego modelu na każdym subagencie niezależnie od frontmattera, ustaw CLAUDE_CODE_SUBAGENT_MODEL i CLAUDE_CODE_SUBAGENT_MODEL_FORCE=1.
  • Sprawdź, czy wersja Claude Code to 2.1.242 lub nowsza, potem zdecyduj dla każdego workflow, czy subagentPromptCacheTtl: "1h" się opłaca: pomaga subagentom, które czekają między wywołaniami narzędzi, nie krótkim.
  • Przed przerwą dłuższą niż godzina skończ zadanie w bieżącej sesji i napisz plik przekazania; po powrocie otwórz świeżą sesję zamiast wznawiać prompt o rozmiarze 175k tokenów.
  • Napisz skrypt tylko do odczytu na własnych logach, z deduplikacją po (message.id, requestId), i porównaj udział sesji głównej i subagentów, zanim zmienisz cokolwiek innego.
  • Ustaw promptSuggestionEnabled: false, jeśli nigdy nie używasz podpowiedzi, i traktuj oszczędność jako najwyżej kilka procent.

Idź dalej

  • Max 5x kontra Max 20x: stosunek pojemności zmierzony przez użytkowników po cięciu to kwestia wyboru planu, którą wideo pominęło. s7
  • Pełny łańcuch pierwszeństwa dla TTL cache (env wymuszający, env dla koszyka, ustawienie koszyka, experimental.cacheTtl subagenta) i co zmienia się przy rozliczaniu overage. s4
  • Dlaczego zmiana effort w środku sesji może wymusić odczyt całej historii bez trafień w cache na większości modeli i które modele są wyjątkiem. s3
  • Jak czytać pola usage i poziomy cache we własnych logach sesji oraz podejście ccboard do widoku budżetu dziennego. s11
  • Trzy pliki subagentów z trzema modelami i to, co każde uruchomienie faktycznie zapisało do cache, z poprawkami autora dopisanymi na końcu. s8
  • Odroczone definicje narzędzi MCP i ENABLE_TOOL_SEARCH=auto:N do kontrolowania, kiedy schematy narzędzi trafiają do kontekstu. s3

Źródła

FAQ

Czy to cięcie o 17%, czy podwyżka o 25%?

Jedno i drugie, mierzone od różnych baz. Względem bazy sprzed promocji, czyli 100, stały poziom 125 to podwyżka o 25%. Względem poziomu promocyjnego 150, który użytkownicy mieli od 13 maja do 13 września 2026, to cięcie o 17%.

Czy ustawić subagentPromptCacheTtl na 1h wszędzie?

Tylko jeśli twoje subagenty czekają ponad pięć minut między zapytaniami. W logach 0,2% kolejnych zapytań trafiało w ten przypadek, więc ogólny poziom 1h w większości płaci wyższą cenę zapisu za nic. Najpierw zmierz rozkład własnych przerw.

Czy obniżenie effort oszczędza tokeny?

Nie widać tego w tych logach: zapytania sesji głównych przy high dały średnio 778 tokenów wyjściowych wobec 837 przy medium. Dane są zaburzone, więc uczciwa odpowiedź brzmi: effort to pokrętło jakości, którego oszczędność trzeba zmierzyć na własnych zadaniach.

Dlaczego mój pierwszy prompt po obiedzie kosztuje tyle?

Sesja główna zapisuje cache 1-godzinny. Po przerwie dłuższej niż 60 minut następne zapytanie zapisuje prefiks od nowa: mediana 130 332 tokenów cache_creation w logach wobec 1 176 dla zapytania "na ciepło". Kończ zadania przed długimi przerwami i zaczynaj od nowa po nich.