The biggest single saving in most agent sessions comes from one number, and you can read it straight off the response.
Cache hit rate
The share of a request's input tokens that came from the prompt cache. Because an agent resends everything each turn, a high rate can cut the input bill several times over, and a low one can quietly cost more than having no cache at all.
One changing byte near the top of the prompt can send this to zero, and nothing fails. The agent works just as well, and you pay more for it. So this is a number to watch: read it from the usage fields, and treat a fall as you would treat a failing check.
“Log usage on every request and work out cache_read_input_tokens divided by the sum of input_tokens, cache_creation_input_tokens and cache_read_input_tokens. Fail the eval if the second turn onwards averages under 80%. Move the date and anything else that changes out of the system prompt.”