Qazanclar:
- Tez keşləmənin prefiks uyğunluğu məntiqini izah edin
- Əvvəlcə sabit konteksti, sonra isə dəyişən konteksti qoymaqla keş vurulmasını artırır
- Keş yazma/oxuma iqtisadiyyatını və zərərsizlik nöqtəsini hesablaya bilir
LLM məhsulu prototipdə ucuz görünür; Ölçəyə qalxdığınız zaman qanun layihəsi təəccüblənir. Əksər iş yüklərində qanun layihəsinin əksəriyyəti hər sorğu ilə təkrar-təkrar göndərilən eyni sabit kontekstdən gəlir: uzun sistem sorğusu, qaydalar kitabı, istinad sənədləri. Tez keşləmə məhz bu tullantıları aradan qaldırır. Bu bölmədə siz keşin necə işlədiyini, vurma əmrini necə təşkil edəcəyinizi və keş iqtisadiyyatının zərərsizlik nöqtəsini necə hesablayacağınızı öyrənəcəksiniz. Düzgün quraşdırıldıqda, yalnız o, hesabınızı yarıya və ya daha da aşağı sala bilər.
Keş necə işləyir? Bir Dəyişməz Qayda
Tez keşləmə prefiks uyğunluğudur. Provayder sorğunuzun əvvəlindən emal etdiyi tokenləri müvəqqəti olaraq saxlayır. Əgər sorğu növbəti sorğuda eyni prefikslə başlayırsa, bu ümumi hissə yenidən hesablanmır; Oxumaq keşdən daha ucuzdur.
Dəyişməz bir qayda bundan irəli gəlir: Əgər bir bayt prefiksin hər hansı bir yerində dəyişirsə, bütün keş həmin nöqtədən etibarsız olur. Yəni sabit məzmun əvvəlində, dəyişən məzmun isə sonunda olmalıdır. Sistem sorğusunun əvvəlinə hər sorğu ilə dəyişən sətir qoysanız, məsələn, "Bugünkü tarix: 18.07.2026" kimi, onun arxasındakı hər şey keş yaddaşa daxil ola bilməyəcək.
Emal sifarişi adətən belə olur: alətlər → sistem sorğusu → mesajlar. Sabit bölmənin sonunda keş nöqtəsini (keçmə nöqtəsi) qoyursunuz.
Keş İqtisadiyyatı
Cache üç qiymət səviyyəsinə malikdir:
- Cache write: İlk dəfə saxlanılır. ~1,25x normal giriş qiyməti (5 dəqiqə saxlama üçün).
- Keş oxundu: Sonrakı sorğuların oxunması. Normal giriş qiymətindən ~0,1 dəfə - yəni onda biri.
- Normal giriş: Keşə daxil olmayan və hər dəfə tam xərclə işlənən hissə.
Qeyri-bərabər nöqtə: İlk sorğu yazma mükafatını ödəyir (1,25 ×). İkinci sorğudan oxunuş (0,1×) işə düşür. Təxminən, iki istəklə boyun və boyun olacaqsınız; Bundan sonra xalis qənaətdir. Sabit kontekst nə qədər böyükdürsə və ondan təkrar istifadə edilən sorğular nə qədər çox olarsa, qazanc da bir o qədər böyük olar.
Ssenari
Keş işləyirmi?
Böyük sabit sistem tezliyi, minlərlə sorğu
Bəli - ən yüksək qazanc
Eyni istinad sənədlərində çoxlu suallar
Bəli
Hər sorğu üçün tamamilə fərqli qısa mətn
Xeyr - yazma bonusu boşa çıxdı
Bir dəfə tələb
Xeyr - ümumiyyətlə oxumur
Sistem sorğusunda hər sorğu ilə tarix/ID dəyişir
Xeyr — prefiks pozulub, vuruş sıfırdır
Addım-addım: Hit sorğusunu necə qurmaq olar?
- Sabit və dəyişənləri ayırın. Hansı məzmun heç vaxt dəyişmir (sistem sorğusu, qaydalar kitabı, sənədlər)? Hər sorğu ilə hansı dəyişir (istifadəçi sualı, tarix, ID)?
- Sabiti əvvəlinə qoyun. Emal zamanı birinci gələn hissə (alətlər, sistem) sabit olmalıdır.
- Dəyişənni sonuna qoyun. İstifadəçinin cari sualı, sonuncu.
- İşarəni sərhədin sonunda qoyun. Keş nöqtəsini sabit hissənin son blokuna qoyun.
- Zərbəni yoxlayın. Cache_read_input_tokens cavabında istifadə sahəsində sıfırdan böyük olub olmadığını yoxlayın. Sıfırdırsa, prefiksdə gizli pozucu var.
{ "sistem": [ { "növ": "mətn", "mətn": "{{large_constant_system_promptu_and_reges}}", "cache_control": { "növ": "efemer" } } ], "mesajlar": [ { "rol": "istifadəçi", "{{məzmun" _} "r." ]}
İpucu: Keş hitlərini təxmin etməyin, onları ölçün. Əgər usage.cache_read_input_tokens ardıcıl sorğularda hələ də sıfırdırsa, səssiz kəsici (sistem sorğusunda datetime.now(), sıralanmamış JSON, hər sorğu ilə dəyişən alətlərin siyahısı) işləyir. İki sorğunun xam sorğusunu bayt-bayt müqayisə edin və fərqi tapın.
Səssiz pozucular
Keşi bilmədən korlayan tipik nümunələr:
# BREAKER: hər sorğu ilə dəyişən sistem sorğusuna məlumatın daxil edilməsi "Bugünkü tarix: {{indi}}. Siz köməkçisiniz..." ← prefiks hər sorğu ilə dəyişir, vurma sıfırdır# TRUE: dəyişəni mesaj sisteminə köçürün: "Siz köməkçisiniz..." ← sabiti [:{role:day] istifadəçiyə daxil olur, [:{role:day] {{indi}} Sual: ..."}] sonunda ← dəyişən
Digər kəsicilər: JSON hər sorğu üzrə fərqli çeşidlənir (açarları sabit qaydada saxlayın), istifadəçiyə görə dəyişən alətlərin siyahısı (alətlər əvvəlcə emal edilir; onlar dəyişdikdə heç bir şey keşə daxil olmur), söhbətin ortasında modeli dəyişdirir (keşlər modelə xasdır).
Zəif tez / Güclü əmr (keşlə uyğun struktur)
# WEAK (cache busting build) sistemi: "Tarix: 18.07.2026 14:32. İstifadəçi: Ahmet (id 8842). Siz dəstək botusunuz. Qaydalar: ...(2000 token)..."
# GÜÇLÜ (keş-dostu struktur) sistemi: "Siz dəstək botusunuz. Qaydalar: ...(2000 token, heç vaxt dəyişmir)..." [keş işarəsi]mesajlar: [ { rol: istifadəçi, məzmun: "Tarix: 18.07.2026 14:32. İstifadəçi identifikatorum: 8842. Sual: pulu necə qaytarmalıyam?" }]
Zəif versiyada 2000 tokendən ibarət qayda bloku hər bir sorğu üzrə tam qiymətə işlənir. Güclü versiyada eyni blok bir dəfə yazılır və qiymətin onda biri üçün bütün sonrakı sorğularda oxunur.
Üç mini qutu
1-ci hal - Qaydalar kitabının keşləşdirilməsi. Mühasibat uçotunun avtomatlaşdırılması hər bir fakturaya 12.000 işarə qayda kitabını əlavə edirdi; Gündə 5000 sorğu. Keşsiz giriş gündə ~ 180 dollara başa gəlir. Onlar qaydalar kitabını sabit saxladılar və onu yaddaşda saxladılar: ilk sorğular yazma haqqı ödədi, sonrakı oxunuşlar 0,1×. Daxiletmə dəyəri ~90% azalaraq gündə ~18$-a düşüb.
Case 2 - Gizli tarix xəttinin dəyəri. Bir komanda bir önbellek qurdu, lakin heç bir hit əldə etmədi; cache_read_input_tokens həmişə sıfır idi. Səbəb: Sistem sorğusunun birinci sətirində datetime.now() var idi, prefiks hər sorğu ilə dəyişirdi. Tarixi istifadəçi mesajına köçürdükdə hit dərəcəsi birdən 0%-dən 94%-ə yüksəldi.
3-cü hal - Yersiz keş. Axtarış proqramı hər sorğu ilə tamamilə fərqli qısa sorğular göndərirdi; Onlar həvəslə bir önbellek işarəsi əlavə etdilər. Ümumi prefiks olmadan, hər sorğu yalnız yazma mükafatı ödəyir, oxunmur - dəyəri artırır. İşarəni çıxardılar. Dərs: keş yalnız təkrar istifadə olunan böyük və sabit prefiks olduqda ödəyir.
Ümumi səhvlər
- Sabit və dəyişən qarışdırma: Dəyişən məzmun prefiksdə olduqda, hit sıfırlanır.
- Tarix/identifikatorun sistem sorğusuna daxil edilməsi: Ən çox yayılmış səssiz pozucu.
- Zərbənin ölçülməməsi: Əgər cache_read_input_tokens yoxlanılmazsa, israf nəzərə çarpmayacaq.
- İctimai prefiks olmadıqda keşin əlavə edilməsi: Siz yalnız yazma mükafatını ödəyirsiniz, xərc artır.
- Avtomobilin siyahısının və ya modelinin dəyişdirilməsi: Prefiks əvvəldən pozulub; hər şey yenidən yazılır.
- Minimum keş ölçüsünü unutmaq: Çox qısa keşlər (modeldən asılı olaraq ~1–4k tokendən aşağı) keşə səssiz daxil olmayacaq.
Daha dərin: İş yükü növünə görə keşin dizaynı
Keşləmənin faktiki gəliri iş yükünüzün xarakterindən asılı olaraq dəyişir; ona görə də əvvəlcə trafikinizi öyrənin. Üç tipik nümunə və düzgün quraşdırma:
Ümumi sistem sorğusu, fərqli suallar. Ən çox yayılmış müəssisə nümunəsi: yüzlərlə müxtəlif istifadəçi sualı olan böyük sistem sorğusu (rol, qaydalar, bəlkə də istinad sənədi). Burada sabit hissə (sistem) ilkin olaraq keşlənir; hər yeni sual yalnız öz kiçik hissəsi üçün tam qiymət ödəyir. Böyük hissə qiymətin onda birində dəfələrlə oxunduğu üçün qazanc çox yüksəkdir.
Çoxtərəfli monoloq. Söhbət uzandıqca, hər yeni raund bütün əvvəlki tarixin üstündə qurulur. Keş bayrağını son raundun sonuna qoysanız, hər sorğu əvvəlki söhbət prefiksini təkrar istifadə edir; söhbət böyüdükcə hitlər toplanır. Bu, uzun köməkçi seanslarının xərclərini kəskin şəkildə azaldır.
Paylaşılan prefiks dəyişdiriləcək son bitdir. Çoxsaylı sorğular sabit prioritetlərin böyük dəstini (nümunə dəsti, təlimatlar) paylaşır, lakin sonunda bir sualla ayrılır. Keş göstəricisini paylaşılan hissənin sonuna qoyursunuz; Əks halda, hər sorğu öz ayrıca keşini yazacaq və heç biri oxunmayacaq.
Bir xəbərdarlıq: önbellek modeldən və müəyyən bir minimum ölçüdən asılıdır. Çox kiçik prefikslər (modeldən asılı olaraq bir neçə min tokendən aşağı) onları işarələsəniz belə, səssizcə keşə daxil olmayacaq — cache_creation_input_tokens sıfır olaraq qalır. Həmçinin, söhbətin ortasında modelin dəyişdirilməsi bütün önbelleği etibarsız edir; Fərqli bir iş ucuz bir model tələb edirsə, əsas axını bir modeldə saxlayın və yan işi ayrı bir çağırışa qoyun.
Xülasə
Tez keşləmə prefiks uyğunluğudur: sabit məzmun əvvəlində, dəyişən məzmun sonunda olmalıdır. Böyük, təkrar istifadə olunan kontekst üçün oxunma dəyəri tam qiymətin onda birini təşkil edir və təxminən iki sorğuda belə pozulur. Ən çox görülən səhv, sistem sorğusuna dəyişən məlumatları daxil etməklə prefiksi pozmaqdır; İstifadə sahəsində onu ölçməklə vuruşu təsdiqləyirsiniz.
Tətbiq tapşırığı
İş yükünü seçin. (1) Məzmunu iki sütuna bölün: "heç vaxt dəyişməz" və "hər sorğu ilə dəyişir". (2) Sabit hissəni əvvəlinə, dəyişən hissəsini isə sonuna qoyaraq, operativ strukturu yenidən çəkin. (3) Sabit hissənin token ölçüsünü təxmin edin və aylıq dəyəri keş ilə/keşsiz müqayisə edin. (4) Hiti hansı sahədən (cache_read_input_tokens) yoxlayacağınıza diqqət yetirin.
yoxlama siyahısı
- [ ] Mən izah edə bilərəm ki, keş prefiks uyğunluğu və yeganə dəyişməz qaydadır.
- [ ] Sabit məzmunu əvvələ, dəyişəni isə sonuna qoymaqla dəqiqliyi artıra bilərəm.
- [ ] Mən yazmaq/oxumaq iqtisadiyyatını və iki tələbdən ibarət zərərsizlik nöqtəsini bilirəm.
- [ ] Mən səssiz pozucuları tanıya bilirəm (tarix, sıralanmamış JSON, avtomobil siyahısının dəyişdirilməsi).
- [ ] Mən hiti usage.cache_read_input_tokens ilə yoxlaya bilərəm.