anoman
Konsep · Caching

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

  • Keyhash(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 messages plus 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: true atau temperature > 0.3 melewati 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.

ProviderPrompt minimumDiskonMasa cache
Anthropic2,048 tokens (~8K chars)Diskon 90% input ter-cache5 menit
OpenAIPanjang berapa pun (otomatis)Diskon 90% prefix ter-cache~5–10 menit
Google Gemini32,768 tokens (~130K chars)Diskon 97.5% input ter-cacheAPI 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

HeaderNilaiEfek
x-anoman-cachesemantic / offPaksa semantic cache aktif atau nonaktif untuk request ini.
x-anoman-no-cache1 / trueLewati pengecekan + penulisan semantic cache (provider cache tetap berlaku).
x-anoman-no-provider-cache1 / trueLewati 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 kerjaSemanticProviderAlasan
Chatbot FAQPertanyaan sama berulang. Cache jawaban lengkap.
Coding agenticMulti-turn dengan system prompt besar. Cache prefix.
RAG atas dokumenChunk hasil retrieval sama di seluruh turn. Provider cache.
Eval / benchmarkMenjalankan ulang prompt yang sama berulang kali.
Loop dev/testIterasi pada prompt. Jangan bayar untuk pengulangan.
Penulisan kreatifTidakPengguna 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.