Prompt caching
Trace a worked example
Prompt caching becomes useful when you can predict its behavior, measure it, and name its limits.
Before you start
Why this matters
For the worked trace, estimate the result before calculating it: without caching: 12.3M input tokens/day; with 90% prefix hits: 1.2M uncached prefix + 0.3M suffix = 1.5M full-price-equivalent tokens before cache-read pricing. Record the assumptions that make the estimate valid.
1Learn the idea
Read
Trace one decision end to end
Scenario: A 12,000-token policy manual is shared by 1,000 daily requests; each request adds 300 unique tokens. Moving the manual before the user message makes the 12,000-token prefix reusable while the 300-token suffix stays dynamic.
Write the trace as numbered state transitions, not a polished story:
- Capture the input, version, identity, and assumptions.
- Apply the mechanism: Transformer inference computes attention keys and values for each prefix token. A provider can retain or recognize that prefix state and skip recomputing it on later requests whose bytes, ordering, model, and cache rules match. The changing user message belongs after the stable prefix. Cache lifetime, minimum prefix length, and discount rules are provider-specific.
- Record the relevant controls: prefix ordering; exact serialization; cache breakpoints; time-to-live; model/version pinning; tenant scope; minimum cacheable tokens; stable-versus-dynamic boundary; and metrics for hit tokens rather than request hits.
- Calculate or inspect the intermediate signal:
without caching: 12.3M input tokens/day; with 90% prefix hits: 1.2M uncached prefix + 0.3M suffix = 1.5M full-price-equivalent tokens before cache-read pricing. - Compare the result with a baseline and an acceptance threshold.
- Store enough evidence to reproduce the decision without storing unnecessary sensitive content.
Now perturb the trace. Change one input to a long, stale, ambiguous, or unauthorized case. A robust design should either continue within its contract or abstain visibly. Silent degradation is worse than a clear refusal because downstream systems may interpret fluent output as verified output.
Read
Apply it to a concrete case
A 12,000-token policy manual is shared by 1,000 daily requests; each request adds 300 unique tokens. Moving the manual before the user message makes the 12,000-token prefix reusable while the 300-token suffix stays dynamic.
The worked number is without caching: 12.3M input tokens/day; with 90% prefix hits: 1.2M uncached prefix + 0.3M suffix = 1.5M full-price-equivalent tokens before cache-read pricing. State the unit and denominator whenever you report it. A percentage without a denominator can conceal a tiny sample; a latency without a percentile can conceal slow users; a similarity score without a labeled task can conceal irrelevant neighbors. Compare the observed value with a threshold chosen before seeing the final test result.
Now test the tempting shortcut. Suppose the team optimizes only the most visible metric. The result may look better while the system becomes less trustworthy. The reason is concrete: A longer cached prefix can save more input work but may carry irrelevant context and increase uncached misses when any early token changes. Explicit caches improve control but require lifecycle management. Savings depend on repetition, provider pricing, and whether latency is dominated by input processing or output generation. This is why the decision record must include both the intended gain and the tolerated regression. If the tolerated regression is unknown, the change is not ready for a consequential workflow.
Read
Decision rules
- Prefer a measured baseline over a persuasive demo.
- Keep versions, inputs, and thresholds reproducible.
- Separate syntactic success from semantic correctness and authorization.
- Escalate or abstain when evidence falls outside the contract.
- Re-evaluate when data, traffic, models, providers, or user goals change.
These rules turn the topic into an engineering decision rather than a slogan. They also make disagreement productive: another person can challenge the assumptions, rerun the evaluation, and reach a documented conclusion.
Read
Perform sensitivity analysis
The trace used one set of assumptions. Change one quantity by a realistic amount while holding the others fixed, then recompute the result. Next change a categorical assumption: model version, tenant, language, traffic shape, data freshness, or permission level. Mark which steps remain valid and which must be repeated. This is a stronger test than narrating the happy path because it reveals hidden coupling. Preserve the original and perturbed traces side by side, including intermediate values, so a reviewer can locate the first point at which their behavior diverges.