Tema
Bahasa
·3 mnt baca

Caching prompt: cara mengurangi biaya prompt berulang

Cara kerja caching prompt di GetVibe API: caching otomatis untuk model OpenAI, cache_control untuk Claude, arti cacheReadMult, dan cara mempertahankan prefiks yang dapat di-cache.

Caching prompt: cara mengurangi biaya prompt berulang

Sebagian besar traffic LLM berulang. Chatbot mengirim ulang system prompt yang sama di setiap giliran, sementara agent mengirim ulang definisi tool dan seluruh percakapan hingga saat ini. Prompt caching memungkinkan model membaca prefix berulang tersebut dari cache, dan input yang di-cache dikenai biaya sebesar sebagian kecil dari tarif input normal. Panduan ini membahas cara kerjanya di GetVibe API dan cara memaksimalkan manfaatnya.

Biaya yang Anda bayarkan untuk input yang di-cache

Setiap model teks di katalog kami mencantumkan ketentuan cache-nya. Di https://getvibeapi.com/api/catalog, setiap varian model memiliki:

  • cachedInputUsd: harga per 1M token input yang di-cache.
  • cacheReadMult: harga cache sebagai bagian dari harga input normal.
  • cacheWriteMult: cara penagihan penulisan ke cache dibandingkan dengan input normal.

Saat artikel ini ditulis, hampir semua model teks mencantumkan cacheReadMult: 0.1, yang berarti satu token input yang di-cache berharga sepersepuluh dari token normal, serta cacheWriteMult: 1. Satu-satunya pengecualian adalah Claude Fable 5.1, dengan 0.025 untuk pembacaan dan 1.25 untuk penulisan. Nilai-nilai ini dapat berubah, jadi bacalah dari katalog atau halaman setiap model, bukan dengan menuliskannya secara hard-code.

ModelHarga (input · output)
Claude Opus 5.5$0.1067 input · $0.5334 output per 1 juta token
GPT-6 Sol$0.1096 input · $0.548 output per 1 juta token
DeepSeek V4.1 Flash$0.0112 input · $0.0445 output per 1 juta token

Halaman model mencantumkan harga input yang di-cache di samping angka-angka ini.

Model OpenAI: otomatis

Di /v1/chat/completions, model keluarga OpenAI melakukan caching secara otomatis. Ketika beberapa request diawali prefix stabil yang sama, prefix tersebut dibaca dari cache. Anda tidak memerlukan field khusus. Yang penting, bagian awal request tidak berubah. Kami meneruskan body request byte demi byte tanpa mengurutkan ulang field, sehingga prefix yang identik di sisi Anda tetap identik di upstream.

Claude: breakpoint cache_control

Claude hanya melakukan caching ketika request menyertakan breakpoint cache_control secara eksplisit. Mengulang prefix saja tidak mengaktifkan caching. Letakkan breakpoint di akhir bagian yang tidak berubah:

curl https://getvibeapi.com/v1/messages \
  -H "x-api-key: $GETVIBE_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-opus-5.5",
    "max_tokens": 256,
    "system": [
      {"type": "text", "text": "Instruksi tetap yang panjang dan layak di-cache...",
       "cache_control": {"type": "ephemeral"}}
    ],
    "messages": [{"role": "user", "content": "Pertanyaan tentang instruksi tersebut"}]
  }'

Jika Anda tidak mengirim breakpoint sendiri, gateway akan menyisipkannya untuk Anda, baik di /v1/messages maupun /v1/chat/completions. Jika Anda mengelola breakpoint sendiri, markup Anda akan dibiarkan apa adanya.

Lima aturan untuk prompt yang dapat di-cache

  1. Konten stabil di awal, konten variabel di akhir. System prompt, definisi tool, dan dokumen referensi diletakkan di bagian atas. Pesan baru dari pengguna diletakkan di bagian akhir.
  2. Jangan letakkan timestamp atau ID request di dalam prefix. Satu karakter yang berubah di dekat bagian atas akan membatalkan semua bagian setelahnya.
  3. Gunakan urutan tetap untuk definisi tool. Membuat daftar tool dari map yang tidak berurutan akan mengubah prefix di setiap pemanggilan.
  4. Tambahkan, jangan tulis ulang, riwayat. Agent yang meringkas atau mengurutkan ulang giliran sebelumnya akan merusak cache. Tambahkan giliran baru di bagian akhir.
  5. Gunakan satu model. Cache terkait dengan model tertentu, jadi mengganti model di tengah percakapan akan memulai dari kondisi tanpa cache.

Periksa apakah caching berfungsi

Periksa objek usage dalam response. Dalam format OpenAI, token yang di-cache muncul di prompt_tokens_details.cached_tokens. Dalam format Anthropic, cari cache_read_input_tokens dan cache_creation_input_tokens. Tampilan usage di dashboard Anda juga menunjukkan persentase cache hit per model. Jika jumlah token yang di-cache tetap nol pada request identik, berarti ada bagian dari prefix Anda yang berubah.

Langkah berikutnya

Baca dokumentasi caching, siapkan Claude Code di custom endpoint (agent paling diuntungkan dari caching), atau bandingkan harga cache di halaman Models.

caching promptbiaya API LLMharga input yang di-cacheClaude cache_controlcaching prompt OpenAImengurangi biaya API LLM

Coba GetVibe API secara gratis

GPT, Claude, Gemini, dan lainnya melalui satu API yang kompatibel dengan OpenAI. Bayar dalam USD dengan kartu atau kripto.

Artikel terkait

Caching prompt: cara mengurangi biaya prompt berulang | GetVibe API