CRAG, или Corrective Retrieval Augmented Generation, исходит из очень практичной мысли: проблема RAG часто не в генерации, а в том, что retrieval принёс мусор, полупопадания или неполные документы. Вместо слепого trust в top-k, CRAG сначала оценивает качество retrieval и только потом решает, как действовать дальше.
В 2026 это один из самых полезных production-паттернов вокруг RAG. Он хорошо отвечает на реальную боль: "мы уже сделали retrieval, но кто сказал, что он хороший?"
Обычный RAG действует так:
CRAG добавляет corrective layer:
Это переводит систему из режима blind consumption в режим controlled grounding.
CRAG хорошо подходит для:
Если retrieval уже очень сильный и узкий по домену, CRAG может быть избыточным.
CRAG требует метрики или модели, которая умеет различать хороший и плохой retrieval. Если evaluator слабый, система либо слишком часто делает corrective loops, либо пропускает плохие документы дальше.
Кроме того, у техники почти всегда выше latency, чем у plain RAG.
Большинство production-RAG систем уже поняли, что главная причина ошибок находится раньше генерации. CRAG важен потому, что делает retrieval quality first-class signal, а не скрытой предпосылкой.
Это особенно ценно для систем с heterogeneous corpora, где стабильность поиска не гарантирована.