{"id":"prompt-caching-optimization","slug":"prompt-caching-optimization","name":"Prompt-caching cost optimization","shortName":"Prompt caching","problemStatement":"Cut spend on long system prompts, tool schemas, and RAG prefixes via provider prompt caching / context caching with predictable hit rates.","whenNotTopPick":"Workloads are short-prefix high-variance (cache thrash), or gateway-level cache across vendors (Portkey/CF AI Gateway) matters more than first-party cache.","categoryIds":["cat-inference-apis"],"depotPickProviderId":"anthropic","depotPickRationale":"pricePerf + DX of cache controls + hit-rate observability. Anthropic prompt caching is the clearest agent-facing story; OpenAI/Gemini close. Confidence: high.","runnersUpIds":["openai","google-ai","portkey","amazon-bedrock"],"weights":{"capabilityFit":0.18,"pricePerformance":0.32,"latencyReliability":0.14,"developerDx":0.12,"privacyPosture":0.08,"lockInRisk":0.08,"maturity":0.08},"methodologyNotes":"pricePerf + DX of cache controls + hit-rate observability. Anthropic prompt caching is the clearest agent-facing story; OpenAI/Gemini close. Confidence: high.","tags":["caching","cost","prompts","inference"],"depth":{"whenNotToUse":{"text":"Workloads are short-prefix high-variance (cache thrash), or gateway-level cache across vendors (Portkey/CF AI Gateway) matters more than first-party cache.","source":"editorial `whenNotTopPick` (data/jtbds.json)"},"whenNotToUseReason":null,"runnerUp":{"providerId":"openai","name":"OpenAI","overallForJob":7.72,"pickOverallForJob":8,"beatsPickOn":["latencyReliability","developerDx","maturity"],"source":"first resolvable entry of the job's editorially ranked `runnersUpIds`; scores are stored job-weighted scores"},"runnerUpReason":null,"lockIn":{"pickLockInRisk":6.5,"runnerUpLockInRisk":7.2,"scale":"0–10 stored curated estimate; higher = more lock-in (worse)","pickExitSignals":[],"runnerUpExitSignals":[],"pickNotes":[],"selfHostFallback":[],"migration":"The pick has lower stored lock-in risk than runner-up OpenAI (6.5 vs 7.2).","migrationReason":null,"derivedFrom":"stored lockInRisk scores, provider tags (oss, self-host, openai-compat, open-models), free rows that list this job, and verbatim provider notes. No migration guide was invented."}},"freshness":{"pick":{"score":{"asOf":"2026-10-19","ageDays":8,"stale":false,"staleAfterDays":30,"reason":null},"lastReviewed":{"asOf":"2026-10-19","ageDays":8,"stale":false,"staleAfterDays":30,"reason":null},"sourceCheck":{"checkedAt":"2026-10-27","sourceUrls":2,"sourcesReachable":2,"pricingRows":15,"pricingRowsReconfirmed":15,"note":"A source re-check confirms the page is reachable and, for pricing rows, that the stored amount and SKU name appear on it. It does not re-derive or change the score.","reason":null}}}}