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.

Modelclaude-fable-5
Requests12 per arm
Stable context~31K characters / ~8K tokens of production-style support instructions
Variable contextA different support question and ticket number per request
Output limit96 tokens
BaselineObserve mode; no cache_control injection
Governedgovern_transform; one cache_control breakpoint injected
Cost inputsExact 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.