Resolving a Clash Between a Cached Tool Result and Fresh Data
An agent that answers billing questions caches the result of an
get_account_plan tool call for 10 minutes to reduce latency and
tool-call volume. A customer's session starts, the tool is called
once, and the cached result ("plan: Pro, renews monthly") is reused
across several turns within the 10-minute window. At minute 6 of the
session, the customer says "I just downgraded to the free plan,
can you confirm my new billing date?" The agent, still working from
the 6-minute-old cached "Pro" result plus the customer's own
statement in conversation history, produces an answer that hedges
between the two ("your Pro plan renews on the 14th, though if you've
downgraded that may change") instead of giving a clear, correct
answer.
- Name the failure mode and identify exactly which two context regions are in conflict.
- Propose a concrete rule for resolving this class of conflict that would generalize beyond this one example — not a one-off fix for the billing tool specifically.
- Is simply removing the 10-minute cache (always calling the tool fresh) the right fix? What does it cost, and is there a better middle ground?
Share this question