Klucz policzony dla trzeciego tokenu kontekstu nie zależy od niczego, co przyjdzie po nim. Nie zależy więc także od tego, w którym zapytaniu ten token się pojawił. Wyślij jutro ten sam początek, a model policzy dokładnie te same liczby.
Skoro wynik będzie identyczny — po co liczyć go drugi raz?
Czym jest cache promptu
Cache promptu to mechanizm, w którym dostawca zachowuje obliczoną pamięć podręczną kluczy i wartości dla początkowego fragmentu kontekstu i przy kolejnym zapytaniu zaczynającym się dokładnie tak samo podstawia gotowy stan zamiast przeliczać go od nowa. Prefill dla tej części po prostu nie następuje — model zaczyna pracę od pierwszego tokenu, który różni się od tego, co już zna.
Podwójna oszczędność
Czas — odpada składnik czasu do pierwszego tokena odpowiadający za przetworzenie niezmiennego początku.
Pieniądze — tokeny odczytane z pamięci podręcznej rozliczane są po stawce obniżonej, zwykle stanowiącej ułamek ceny zwykłego tokenu wejściowego.
Warunek, który wszystko psuje
Dopasowanie musi być dokładne i musi zaczynać się od początku kontekstu. Nie „podobny prompt”, nie „ten sam fragment gdzieś w środku” — dokładnie ten sam ciąg tokenów, od pierwszego, bez różnicy na jednym znaku.
Powód jest mechaniczny: klucz dla tokenu numer pięćset zależy od wszystkich tokenów przed nim. Zmiana jednego znaku na pozycji trzeciej unieważnia wszystkie następne klucze i cały zapisany stan staje się bezużyteczny.
Reguła w czterech słowach
Stałe na początku, zmienne na końcu.
Instrukcja systemowa, definicje narzędzi, dokumenty referencyjne i przykłady — wszystko niezmienne między wywołaniami — idą na sam początek, w stałej kolejności. Zapytanie użytkownika, znacznik czasu i identyfikatory na koniec.
Czego nie widzisz
Cache wygasa, zwykle po kilku do kilkudziesięciu minut, bo zachowany stan zajmuje pamięć. Bywa też przypisany do konkretnej maszyny — jeśli router skieruje kolejne żądanie gdzie indziej, zapisany stan będzie tam niedostępny.