Dua lapisan caching yang bertumpuk.
Provider-side prompt cache memberi diskon 90% untuk prefix berulang. Semantic cache milik Anoman melayani request identik secara gratis. Bersama-sama keduanya memangkas pengeluaran pada beban kerja yang stabil.
Dua lapisan
Masalah berbeda, solusi berbeda
Lapisan A — Semantic cache
Sisi Anoman, didukung cache dalam-memori
Men-cache response lengkap untuk request yang identik. Saat hit: langsung dikembalikan, tanpa panggilan upstream, tanpa weighted token yang dipotong.
Terbaik untuk: bot FAQ, loop dev/test, query benchmark berulang.
Lapisan B — Provider prompt cache
Sisi upstream, transparan
Men-cache prefix system prompt besar di sisi server pada Anthropic / OpenAI / Google. Saat hit: tetap memanggil upstream tetapi hanya menagih 10% pada token yang di-cache.
Terbaik untuk: agent dengan system prompt ribuan token.
Lapisan A — Semantic cache
Cara kerjanya
- Key —
hash(customer_id + model + messages). Entri dipartisi per pelanggan; tidak mungkin ada kebocoran antar-pelanggan. - TTL — default 5 menit di Pro / PAYG / Enterprise. Dapat dikonfigurasi per key (1-300s) di dashboard.
- Apa yang dihitung sebagai “identik” — kecocokan persis pada seluruh array
messagesplus model. Perbedaan whitespace apa pun menjadikannya request yang berbeda. - Hanya opt-in — semantic cache mati secara default. Aktifkan per-request via header atau per-key di pengaturan dashboard.
- Auto-bypass — request dengan
stream: trueatautemperature > 0.3melewati cache (pemanggil sedang meminta variasi).
{
"choices": [{
"message": {"role": "assistant", "content": "The capital of Indonesia is Jakarta."}
}],
"_anoman": {
"cache": { "hit": true, "type": "semantic", "age_seconds": 14 },
"weighted_tokens": 0, // ← no quota deduction
"cost_usd": "0.000000" // ← free
}
}Saat hit, response membawa field _anoman.cache.age_seconds asli sehingga Anda tahu seberapa lama konten ter-cache.
Lapisan B — Provider prompt cache
Diterapkan secara transparan pada system prompt panjang
Saat request Anda memiliki system prompt > minimum provider, Anoman otomatis menyuntikkan penanda cache control agar upstream men-cache-nya di sisi server. Request berikutnya dengan prefix yang sama mendapat diskon cache.
| Provider | Prompt minimum | Diskon | Masa cache |
|---|---|---|---|
| Anthropic | 2,048 tokens (~8K chars) | Diskon 90% input ter-cache | 5 menit |
| OpenAI | Panjang berapa pun (otomatis) | Diskon 90% prefix ter-cache | ~5–10 menit |
| Google Gemini | 32,768 tokens (~130K chars) | Diskon 97.5% input ter-cache | API CachedContent eksplisit |
// You sent a 4000-token system prompt that matched a recent cached prefix.
// Provider charges 10% on the cached tokens; output is full price.
{
"choices": [{
"message": {"role": "assistant", "content": "..."}
}],
"usage": {
"prompt_tokens": 4127,
"completion_tokens": 380,
"prompt_tokens_details": { "cached_tokens": 4000 } // ← 4000 were cached
},
"_anoman": {
"cache": { "hit": true, "type": "provider" },
"weighted_tokens": 1600, // ← discounted from ~14,300 without cache
"cost_usd": "0.0048"
}
}Provider cache aktif otomatis — tanpa opt-in header. Diskon diterapkan ke tagihan Anda tanpa perubahan di sisi klien. Untuk memverifikasi bahwa ia aktif, periksa usage.prompt_tokens_details.cached_tokens pada response.
Kontrol
Header yang mengubah perilaku cache
| Header | Nilai | Efek |
|---|---|---|
| x-anoman-cache | semantic / off | Paksa semantic cache aktif atau nonaktif untuk request ini. |
| x-anoman-no-cache | 1 / true | Lewati pengecekan + penulisan semantic cache (provider cache tetap berlaku). |
| x-anoman-no-provider-cache | 1 / true | Lewati penyuntikan penanda provider cache (jarang; berguna untuk A/B testing biaya). |
# Semantic cache is opt-in. Two ways to enable:
# 1. Per-request header
curl https://api.anoman.io/v1/chat/completions \
-H "Authorization: Bearer anm-sk-..." \
-H "x-anoman-cache: semantic" \
-d '...'
# 2. Set as default on the API key (dashboard → Keys → Settings)
# Then it applies to every request without the header.Kapan masing-masing aktif
| Beban kerja | Semantic | Provider | Alasan |
|---|---|---|---|
| Chatbot FAQ | ✓ | — | Pertanyaan sama berulang. Cache jawaban lengkap. |
| Coding agentic | — | ✓ | Multi-turn dengan system prompt besar. Cache prefix. |
| RAG atas dokumen | — | ✓ | Chunk hasil retrieval sama di seluruh turn. Provider cache. |
| Eval / benchmark | ✓ | — | Menjalankan ulang prompt yang sama berulang kali. |
| Loop dev/test | ✓ | — | Iterasi pada prompt. Jangan bayar untuk pengulangan. |
| Penulisan kreatif | Tidak | — | Pengguna ingin variasi — semantic cache akan melawan Anda. |
Lihat penghematan Anda
Halaman Usage di dashboard menampilkan Cache savings dan Batch savings sebagai kolom terpisah. Angka penghematan semantic-cache adalah “berapa yang akan Anda keluarkan tanpa cache hit”. Penghematan provider-cache sudah termasuk dalam cost_usd per-request.
Inspeksi cache hit secara real-time.
Live Feed menandai setiap cache hit dengan pill CACHED.