Retrieval Cache Invalidation в 2026: как кэшировать RAG без выдачи вчерашней правды
Retrieval cache invalidation в 2026: как обновлять cached snippets, query results и answer-support context при смене документов, индексов и metadata.
Retrieval cache invalidation в 2026 нужна потому, что кэш в RAG улучшает latency и cost, но очень легко начинает хранить неправильную версию реальности. Cached query results, snippets, reranked lists и answer-support bundles могут оставаться в ходу уже после обновления документов, metadata, tenant scopes или целого индекса. В итоге система выглядит быстрой, но grounded quality quietly деградирует.
Кэш в RAG - это не только final answer cache. Часто кэшируются retrieval hits, reranking results, summaries и support snippets. И каждый такой слой может устареть по-своему.
Самый вредный anti-pattern - считать retrieval cache чисто performance-слоем. Если invalidation плохо спроектирована, кэш становится silent source of stale knowledge.
cache key должен учитывать corpus/index version и tenant scope;
invalidation нужна не только при новых документах, но и при metadata/filter changes;
retrieval cache и answer cache нельзя считать одним и тем же слоем.
Без техники
Индекс обновили, но cached retrieval bundle продолжает приносить старые snippets ещё несколько часов.
С техникой
Cache keys учитывают release version и tenant scope, а document updates триггерят targeted invalidation. Скорость сохраняется без stale bleed-through.
ПромптCache invalidation intuition
Почему TTL недостаточно для retrieval cache?
Ответ модели
Потому что stale knowledge может быть недопустима уже через минуту после важного update. Для некоторых изменений нужна явная invalidation, а не ожидание естественного истечения срока.
Без этого кэш будет reuse-ить результаты за пределами их истинной валидности.
Если cache key не меняется при смене индекса, tenant scope или filter policy, вы, скорее всего, кэшируете не результат запроса, а случайный слепок старой retrieval-конфигурации.
1. Include version and scope in cache keys
2. Invalidate on document and metadata changes explicitly
3. Separate retrieval cache from answer cache
4. Prefer targeted busting over global purges when possible
5. Track stale-hit incidents, not just hit rate
Практический совет: хороший retrieval cache ускоряет доступ к актуальному знанию. Плохой cache ускоряет доступ к устаревшей версии мира. Для пользователя разница огромна, даже если latency chart красивый в обоих случаях.