Blog
PLEN

Prompt caching — jak liczę koszty Opus 4.7 (i czemu rachunek nie jest taki straszny)

Opus 4.7 wygląda drogo. Po 5 minutach z prompt cachingiem koszt spada o 90%. Pokazuję jak to działa, jak mierzyć, i jakie wzorce kadencji mają realny wpływ na rachunek.

·4 min read
Prompt caching — jak liczę koszty Opus 4.7 (i czemu rachunek nie jest taki straszny)

Opus 4.7 ma wyższą cenę per-token niż Sonnet 4.6. Patrząc na cennik, dwa razy więcej. Patrząc na rachunek po miesiącu, różnica jest mała. Sekret to prompt caching, mechanizm który zmienia ekonomikę długich sesji.

Jak działa cache

Anthropic API od dłuższego czasu wspiera prompt caching. W Claude Code jest włączony domyślnie. Cache TTL = 5 minut.

Gdy wysyłasz prompt:

  1. System sprawdza czy initial część kontekstu (system prompt + tools + conversation history) była już ostatnio użyta
  2. Jeśli tak (cache hit) → płacisz 10% standardowej ceny za zacache'owane tokeny
  3. Jeśli nie (cache miss) → płacisz 125% (cache write cost)

Czyli pierwsza wiadomość po przerwie jest droższa, każda kolejna w 5-minutowym oknie, tania.

Konkretny rachunek

Przykład sesji 30-minutowej z 8 turnami:

TurnCzas od poprzedniegoCache stateKoszt prompta
1startmiss125% (write)
230shit10%
31minhit10%
42minhit10%
56minmiss (TTL)125% (write)
61minhit10%
72minhit10%
81minhit10%

2 cache writes (drogo) + 6 cache hits (tanio). Średni koszt prompta to ~30% standardowej ceny. Realne dane z mojego billingu: typowa sesja 30-minutowa to $0.40-0.60 zamiast spodziewanych $1.50-2.00.

Co psuje cache

Trzy najczęstsze przyczyny niespodziewanych kosztów:

1. Idle pause > 5 min. Agent czeka, ja jadę po kawę, wracam, cache wymarły. Cold start = full cost.

2. Edycja system prompta. Zmiana CLAUDE.md w trakcie sesji albo /model flip → cały cache zwalony.

3. Long context > 200k. Powyżej 200k tokenów cache działa inaczej (sliding window) i niektóre wzorce kadencji nie chwytają. Praktyczna konsekwencja: na dużych zadaniach planuję od razu kontekst.

Strategia trzymania cache'a

Co robię żeby cache działał na moją korzyść:

1. Decoupluj idle work. Jeśli wiem że muszę odejść na 10 minut, kończę sesję, zaczynam nową po powrocie. Nie zostawiam Claude'a "oczekującego". Ten cold start jednorazowo kosztuje, ale dalej już cheap.

2. Batchuj decyzje. Zamiast 5 promptów po 1 minucie z przerwami, formułuję 1 dłuższy prompt z 5 pytaniami. Mniej promptów = mniej cache writes.

3. Pomijam żabki. Małe potwierdzenia ("ok", "tak", "dalej") robią cache hit. Nie kostują dużo, ale i nie odsuwają TTL, TTL liczy się od ostatniego cache write, nie od ostatniego promptu.

4. Plan mode na duże zadania. Plan mode robi cały kontekst w jednej fazie. Po jego ukończeniu mam świeży cache na fazę implementacji.

Pomiar w praktyce

Anthropic console pokazuje per-call koszt. Sprawdzam co tydzień:

Sesje > 10 min: średni koszt $0.45/sesja
Sesje 5-10 min: średni koszt $0.30/sesja
Sesje < 5 min: średni koszt $0.20/sesja

Krótsze sesje są tańsze nominalnie, ale cache write dominuje. Dla 30-minutowej sesji koszt na minutę spada wyraźnie.

Anti-pattern: "częściej, krócej"

Intuicja: krótsze sesje są tańsze, więc rób je krótsze. NIE prawda. Krótsze sesje płacą cache write proporcjonalnie więcej.

Lepiej: jedna 30-minutowa sesja niż 6 × 5-minutowych w ciągu godziny.

Kiedy cache nie pomaga

Trzy scenariusze:

1. Batch processing. Generujesz 100 niezależnych raportów. Każdy to świeży kontekst → cache nie pomaga. Wybór: Sonnet 4.6 (tańszy nominalnie).

2. Bardzo długie idle. Cron job co 6 godzin → 5-min TTL nie ma znaczenia. Każde wywołanie to fresh cost. Wybór: Sonnet 4.6 albo Haiku.

3. Hard cap na koszty. Jeśli rozliczasz API per-call (queue z budżetem), cache niespodzianki niewykonalne. Sonnet 4.6.

Reguła którą stosuję

Use caseModel
Aktywna sesja 5-60 minOpus 4.7
Cron co < 5 minOpus 4.7 (cache hit zwykle)
Cron co > 5 minSonnet 4.6
Batch processingSonnet 4.6
Quick ad-hoc queryOpus 4.7 z /fast (Opus 4.6 fast mode)
Background agent z >5 min idleSonnet 4.6

Cena per-token to nie to samo co cena per-zadanie. Z prompt cachingiem Opus 4.7 jest tańszy niż się wydaje. Mierz, optymalizuj kadencję, nie modele.