Blog JSystems - uwalniamy wiedzę!
Blog JSystems - uwalniamy wiedzę!
Claude Code
Cache się nie trafia (cache miss) - dlaczego i jak naprawić
Prompt caching, czyli pamięć podręczna promptu, to mechanizm, dzięki któremu Claude Code - narzędzie CLI od Anthropic do programowania z AI - nie płaci pełnej stawki za wielokrotne przetwarzanie tego samego, niezmiennego początku kontekstu. Gdy kolejne zapytanie zaczyna się dokładnie tak samo jak poprzednie, ta wspólna część jest tańsza. Kiedy jednak trafienie chybione (cache miss) zdarza się nagminnie, oszczędność znika i rachunek za tokeny rośnie. Warto zrozumieć, co unieważnia tę pamięć - bo zwykle to my sami, nieświadomie, ją psujemy.
Prowadzisz dłuższą sesję i zauważasz, że koszt rośnie mniej więcej liniowo z każdą wiadomością, zamiast się spłaszczać - tak jakby cały kontekst był za każdym razem liczony od nowa. W rozliczeniu widać dużo tokenów zapisanych do pamięci podręcznej, a mało z niej odczytanych, co jest wprost obrazem trafień chybionych. Praktycznie odczuwasz to jako droższą i wolniejszą pracę przy zadaniach, które powinny korzystać z tego samego, powtarzalnego kontekstu (na przykład tych samych wielkich plików czy tej samej instrukcji projektu wczytywanej raz za razem).
Pamięć podręczna promptu działa od początku kontekstu i jest wrażliwa na kolejność. Tania jest tylko ta część na początku, która jest bajt w bajt taka sama jak poprzednio. Gdy cokolwiek zmieni się na początku - albo wcześniej, niż sięga wspólny fragment - cała pamięć podręczna poniżej tego miejsca się unieważnia i musi zostać zbudowana od nowa. Dlatego zabójcze dla trafień jest wstawianie zmiennych, ruchomych treści na początek: bieżącej daty, znaczników czasu, losowych identyfikatorów czy stale przestawianej kolejności instrukcji. Każda taka zmiana przesuwa albo psuje wspólny prefiks i wymusza chybienie. Osobny, oczywisty powód to wyczyszczenie kontekstu poleceniem /clear - zaczynasz wtedy rozmowę od zera, więc nie ma czego trafić. Ogólna zasada jest prosta: to, co niezmienne, na górze; to, co zmienne, jak najniżej.
/clear pamięć podręczna zaczyna się budować od nowa, więc rób to tylko wtedy, gdy faktycznie zaczynasz zupełnie nowe zadanie./compact zamiast /clear, jeśli chcesz kontynuować ten sam wątek - zachowasz część pracy zamiast wywalać wszystko.Zajrzyj do rozliczenia użycia tokenów swojej sesji i porównaj liczbę tokenów odczytanych z pamięci podręcznej z liczbą tokenów przetworzonych na nowo - po poprawkach udział odczytów powinien wyraźnie wzrosnąć. Prostym sygnałem jest też przebieg kosztu w dłuższej rozmowie: jeśli po ustabilizowaniu początku kontekstu koszt kolejnych wiadomości przestaje rosnąć liniowo i się spłaszcza, znaczy to, że trafienia zaczęły działać. Przeciwnie, jeśli mimo zmian nadal widzisz same trafienia chybione, sprawdź, czy przypadkiem nie wstrzykujesz na początek kontekstu czegoś zmiennego - to najczęstsza przyczyna, którą łatwo przeoczyć.
Wróć do listy: 100 najczęstszych problemów z Claude Code
Szkolenie Claude Code - od zera do zespołu agentów AI -->
Tryb planowania, tryby uprawnień, komendy, MCP, hooki i systemy multi-agent - wszystko na żywym kodzie podczas trzydniowego szkolenia. Prowadzi Łukasz Matuszewski. Szkolenie ma terminy gwarantowane - odbędzie się niezależnie od liczby zgłoszeń.
Sprawdź szkolenie Claude CodeTo szkolenie może być dofinansowane dla Ciebie z KFS lub BUR.
★★★★★Średnia ocena naszych szkoleń w Google: 5/5
Komentarze (0)
Brak komentarzy...