Proof and methodology
What the 77.2% benchmark does—and does not—prove.
This is a controlled provider-cache benchmark, not a customer savings guarantee. It measures one request shape where a large stable prefix repeats and the baseline client has not enabled Anthropic prompt caching.
Recorded result
The identical 12-request workload reduced measured total cost from $1.4413 to $0.3280. Full-price input fell from 138,914 to 24 tokens while the governed arm recorded 126,973 cache-read tokens. The difference was CachePilot's injected cache breakpoint.
| Model | claude-fable-5 |
| Requests | 12 per arm |
| Stable context | ~31K characters / ~8K tokens of production-style support instructions |
| Variable context | A different support question and ticket number per request |
| Output limit | 96 tokens |
| Baseline | Observe mode; no cache_control injection |
| Governed | govern_transform; one cache_control breakpoint injected |
| Cost inputs | Exact upstream usage fields multiplied by the rates recorded when the benchmark ran |
How to reproduce it
The benchmark lives in the proxy repository as test/fable_cost_benchmark.ts. It runs both arms through the real proxy route and calculates cost from Anthropic's returned usage fields.
CP_TEST_UPSTREAM_KEY=sk-ant-... \ CP_TEST_MODEL=claude-fable-5 \ CP_BENCH_REQUESTS=12 \ npm run bench:fable
Limitations. Results depend on model pricing, stable-prefix size, request frequency, cache lifetime, output length, and upstream behavior. Workloads with small or constantly changing prefixes may save little or nothing. Quality was constrained by identical requests and output limits, but the benchmark does not independently score response quality.