Trusting retrieval less, on purpose
Every architecture so far hands retrieved chunks straight to the language model and trusts them. Corrective RAG (CRAG) inserts a deliberate check between retrieval and generation: a lightweight evaluator model grades the retrieved chunks, typically as correct, ambiguous, or incorrect, before generation is allowed to proceed.
What happens on each grade
On a correct grade, CRAG behaves like any other RAG system: the chunks go straight to generation. On an incorrect grade, the system does not generate from that evidence at all; instead it falls back to an alternative source, most commonly a live web search, to fetch better evidence before trying again. On an ambiguous grade, CRAG does both: it keeps the useful parts of the original retrieval and supplements them with an external search, rather than discarding potentially-good evidence just because it was not a clean match.
Why this matters for reliability
CRAG's core insight is that retrieval failure and generation failure are separable problems, and treating them separately makes both easier to fix. A system that only ever gets better at generation (better prompts, better models) has no defense against being handed genuinely bad evidence, it will confidently write a fluent answer from irrelevant chunks. Grading the evidence first, and having a defined fallback for a bad grade, catches the retrieval failure before it becomes a generation failure a user actually sees.
Checkpoint
- Corrective RAG (CRAG): a lightweight evaluator grades retrieved chunks as correct, ambiguous, or incorrect before generation proceeds.
- On an incorrect grade, CRAG discards the retrieval and falls back to an external source like web search rather than generating from bad evidence.
- Separating "was the evidence good" from "was the answer well-written" lets a system catch a retrieval failure before it reaches the user as a generation failure.
If anything here still feels unclear, ask before moving to Lesson 15.