Prompt caching mengoptimalkan penggunaan API Anda dengan memungkinkan melanjutkan dari awalan tertentu dalam prompt Anda. Ini secara signifikan mengurangi waktu pemrosesan dan biaya untuk tugas berulang atau prompt dengan elemen yang konsisten.
This feature is eligible for Zero Data Retention (ZDR). When your organization has a ZDR arrangement, data sent through this feature is not stored after the API response is returned.
Ada dua cara untuk mengaktifkan prompt caching:
cache_control di tingkat atas permintaan Anda. Sistem secara otomatis menerapkan breakpoint cache ke blok yang dapat di-cache terakhir dan memindahkannya maju seiring percakapan berkembang. Terbaik untuk percakapan multi-putaran di mana riwayat pesan yang berkembang harus di-cache secara otomatis.cache_control langsung pada blok konten individual untuk kontrol yang lebih halus atas apa yang di-cache.Cara paling sederhana untuk memulai adalah dengan caching otomatis:
client = anthropic.Anthropic()
response = client.messages.create(
model="claude-opus-4-7",
max_tokens=1024,
cache_control={"type": "ephemeral"},
system="You are an AI assistant tasked with analyzing literary works. Your goal is to provide insightful commentary on themes, characters, and writing style.",
messages=[
{
"role": "user",
"content": "Analyze the major themes in 'Pride and Prejudice'.",
}
],
)
print(response.usage.model_dump_json())Dengan caching otomatis, sistem meng-cache semua konten hingga dan termasuk blok yang dapat di-cache terakhir. Pada permintaan berikutnya dengan awalan yang sama, konten yang di-cache digunakan kembali secara otomatis.
Ketika Anda mengirim permintaan dengan prompt caching diaktifkan:
Ini sangat berguna untuk:
Secara default, cache memiliki masa pakai 5 menit. Cache disegarkan tanpa biaya tambahan setiap kali konten yang di-cache digunakan.
Jika Anda menemukan bahwa 5 menit terlalu singkat, Anthropic juga menawarkan durasi cache 1 jam dengan biaya tambahan.
Untuk informasi lebih lanjut, lihat durasi cache 1 jam.
Prompt caching meng-cache awalan lengkap
Prompt caching mereferensikan seluruh prompt - tools, system, dan messages (dalam urutan itu) hingga dan termasuk blok yang ditunjuk dengan cache_control.
Prompt caching memperkenalkan struktur harga baru. Tabel di bawah menunjukkan harga per juta token untuk setiap model yang didukung:
| Model | Base Input Tokens | 5m Cache Writes | 1h Cache Writes | Cache Hits & Refreshes | Output Tokens |
|---|---|---|---|---|---|
| Claude Opus 4.7 | $5 / MTok | $6.25 / MTok | $10 / MTok | $0.50 / MTok | $25 / MTok |
| Claude Opus 4.6 | $5 / MTok | $6.25 / MTok | $10 / MTok | $0.50 / MTok | $25 / MTok |
| Claude Opus 4.5 | $5 / MTok | $6.25 / MTok | $10 / MTok | $0.50 / MTok | $25 / MTok |
| Claude Opus 4.1 | $15 / MTok | $18.75 / MTok | $30 / MTok | $1.50 / MTok | $75 / MTok |
| Claude Opus 4 (deprecated) | $15 / MTok | $18.75 / MTok | $30 / MTok | $1.50 / MTok | $75 / MTok |
| Claude Sonnet 4.6 | $3 / MTok | $3.75 / MTok | $6 / MTok | $0.30 / MTok | $15 / MTok |
| Claude Sonnet 4.5 | $3 / MTok | $3.75 / MTok | $6 / MTok | $0.30 / MTok | $15 / MTok |
| Claude Sonnet 4 (deprecated) | $3 / MTok | $3.75 / MTok | $6 / MTok | $0.30 / MTok | $15 / MTok |
| Claude Haiku 4.5 | $1 / MTok | $1.25 / MTok | $2 / MTok | $0.10 / MTok | $5 / MTok |
| Claude Haiku 3.5 (retired, except on Bedrock and Vertex AI) | $0.80 / MTok | $1 / MTok | $1.60 / MTok | $0.08 / MTok | $4 / MTok |
Tabel di atas mencerminkan pengganda harga berikut untuk prompt caching:
Pengganda ini ditumpuk dengan pengubah harga lainnya seperti diskon Batch API dan residensi data. Lihat harga untuk detail lengkap.
Prompt caching (baik otomatis maupun eksplisit) didukung pada semua model Claude aktif.
Caching otomatis adalah cara paling sederhana untuk mengaktifkan prompt caching. Alih-alih menempatkan cache_control pada blok konten individual, tambahkan satu bidang cache_control di tingkat atas badan permintaan Anda. Sistem secara otomatis menerapkan breakpoint cache ke blok yang dapat di-cache terakhir.
client = anthropic.Anthropic()
response = client.messages.create(
model="claude-opus-4-7",
max_tokens=1024,
cache_control={"type": "ephemeral"},
system="You are a helpful assistant that remembers our conversation.",
messages=[
{"role": "user", "content": "My name is Alex. I work on machine learning."},
{
"role": "assistant",
"content": "Nice to meet you, Alex! How can I help with your ML work today?",
},
{"role": "user", "content": "What did I say I work on?"},
],
)
print(response.usage.model_dump_json())Dengan caching otomatis, titik cache bergerak maju secara otomatis seiring percakapan berkembang. Setiap permintaan baru meng-cache semuanya hingga blok yang dapat di-cache terakhir, dan konten sebelumnya dibaca dari cache.
| Permintaan | Konten | Perilaku Cache |
|---|---|---|
| Permintaan 1 | Sistem + Pengguna(1) + Asst(1) + Pengguna(2) ◀ cache | Semuanya ditulis ke cache |
| Permintaan 2 | Sistem + Pengguna(1) + Asst(1) + Pengguna(2) + Asst(2) + Pengguna(3) ◀ cache | Sistem melalui Pengguna(2) dibaca dari cache; Asst(2) + Pengguna(3) ditulis ke cache |
| Permintaan 3 | Sistem + Pengguna(1) + Asst(1) + Pengguna(2) + Asst(2) + Pengguna(3) + Asst(3) + Pengguna(4) ◀ cache | Sistem melalui Pengguna(3) dibaca dari cache; Asst(3) + Pengguna(4) ditulis ke cache |
Breakpoint cache secara otomatis bergerak ke blok yang dapat di-cache terakhir di setiap permintaan, jadi Anda tidak perlu memperbarui penanda cache_control apa pun seiring percakapan berkembang.
Secara default, caching otomatis menggunakan TTL 5 menit. Anda dapat menentukan TTL 1 jam dengan harga 2x token input dasar:
{ "cache_control": { "type": "ephemeral", "ttl": "1h" } }Caching otomatis kompatibel dengan breakpoint cache eksplisit. Ketika digunakan bersama, breakpoint cache otomatis menggunakan salah satu dari 4 slot breakpoint yang tersedia.
Ini memungkinkan Anda menggabungkan kedua pendekatan. Misalnya, gunakan breakpoint eksplisit untuk meng-cache prompt sistem dan alat Anda secara independen, sementara caching otomatis menangani percakapan:
{
"model": "claude-opus-4-7",
"max_tokens": 1024,
"cache_control": { "type": "ephemeral" },
"system": [
{
"type": "text",
"text": "You are a helpful assistant.",
"cache_control": { "type": "ephemeral" }
}
],
"messages": [{ "role": "user", "content": "What are the key terms?" }]
}Caching otomatis menggunakan infrastruktur caching yang sama. Harga, ambang token minimum, persyaratan pengurutan konteks, dan jendela lookback 20-blok semuanya berlaku sama seperti dengan breakpoint eksplisit.
cache_control eksplisit dengan TTL yang sama, caching otomatis adalah no-op.cache_control eksplisit dengan TTL yang berbeda, API mengembalikan kesalahan 400.Caching otomatis tersedia di Claude API dan Azure AI Foundry (pratinjau). Dukungan untuk Amazon Bedrock dan Google Vertex AI akan datang kemudian.
Untuk kontrol lebih besar atas caching, Anda dapat menempatkan cache_control langsung pada blok konten individual. Ini berguna ketika Anda perlu meng-cache bagian berbeda yang berubah pada frekuensi berbeda, atau memerlukan kontrol yang lebih halus atas apa yang di-cache.
Tempatkan konten statis (definisi alat, instruksi sistem, konteks, contoh) di awal prompt Anda. Tandai akhir konten yang dapat digunakan kembali untuk caching menggunakan parameter cache_control.
Awalan cache dibuat dalam urutan berikut: tools, system, kemudian messages. Urutan ini membentuk hierarki di mana setiap level dibangun di atas yang sebelumnya.
Anda dapat menggunakan hanya satu breakpoint cache di akhir konten statis Anda, dan sistem akan secara otomatis menemukan awalan terpanjang yang telah ditulis permintaan sebelumnya ke cache. Memahami cara kerjanya membantu Anda mengoptimalkan strategi caching Anda.
Tiga prinsip inti:
Penulisan cache hanya terjadi di breakpoint Anda. Menandai blok dengan cache_control menulis tepat satu entri cache: hash dari awalan yang berakhir di blok itu. Sistem tidak menulis entri untuk posisi apa pun sebelumnya. Karena hash bersifat kumulatif, mencakup semuanya hingga dan termasuk breakpoint, mengubah blok apa pun di atau sebelum breakpoint menghasilkan hash berbeda pada permintaan berikutnya.
Pembacaan cache mencari mundur untuk entri yang ditulis permintaan sebelumnya. Pada setiap permintaan, sistem menghitung hash awalan di breakpoint Anda dan memeriksa entri cache yang cocok. Jika tidak ada, sistem berjalan mundur satu blok pada satu waktu, memeriksa apakah hash awalan di setiap posisi sebelumnya cocok dengan sesuatu yang sudah ada di cache. Sistem mencari penulisan sebelumnya, bukan konten stabil.
Jendela lookback adalah 20 blok. Sistem memeriksa paling banyak 20 posisi per breakpoint, menghitung breakpoint itu sendiri sebagai yang pertama. Jika sistem tidak menemukan entri yang cocok di jendela itu, pemeriksaan berhenti (atau dilanjutkan dari breakpoint eksplisit berikutnya, jika ada).
Contoh: Lookback dalam percakapan yang berkembang
Anda menambahkan blok baru setiap putaran dan menetapkan cache_control pada blok terakhir setiap permintaan:
Kesalahan umum: Breakpoint pada konten yang berubah setiap permintaan
Prompt Anda memiliki konteks sistem statis besar (blok 1 hingga 5) diikuti oleh blok per-permintaan yang berisi stempel waktu dan pesan pengguna (blok 6). Anda menetapkan cache_control pada blok 6:
Lookback tidak menemukan konten stabil di belakang breakpoint Anda dan meng-cachenya. Lookback menemukan entri yang telah ditulis permintaan sebelumnya, dan penulisan hanya terjadi di breakpoint. Pindahkan cache_control ke blok 5, blok terakhir yang tetap sama di seluruh permintaan, dan setiap permintaan berikutnya membaca awalan yang di-cache. Caching otomatis mengenai jebakan yang sama: menempatkan breakpoint pada blok yang dapat di-cache terakhir, yang dalam struktur ini adalah yang berubah setiap permintaan, jadi gunakan breakpoint eksplisit pada blok 5 sebagai gantinya.
Kesimpulan kunci: Tempatkan cache_control pada blok terakhir yang awalannya identik di seluruh permintaan yang ingin Anda bagikan cache. Dalam percakapan yang berkembang, blok terakhir berfungsi selama setiap putaran menambahkan lebih sedikit dari 20 blok: konten sebelumnya tidak pernah berubah, jadi lookback permintaan berikutnya menemukan penulisan sebelumnya. Untuk prompt dengan akhiran yang bervariasi (stempel waktu, konteks per-permintaan, pesan masuk), tempatkan breakpoint di akhir awalan statis, bukan pada blok yang bervariasi.
Anda dapat menentukan hingga 4 breakpoint cache jika Anda ingin:
Batasan penting: Lookback hanya dapat menemukan entri yang telah ditulis permintaan sebelumnya. Jika percakapan yang berkembang mendorong breakpoint Anda 20 atau lebih blok melampaui penulisan terakhir, jendela lookback melewatkannya. Tambahkan breakpoint kedua lebih dekat ke posisi itu dari awal sehingga penulisan terakumulasi di sana sebelum Anda membutuhkannya.
Breakpoint cache itu sendiri tidak menambah biaya apa pun. Anda hanya dikenakan biaya untuk:
Menambahkan lebih banyak breakpoint cache_control tidak meningkatkan biaya Anda - Anda masih membayar jumlah yang sama berdasarkan konten apa yang sebenarnya di-cache dan dibaca. Breakpoint hanya memberi Anda kontrol atas bagian mana yang dapat di-cache secara independen.
Panjang prompt yang dapat di-cache minimum adalah:
Prompt yang lebih pendek tidak dapat di-cache, bahkan jika ditandai dengan cache_control. Permintaan apa pun untuk meng-cache lebih sedikit dari jumlah token ini akan diproses tanpa caching, dan tidak ada kesalahan yang dikembalikan. Untuk memverifikasi apakah prompt di-cache, periksa bidang penggunaan respons: jika baik cache_creation_input_tokens dan cache_read_input_tokens adalah 0, prompt tidak di-cache (kemungkinan karena tidak memenuhi persyaratan panjang minimum).
Jika prompt Anda sedikit di bawah minimum untuk model yang Anda gunakan, memperluas konten yang di-cache untuk mencapai ambang batas sering kali bermanfaat. Token pembacaan cache biaya jauh lebih sedikit daripada token input yang tidak di-cache, jadi mencapai minimum dapat mengurangi biaya untuk prompt yang sering digunakan kembali.
Untuk permintaan bersamaan, perhatikan bahwa entri cache hanya tersedia setelah respons pertama dimulai. Jika Anda memerlukan cache hit untuk permintaan paralel, tunggu respons pertama sebelum mengirim permintaan berikutnya.
Saat ini, "ephemeral" adalah satu-satunya jenis cache yang didukung, yang secara default memiliki masa pakai 5 menit.
Sebagian besar blok dalam permintaan dapat di-cache. Ini termasuk:
toolssystemmessages.content, untuk putaran pengguna dan asistenmessages.content, dalam putaran penggunamessages.content, dalam putaran pengguna dan asistenSetiap elemen ini dapat di-cache, baik secara otomatis maupun dengan menandainya dengan cache_control.
Meskipun sebagian besar blok permintaan dapat di-cache, ada beberapa pengecualian:
Blok pemikiran tidak dapat di-cache langsung dengan cache_control. Namun, blok pemikiran DAPAT di-cache bersama konten lain ketika muncul dalam putaran asisten sebelumnya. Ketika di-cache dengan cara ini, mereka MENGHITUNG sebagai token input ketika dibaca dari cache.
Blok sub-konten (seperti kutipan) itu sendiri tidak dapat di-cache langsung. Sebagai gantinya, cache blok tingkat atas.
Dalam kasus kutipan, blok konten dokumen tingkat atas yang berfungsi sebagai materi sumber untuk kutipan dapat di-cache. Ini memungkinkan Anda menggunakan prompt caching dengan kutipan secara efektif dengan meng-cache dokumen yang akan direferensikan kutipan.
Blok teks kosong tidak dapat di-cache.
Modifikasi konten yang di-cache dapat membatalkan sebagian atau seluruh cache.
Seperti dijelaskan dalam Menyusun prompt Anda, cache mengikuti hierarki: tools → system → messages. Perubahan di setiap level membatalkan level itu dan semua level berikutnya.
Tabel berikut menunjukkan bagian mana dari cache yang dibatalkan oleh berbagai jenis perubahan. ✘ menunjukkan bahwa cache dibatalkan, sementara ✓ menunjukkan bahwa cache tetap valid.
| Apa yang berubah | Cache alat | Cache sistem | Cache pesan | Dampak |
|---|---|---|---|---|
| Definisi alat | ✘ | ✘ | ✘ | Memodifikasi definisi alat (nama, deskripsi, parameter) membatalkan seluruh cache |
| Tombol pencarian web | ✓ | ✘ | ✘ | Mengaktifkan/menonaktifkan pencarian web memodifikasi prompt sistem |
| Tombol kutipan | ✓ | ✘ | ✘ | Mengaktifkan/menonaktifkan kutipan memodifikasi prompt sistem |
| Pengaturan kecepatan | ✓ | ✘ | ✘ | Beralih antara speed: "fast" dan kecepatan standar membatalkan cache sistem dan pesan |
| Pilihan alat | ✓ | ✓ | ✘ | Perubahan parameter tool_choice hanya mempengaruhi blok pesan |
| Gambar | ✓ | ✓ | ✘ | Menambahkan/menghapus gambar di mana pun dalam prompt mempengaruhi blok pesan |
| Parameter pemikiran | ✓ | ✓ | ✘ | Perubahan pengaturan pemikiran yang diperluas (aktifkan/nonaktifkan, anggaran) mempengaruhi blok pesan |
| Hasil non-alat yang dilewatkan ke permintaan pemikiran yang diperluas | ✓ | ✓ | ✘ | Ketika hasil non-alat dilewatkan dalam permintaan saat pemikiran yang diperluas diaktifkan, semua blok pemikiran yang sebelumnya di-cache dilepas dari konteks, dan pesan apa pun dalam konteks yang mengikuti blok pemikiran itu dihapus dari cache. Untuk detail lebih lanjut, lihat Caching dengan blok pemikiran. |
Pantau kinerja cache menggunakan bidang respons API ini, dalam usage dalam respons (atau acara message_start jika streaming):
cache_creation_input_tokens: Jumlah token yang ditulis ke cache saat membuat entri baru.cache_read_input_tokens: Jumlah token yang diambil dari cache untuk permintaan ini.input_tokens: Jumlah token input yang tidak dibaca dari atau digunakan untuk membuat cache (yaitu, token setelah breakpoint cache terakhir).Memahami rincian token
Bidang input_tokens mewakili hanya token yang datang setelah breakpoint cache terakhir dalam permintaan Anda - bukan semua token input yang Anda kirim.
Untuk menghitung total token input:
total_input_tokens = cache_read_input_tokens + cache_creation_input_tokens + input_tokensPenjelasan spasial:
cache_read_input_tokens = token sebelum breakpoint sudah di-cache (pembacaan)cache_creation_input_tokens = token sebelum breakpoint sedang di-cache sekarang (penulisan)input_tokens = token setelah breakpoint terakhir Anda (tidak memenuhi syarat untuk cache)Contoh: Jika Anda memiliki permintaan dengan 100.000 token konten yang di-cache (dibaca dari cache), 0 token konten baru yang di-cache, dan 50 token dalam pesan pengguna Anda (setelah breakpoint cache):
cache_read_input_tokens: 100.000cache_creation_input_tokens: 0input_tokens: 50Ini penting untuk memahami biaya dan batas laju, karena input_tokens biasanya akan jauh lebih kecil daripada total input Anda saat menggunakan caching secara efektif.
Saat menggunakan extended thinking dengan prompt caching, thinking blocks memiliki perilaku khusus:
Automatic caching bersama konten lainnya: Meskipun thinking blocks tidak dapat secara eksplisit ditandai dengan cache_control, mereka di-cache sebagai bagian dari konten permintaan ketika Anda membuat panggilan API berikutnya dengan hasil tool. Ini biasanya terjadi selama penggunaan tool ketika Anda mengirimkan thinking blocks kembali untuk melanjutkan percakapan.
Input token counting: Ketika thinking blocks dibaca dari cache, mereka dihitung sebagai input tokens dalam metrik penggunaan Anda. Ini penting untuk perhitungan biaya dan perencanaan token budget.
Cache invalidation patterns:
cache_control eksplisitUntuk detail lebih lanjut tentang cache invalidation, lihat What invalidates the cache.
Contoh dengan tool use:
Request 1: User: "What's the weather in Paris?"
Response: [thinking_block_1] + [tool_use block 1]
Request 2:
User: ["What's the weather in Paris?"],
Assistant: [thinking_block_1] + [tool_use block 1],
User: [tool_result_1, cache=True]
Response: [thinking_block_2] + [text block 2]
# Request 2 caches its request content (not the response)
# The cache includes: user message, thinking_block_1, tool_use block 1, and tool_result_1
Request 3:
User: ["What's the weather in Paris?"],
Assistant: [thinking_block_1] + [tool_use block 1],
User: [tool_result_1, cache=True],
Assistant: [thinking_block_2] + [text block 2],
User: [Text response, cache=True]
# Non-tool-result user block causes all thinking blocks to be ignored
# This request is processed as if thinking blocks were never presentKetika blok pengguna non-tool-result disertakan, itu menunjuk loop asisten baru dan semua thinking blocks sebelumnya dihapus dari konteks.
Untuk informasi lebih detail, lihat dokumentasi extended thinking.
Mulai 5 Februari 2026, prompt caching akan menggunakan isolasi tingkat workspace alih-alih isolasi tingkat organisasi. Cache akan diisolasi per workspace, memastikan pemisahan data antara workspace dalam organisasi yang sama. Perubahan ini berlaku untuk Claude API dan Azure AI Foundry (preview); Amazon Bedrock dan Google Vertex AI akan mempertahankan isolasi cache tingkat organisasi. Jika Anda menggunakan beberapa workspace, tinjau strategi caching Anda untuk memperhitungkan perubahan ini.
Organization Isolation: Cache diisolasi antara organisasi. Organisasi yang berbeda tidak pernah berbagi cache, bahkan jika mereka menggunakan prompt yang identik.
Exact Matching: Cache hits memerlukan prompt segments yang 100% identik, termasuk semua teks dan gambar hingga dan termasuk blok yang ditandai dengan cache control.
Output Token Generation: Prompt caching tidak memiliki efek pada pembuatan output token. Respons yang Anda terima akan identik dengan apa yang akan Anda dapatkan jika prompt caching tidak digunakan.
Untuk mengoptimalkan kinerja prompt caching:
Sesuaikan strategi prompt caching Anda dengan skenario Anda:
Jika mengalami perilaku yang tidak terduga:
cache_control berada di lokasi yang samatool_choice dan penggunaan gambar tetap konsisten antara panggilancache_creation_input_tokens dan cache_read_input_tokens akan menjadi 0tool_use Anda memiliki pengurutan stabil karena beberapa bahasa (misalnya, Swift, Go) mengacakkan urutan kunci selama konversi JSON, merusak cachePerubahan pada tool_choice atau kehadiran/ketiadaan gambar di mana pun dalam prompt akan membatalkan cache, memerlukan entri cache baru untuk dibuat. Untuk detail lebih lanjut tentang cache invalidation, lihat What invalidates the cache.
Jika Anda menemukan bahwa 5 menit terlalu pendek, Anthropic juga menawarkan durasi cache 1 jam dengan biaya tambahan.
Untuk menggunakan extended cache, sertakan ttl dalam definisi cache_control seperti ini:
"cache_control": {
"type": "ephemeral",
"ttl": "1h"
}Respons akan mencakup informasi cache terperinci seperti berikut:
{
"usage": {
"input_tokens": 2048,
"cache_read_input_tokens": 1800,
"cache_creation_input_tokens": 248,
"output_tokens": 503,
"cache_creation": {
"ephemeral_5m_input_tokens": 456,
"ephemeral_1h_input_tokens": 100
}
}
}Perhatikan bahwa field cache_creation_input_tokens saat ini sama dengan jumlah nilai dalam objek cache_creation.
Jika Anda memiliki prompt yang digunakan dengan ritme teratur (yaitu, prompt sistem yang digunakan lebih sering daripada setiap 5 menit), lanjutkan menggunakan cache 5 menit, karena ini akan terus diperbarui tanpa biaya tambahan.
Cache 1 jam paling baik digunakan dalam skenario berikut:
Cache 5 menit dan 1 jam berperilaku sama sehubungan dengan latency. Anda umumnya akan melihat peningkatan time-to-first-token untuk dokumen panjang.
Anda dapat menggunakan kontrol cache 1 jam dan 5 menit dalam permintaan yang sama, tetapi dengan batasan penting: Entri cache dengan TTL lebih lama harus muncul sebelum TTL lebih pendek (yaitu, entri cache 1 jam harus muncul sebelum entri cache 5 menit apa pun).
Saat mencampur TTL, API menentukan tiga lokasi penagihan dalam prompt Anda:
A: Jumlah token pada cache hit tertinggi (atau 0 jika tidak ada hits).B: Jumlah token pada blok cache_control 1 jam tertinggi setelah A (atau sama dengan A jika tidak ada).C: Jumlah token pada blok cache_control terakhir.Jika B dan/atau C lebih besar dari A, mereka harus menjadi cache misses, karena A adalah cache hit tertinggi.
Anda akan dikenakan biaya untuk:
A.(B - A).(C - B).Berikut adalah 3 contoh. Ini menggambarkan input tokens dari 3 permintaan, masing-masing memiliki cache hits dan cache misses yang berbeda. Masing-masing memiliki penagihan yang dihitung berbeda, ditunjukkan dalam kotak berwarna, sebagai hasilnya.
Untuk membantu Anda memulai dengan prompt caching, prompt caching cookbook menyediakan contoh terperinci dan praktik terbaik.
Cuplikan kode berikut menampilkan berbagai pola prompt caching. Contoh-contoh ini menunjukkan cara mengimplementasikan caching dalam skenario berbeda, membantu Anda memahami aplikasi praktis dari fitur ini:
Prompt caching (baik otomatis maupun eksplisit) memenuhi syarat ZDR. Anthropic tidak menyimpan teks mentah dari prompt Anda atau respons Claude.
Representasi cache KV (key-value) dan hash kriptografi dari konten yang di-cache disimpan hanya dalam memori dan tidak disimpan saat istirahat. Entri cache memiliki masa hidup minimum 5 menit (standar) atau 60 menit (diperpanjang), setelah itu dihapus dengan cepat, meskipun tidak segera. Entri cache terisolasi antar organisasi.
Untuk kelayakan ZDR di semua fitur, lihat API and data retention.
Was this page helpful?