Nowe API prompt-caching modelu Claude Opus 5 drastycznie obniża rachunki za tokeny w aplikacjach typu chat, pozwalając modelowi pominąć ponowne czytanie niezmienionego tekstu. Pierwsze zapytanie wiąże się z nieznaczną dopłatą; każde kolejne kosztuje około jednej dziesiątej podstawowej stawki, co zmienia powtarzalny koszt w jednorazową opłatę.

Dlaczego programiści płacą dwa razy za te same słowa

Większość interfejsów konwersacyjnych odbudowuje pełny prompt w każdej turze: 8000-tokenowy prompt systemowy, załączone pliki PDF i pełna historia dialogu są przesyłane do modelu za każdym razem, gdy użytkownik zadaje pytanie uzupełniające. Model przetwarza ponownie każdy token, mimo że większość tego tekstu nigdy się nie zmienia. Przy obecnych cenach ta redundancja może dominować w kosztach intensywnie działającego bota.

Jak cache zmienia obliczenia

API tworzy wpis w cache dla każdego „bloku” tokenów aż do zdefiniowanego punktu przerwania (breakpoint). Gdy następne zapytanie zawiera ten sam blok na początku, usługa odczytuje go z cache zamiast ponownie go tokenizować. Podział cenowy odzwierciedla zaoszczędzoną pracę:

  • Zapis do cache – TTL 5 minut: 1,25 × cena podstawowa
  • Zapis do cache – TTL 1 godzina: 2 × cena podstawowa
  • Odczyt z cache (hit): 0,1 × cena podstawowa

W praktyce pierwsze wywołanie nowego bloku kosztuje nieco więcej niż normalne zapytanie. Każde późniejsze wywołanie, które trafia do cache, jest o 90% tańsze, dzięki czemu całkowite wydatki gwałtownie spadają wraz z pogłębianiem się rozmowy.

„Złota zasada” strukturyzowania promptów

Skuteczność cache zależy od tego, gdzie umieścisz treść statyczną względem dynamicznej. Wszystko, co pozostaje niezmienne, umieść na początku, a elementy, które stale się zmieniają, przesuń na koniec. Niezawodna kolejność wygląda następująco:

  1. Narzędzia (Tools) – definicje wszelkich zewnętrznych funkcji, które model może wywołać.
  2. Instrukcje systemowe (System instructions) – ogólne zasady zachowania, których model ma przestrzegać.
  3. Dokumenty (Documents) – długi kontekst, taki jak pliki PDF, bazy wiedzy lub fragmenty polityk.
  4. Pytania użytkownika (User questions) – bieżące zapytanie, które zmienia się w każdej turze.

Jeśli zmodyfikujesz jakikolwiek token przed punktem przerwania (breakpoint), wpis w cache zostanie unieważniony, a model będzie musiał ponownie przetworzyć wszystko, co następuje po nim.

Ukryte limity, których należy przestrzegać

  • Minimalny rozmiar bloku – Opus 5 buforuje tylko bloki zawierające co najmniej 512 tokenów. Wszystko, co jest mniejsze, całkowicie omija cache.
  • Błąd znacznika czasu – wstawienie zmieniającego się znacznika czasu wewnątrz buforowanego bloku gwarantuje brak trafienia (miss), ponieważ tekst bloku nigdy nie będzie się dokładnie zgadzał.
  • Przeszukiwanie ostatnich 20 bloków – usługa skanuje tylko ostatnich 20 bloków w poszukiwaniu dopasowania. Długotrwałe sesje, które szybko przechodzą do kolejnych etapów, mogą „wyprzedzić” okno cache.
  • Równoległe zapytania – wysłanie kilku identycznych zapytań w tym samym momencie spowoduje, że żadne nie trafi do cache, ponieważ cache jest wypełniany dopiero po zakończeniu pierwszego zapytania. Rozgrzej cache pojedynczym wywołaniem, a dopiero potem wykonaj pozostałe.

Jak zobaczyć oszczędności w odpowiedzi API

Każda odpowiedź raportuje trzy liczniki tokenów:

  • cache_read_input_tokens – tokeny pochodzące z trafienia w cache.
  • cache_creation_input_tokens – tokeny zapisane w cache w tym zapytaniu.
  • input_tokens – nowe tokeny, które nie zostały zachowane w cache.

Dodaj te trzy liczby, aby uzyskać całkowitą liczbę tokenów, które model wziął pod uwagę w danej turze. Jeśli oba pola cache wynoszą zero, zapytanie nie trafiło do cache; sprawdź rozmiar bloku i umiejscowienie punktów przerwania.

Podsumowanie: Dzięki umieszczaniu niezmiennego kontekstu na początku i pozwalaniu API prompt-caching modelu Claude Opus 5 na wykonanie ciężkiej pracy, zmieniasz powtarzalny koszt tokenów w jednorazową opłatę. Wynikiem jest drastyczna redukcja kosztów dla każdego chatbota, który wielokrotnie odwołuje się do tego samego promptu systemowego lub zestawu dokumentów – pod warunkiem przestrzegania minimalnego progu tokenów, unikania zmiennych znaczników wewnątrz buforowanych bloków oraz utrzymywania treści kwalifikujących się do cache w obrębie 20-blokowego okna.