Semantic caching
Equivalent prompts hit cache, not the model. 'Summarize this contract' on the same contract serves from cache; the underlying model is never called twice for the same answer. A scheduled purge clears entries the vector layer would otherwise keep forever, so the hit rate does not quietly decay as orphans crowd out valid matches.