Prompt caching dapat mengurangi biaya dan latensi untuk permintaan LLM yang berulang, tetapi hanya ketika alurnya menghasilkan prefix yang stabil, reuse yang cukup, dan perilaku cache-hit yang dapat diterima. Mengaktifkan fitur ini tidak sama dengan membuktikan return on investment.
Panduan ini memberikan tim engineering dan FinOps alur kerja prompt caching yang praktis: menemukan traffic yang memenuhi syarat, membentuk prompt agar dapat digunakan kembali, menginstrumentasi metrik cache, menghitung penghematan bersih, dan melakukan rollout tanpa menutupi regresi kualitas atau reliabilitas.
Apa itu prompt caching?
Prompt caching memungkinkan penyedia LLM menggunakan kembali komputasi untuk konten prompt yang baru-baru ini diproses. Alih-alih mengenakan biaya dan memproses setiap token input yang berulang pada tarif normal, penyedia dapat menerapkan tarif input cached yang lebih rendah atau harga cache-read terpisah untuk bagian yang dapat digunakan kembali.
Konten yang dapat digunakan kembali biasanya merupakan prefix prompt yang stabil. Contoh umum meliputi:
- System prompt panjang dan blok kebijakan.
- Definisi tool yang dibagikan oleh setiap turn agen.
- Dokumen besar, peta repository, atau katalog produk yang di-query berulang kali.
- Contoh few-shot yang digunakan kembali di seluruh pekerjaan klasifikasi atau ekstraksi.
- Riwayat percakapan yang dibagikan oleh beberapa kemungkinan tindakan berikutnya.
Implementasi penyedia berbeda-beda. OpenAI mendokumentasikan caching otomatis untuk prefix prompt yang memenuhi syarat dan mengekspos detail token yang di-cache dalam penggunaan API. Anthropic mendukung cache breakpoint eksplisit dan beberapa opsi time-to-live. Google Gemini mendukung context cache eksplisit dengan biaya penyimpanan, sementara DeepSeek mendokumentasikan context caching berbasis disk otomatis dengan tarif input cache-hit dan cache-miss yang terpisah. Selalu konfirmasi dukungan model dan harga terkini di dokumentasi resmi penyedia sebelum memasukkan penghematan ke dalam proyeksi.
Kesalahan ROI: mengukur diskon, bukan alurnya
Diskon token yang di-cache tidak sama dengan penghematan bersih. Alur kerja juga dapat menimbulkan biaya cache-write, biaya penyimpanan, permintaan tambahan, kompleksitas operasional, atau regresi kualitas ketika tim mengoptimalkan struktur prompt terlalu agresif.
Ukur unit yang penting:
ROI prompt caching bersih = biaya input uncached yang dihindari - biaya cache write/penyimpanan - biaya implementasi dan operasional
Untuk keputusan produksi, hubungkan hasil tersebut ke outcome yang disetujui:
Biaya per tugas yang diterima = total biaya permintaan / tugas sukses yang tervalidasi
Ini mencegah hasil yang menyesatkan di mana pengeluaran token turun tetapi retry, output yang ditolak, atau peninjauan manusia meningkat. Ini juga menyelaraskan prompt caching dengan program optimasi biaya AI API yang lebih luas, alih-alih memperlakukan caching sebagai trik penagihan yang berdiri sendiri.
Alur kerja prompt caching enam langkah
1. Temukan workload dengan reuse prefix yang nyata
Mulailah dari request trace, bukan intuisi. Kelompokkan traffic berdasarkan alur kerja dan perkirakan berapa banyak token input yang tetap identik dari awal satu request ke request berikutnya.
Kandidat yang baik biasanya memiliki empat properti:
- Input berulang yang besar: prefiks yang dapat digunakan kembali memiliki porsi material dibandingkan sufiks dinamis.
- Penggunaan ulang yang sering: beberapa permintaan mereferensikan prefiks yang sama dalam masa cache efektif penyedia.
- Urutan yang stabil: instruksi sistem, alat, contoh, dan materi referensi muncul dalam urutan yang sama.
- Cardinality rendah: aplikasi menggunakan kembali sejumlah varian prompt yang masih dapat dikelola, alih-alih membuat prefiks unik untuk setiap pengguna.
Alur kerja berpotensi tinggi yang umum mencakup agen coding dengan skema alat yang stabil, asisten dukungan yang dibumikan pada paket pengetahuan bersama, sesi tanya jawab dokumen, ekstraksi batch dengan contoh berulang, dan agen riset multi-turn.
Kandidat yang buruk mencakup prompt singkat sekali pakai, prefiks yang sangat dipersonalisasi, permintaan yang mengubah definisi alat pada setiap panggilan, serta pekerjaan bervolume rendah yang jarang menggunakan kembali entri cache.
Bangun tabel baseline untuk setiap alur kerja:
| Metrik | Mengapa penting |
|---|---|
| Permintaan per hari | Menentukan volume penggunaan ulang |
| Rata-rata token input | Menetapkan total biaya input |
| Token prefiks yang dapat digunakan kembali | Mendefinisikan permukaan yang dapat di-cache |
| Varian prefiks | Mengungkap fragmentasi |
| Interval penggunaan ulang | Menguji apakah entri tetap berguna |
| Tingkat tugas yang diterima | Melindungi kualitas dan nilai bisnis |
| Latensi P50/P95 | Mengukur dampak performa |
2. Letakkan konten statis sebelum konten dinamis
Prompt caching biasanya bergantung pada pencocokan prompt dari bagian awalnya. Perbedaan kecil di dekat bagian depan dapat mencegah penggunaan ulang untuk semua yang mengikutinya.
Gunakan urutan ini jika penyedia dan SDK mengizinkannya:
1. Instruksi sistem yang stabil
2. Aturan kebijakan dan keselamatan yang stabil
3. Definisi alat yang stabil
4. Materi referensi atau contoh yang stabil
5. Konteks percakapan semi-stabil
6. Input pengguna dinamis dan nilai saat runtime
Jangan menempatkan stempel waktu, ID permintaan, label khusus pengguna, JSON yang diurutkan secara acak, atau feature flag yang sering berubah di dekat awal prompt. Normalkan skema alat dan serialisasikan konten terstruktur secara deterministik.
Ini bukan izin untuk menggabungkan data yang tidak berkaitan menjadi prefiks yang terlalu besar. Jaga batasan tenant, aturan otorisasi, dan persyaratan retensi data tetap utuh. Prompt yang lebih murah tidak sebanding dengan kegagalan privasi atau isolasi.
3. Tentukan identitas cache dan kebijakan invalidasi
Aplikasi Anda memerlukan cara eksplisit untuk menalar versi prompt, bahkan ketika penyedia mengelola cache secara otomatis.
Identitas cache yang praktis dapat mencakup:
workflow + prompt_version + tool_schema_version + knowledge_version + model_family
Lacak identitas ini dalam telemetry. Saat instruksi, kontrak alat, atau data referensi berubah, tingkatkan versi yang relevan. Itu membuat perubahan biaya menjadi dapat dijelaskan dan mencegah tim mengira invalidasi yang diharapkan sebagai gangguan penyedia.
Tetapkan jendela reuse berdasarkan perilaku beban kerja dan dukungan penyedia. Agen interaktif yang berumur pendek dapat memperoleh manfaat dari reuse selama beberapa menit. Alur kerja riset yang berulang mungkin membenarkan cache eksplisit yang lebih lama jika biaya penyimpanan tetap lebih rendah daripada pemrosesan input berulang.
4. Instrumentasi hits, misses, writes, dan hasil yang diterima
Setidaknya, catat field berikut untuk setiap percobaan:
- Penyedia, model, dan alur kerja.
- Versi prompt dan identitas cache.
- Total input, cached/read, cache-write, dan output tokens jika tersedia.
- Status cache hit atau hit yang diinferensikan.
- Estimasi biaya input, cache, output, dan total.
- Latensi, status, nomor retry, dan jalur fallback.
- Hasil sukses yang tervalidasi atau hasil tugas yang diterima.
Gunakan field penggunaan yang dilaporkan penyedia sebagai sumber kebenaran penagihan saat tersedia. Jika penyedia tidak mengembalikan penanda cache-hit yang bersih, simpulkan dengan hati-hati dari jumlah cached-token atau catatan penagihan dan beri label metrik tersebut sebagai inferred.
Telemetry prompt caching harus berada dalam trace yang sama dengan retry dan fallback model. Jika tidak, storm retry dapat terlihat seperti optimisasi cache yang berhasil. AI observability implementation checklist menunjukkan cara menghubungkan biaya per percobaan dengan hasil aplikasi.
5. Hitung penghematan dan volume break-even
Gunakan model yang sesuai dengan struktur biaya penyedia.
Untuk caching otomatis dengan tarif read diskon:
gross_savings = cache_read_tokens × (uncached_input_rate - cached_input_rate)
net_savings = gross_savings - incremental_operating_cost
Untuk caching eksplisit dengan biaya write dan storage:
net_savings = avoided_uncached_cost
- cache_write_cost
- cache_storage_cost
- incremental_operating_cost
Anda dapat memperkirakan jumlah reuse break-even untuk satu prefix yang di-cache:
break_even_reuses =
(cache_write_cost + storage_cost + implementation_cost_per_entry)
/ savings_per_cache_read
Bulatkan ke reuse utuh berikutnya. Lalu tambahkan margin untuk miss, invalidasi, dan variabilitas traffic.
Contoh ROI yang dikerjakan
Misalkan sebuah alur kerja memiliki:
- 40.000 request per bulan.
- 18.000 token input per request.
- Prefix stabil 12.000 token.
- Tingkat cache-hit efektif 70%.
- Tarif input tanpa cache sebesar $3 per juta token.
- Tarif input cached sebesar $0,30 per juta token.
- $350 per bulan untuk biaya engineering dan monitoring yang diamortisasi.
Token cached bulanan:
40,000 × 12,000 × 70% = 336,000,000 cached input tokens
Gross savings:
336 million × ($3.00 - $0.30) / 1 million = $907.20
Net savings bulanan:
$907.20 - $350 = $557.20
Jika alur kerja menghasilkan 32.000 tugas yang diterima, caching menyumbang sekitar penghematan $0,017 per tugas yang diterima. Itu mungkin bermakna dalam skala besar, tetapi hasilnya jauh lebih modest daripada sekadar mengutip diskon input cached 90%.
Tarif di atas bersifat ilustratif, bukan kutipan harga terkini dari penyedia. Ganti dengan tarif yang Anda kontrakkan atau yang dipublikasikan, dan sertakan penulisan cache, penyimpanan, harga regional, tingkatan layanan, serta biaya gateway jika berlaku.
6. Luncurkan dengan eksperimen terkontrol
Jalankan caching sebagai perubahan rekayasa dengan grup kontrol yang terukur.
- Pilih satu alur kerja dengan penggunaan ulang tinggi.
- Kunci set evaluasi dan kriteria penerimaan.
- Tetapkan baseline biaya, latensi, dan kualitas tanpa cache.
- Susun ulang hanya prefix yang stabil.
- Kirim sebagian kecil trafik produksi melalui jalur yang di-cache.
- Bandingkan tingkat hit, biaya per tugas yang diterima, latensi P95, error, dan fallback.
- Perluas hanya ketika penghematan tetap positif setelah biaya operasional.
Pisahkan kebijakan retry dan fallback dari logika cache. Permintaan yang gagal mungkin aman untuk diulang, tidak aman untuk diputar ulang setelah streaming parsial, atau lebih baik dilayani oleh model yang setara. Gunakan strategi fallback model yang telah ditentukan, alih-alih memperlakukan setiap cache miss atau timeout sebagai kegagalan yang sama.
Dashboard KPI prompt caching
Lacak metrik berikut berdasarkan alur kerja dan versi prompt:
| KPI | Rumus atau definisi | Sinyal keputusan |
|---|---|---|
| Rasio token yang dapat di-cache | Token prefix yang dapat digunakan ulang / total token input | Apakah area optimisasi cukup besar? |
| Tingkat cache-hit | Permintaan cache-read / permintaan yang memenuhi syarat | Apakah penggunaan ulang benar-benar terjadi? |
| Rasio token yang di-cache | Token input yang di-cache / total token input | Seberapa banyak input yang mendapatkan tarif lebih rendah? |
| Penghematan per permintaan | Biaya baseline tanpa cache - biaya yang diamati | Apakah setiap permintaan menjadi lebih murah? |
| Penghematan bersih | Penghematan kotor - penulisan, penyimpanan, dan biaya operasional | Apakah proyek ini positif secara finansial? |
| Biaya per tugas yang diterima | Total biaya / tugas yang diterima | Apakah ekonomi yang disesuaikan dengan kualitas membaik? |
| Delta latensi P95 | P95 di-cache - baseline P95 | Apakah performa yang terlihat oleh pengguna meningkat? |
| Tingkat alasan miss | Miss berdasarkan versi, urutan, TTL, atau penyedia | Apa yang seharusnya diperbaiki tim engineering selanjutnya? |
Tingkat hit yang tinggi dengan penghematan yang lemah dapat terjadi ketika prefix yang berulang kecil. Tingkat hit yang rendah dengan prefix yang besar masih dapat mengidentifikasi peluang bernilai jika fragmentasi prompt dapat diperbaiki. Baca metriknya secara bersama-sama.
Mode kegagalan umum prompt caching
Nilai dinamis di bagian awal
Stempel waktu, ID, dan metadata per pengguna di dekat bagian depan memecah cache. Pindahkan setelah prefix yang stabil jika memungkinkan.
Skema alat berubah antar permintaan
Agen sering membangun ulang atau mengurutkan ulang definisi alat secara dinamis. Normalisasi urutan, hapus alat yang tidak relevan, dan versioning skema secara sengaja.
Entri cache ditulis tetapi jarang digunakan ulang
Pembuatan cache secara eksplisit dapat lebih mahal daripada penghematannya ketika trafik jarang atau TTL terlalu panjang. Ukur penggunaan ulang per identitas cache sebelum memperpanjang retensi.
Tim mengoptimalkan token tetapi mengabaikan output
Token output, retry, dan tinjauan manusia dapat mendominasi total biaya. Terus ukur permintaan penuh dan hasil yang diterima.
Perilaku penyedia dianggap portabel
Prefix caching otomatis, breakpoint eksplisit, penagihan penyimpanan, panjang prompt minimum, model yang memenuhi syarat, dan field penggunaan bervariasi menurut penyedia. Bangun adapter penyedia dan pertahankan metrik bisnis agar netral terhadap penyedia.
Fallback merusak lokalitas cache
Beralih penyedia atau keluarga model dapat menghilangkan reuse karena cache tidak portabel. Ini bukan berarti fallback harus dinonaktifkan. Artinya keandalan dan biaya perlu kebijakan bersama: lakukan failover saat diperlukan, lalu atribusikan miss dan biaya tambahan dengan benar.
Daftar periksa implementasi penyedia
Sebelum mengaktifkan prompt caching untuk sebuah model, konfirmasikan:
- Apakah caching otomatis, eksplisit, atau keduanya?
- Model dan endpoint API mana yang mendukungnya?
- Berapa panjang prompt minimum yang berlaku?
- Bagaimana prefix yang cocok didefinisikan?
- Apa opsi TTL atau retensi yang tersedia?
- Apakah penulisan cache, pembacaan, dan penyimpanan dikenai harga secara terpisah?
- Field respons mana yang mengekspos token cache atau pembuatan cache?
- Apakah service tier, region, data residency, atau pengaturan zero-retention mengubah perilaku?
- Apakah cache diisolasi berdasarkan project, account, organization, atau batas lainnya?
- Apa yang terjadi ketika permintaan fallback ke model atau penyedia lain?
Gunakan panduan prompt caching OpenAI, dokumentasi prompt caching Anthropic, panduan caching konteks Google Gemini, dan panduan caching konteks DeepSeek untuk detail implementasi terkini. Harga dan kelayakan model dapat berubah, jadi periksa ulang sumber-sumber ini pada setiap tinjauan biaya material.
Di mana peran AI gateway
AI gateway terpadu tidak membuat cache penyedia menjadi portabel. Setiap penyedia tetap mengontrol semantik caching dan penagihannya sendiri. Namun, gateway dapat memberi tim satu tempat untuk menormalkan identifier model, merutekan workload yang memenuhi syarat, merekam penggunaan khusus penyedia, membandingkan biaya per tugas yang diterima, dan menerapkan kebijakan fallback atau anggaran.
Flatkey menyediakan satu endpoint yang kompatibel dengan OpenAI dan saldo terpadu untuk akses ke beberapa keluarga model. Itu mempermudah benchmarking workflow yang dicache dan yang tidak dicache tanpa membangun ulang setiap integrasi. Konfirmasikan dukungan caching terkini dan perilaku penyedia dari model yang dipilih sebelum menganggap suatu rute sebagai cache-enabled.
Jika Anda sedang mengkonsolidasikan client yang sudah ada terlebih dahulu, gunakan daftar periksa migrasi gateway API yang kompatibel dengan OpenAI dan tinjau akses model dan harga terkini Flatkey.
Pertanyaan yang sering diajukan
Seberapa besar penghematan prompt caching?
Penghematan bergantung pada prefix yang dapat digunakan kembali, tingkat hit, harga penyedia, biaya penulisan atau penyimpanan, dan biaya implementasi. Hitung penghematan bersih dari token yang tercache yang teramati, bukan menerapkan diskon utama ke semua token input.
Berapa tingkat cache-hit yang baik?
Tidak ada target universal. Hit rate yang berguna adalah yang menghasilkan penghematan bersih positif dan meningkatkan atau mempertahankan biaya per tugas yang diterima. Prefix yang besar dapat membenarkan hit rate yang lebih rendah; prefix yang kecil mungkin memerlukan tingkat penggunaan ulang yang sangat tinggi.
Apakah prompt caching meningkatkan latensi?
Ini dapat mengurangi latensi pemrosesan input untuk cache hit, tetapi dampaknya bergantung pada penyedia, model, ukuran prompt, jalur jaringan, dan workload. Lacak latensi P50 dan P95, bukan mengasumsikan peningkatan yang tetap.
Haruskah saya meng-cache seluruh percakapan?
Biasanya Anda harus memaksimalkan prefix yang stabil, bukan meng-cache semuanya secara membabi buta. Putaran percakapan bertambah panjang dan berubah. Pertahankan instruksi, tools, dan konten referensi yang stabil di bagian awal, lalu tambahkan riwayat yang berubah dan input pengguna.
Bisakah prompt yang di-cache dibagikan lintas penyedia?
Tidak. Cache prompt di sisi penyedia bersifat spesifik untuk penyedia. Jika routing mengubah penyedia atau model, perlakukan permintaan tersebut sebagai kemungkinan cache miss kecuali penyedia secara eksplisit mendokumentasikan penggunaan ulang yang kompatibel.
Apakah prompt caching aman untuk data sensitif?
Tinjau penanganan data, isolasi cache, retensi, residensi, dan ketentuan zero-retention penyedia untuk akun dan model Anda. Jangan gunakan optimisasi biaya untuk mengabaikan persyaratan keamanan, privasi, atau isolasi tenant.
Mulailah dengan satu prefix yang berulang
Alur kerja prompt caching terbaik sengaja dibuat sempit: pilih satu workload yang mahal dan memiliki penggunaan ulang tinggi; pindahkan konten yang stabil ke bagian depan; beri versi; ukur hit, miss, latensi, kualitas, dan biaya; lalu hitung ROI bersih.
Ketika hasilnya meningkatkan biaya per tugas yang diterima, perluas pola tersebut ke workflow berikutnya. Jika tidak, telemetri akan memberi tahu Anda apakah masalahnya adalah fragmentasi prompt, volume yang tidak mencukupi, retensi yang singkat, harga penyedia, atau workload yang sejak awal bukan kandidat caching yang baik.



