Four breakpoints, used wisely
You get up to four cache_control: ephemeral breakpoints per request. The classic split: (1) system prompt with persona / policy, (2) tools list, (3) static documents (RAG context that does not change for this session), (4) early conversation history. Each breakpoint cuts where the next thing changes most often.
TTL and the 5-minute window
The default ephemeral cache TTL is 5 minutes. For workloads where calls are bursty, this is enough. For workloads where calls are sparse, you pay the cache write more often than you read it — measure before claiming caching helps.
Order matters more than people think
The cache rewards a stable prefix. If the assistant's last response is the same length but slightly reordered text, the cache hit is lost. Treat your prompt construction as deterministic — same inputs in, same byte-for-byte prefix out.