All articles
February 22, 2026 6 min read

RAG variants: Naive, Hybrid, Adaptive, and Corrective (CRAG)

'Which RAG have you worked with?' has more than one answer. Beyond naive and hybrid retrieval, Adaptive RAG routes by query complexity and Corrective RAG grades its own retrieval and fixes it. Here's the ladder.

Written forEngineering
RAGRetrievalArchitecture

RAG isn't one architecture — it's a ladder of them, and being able to name where you are on it signals how far past the tutorial you've gone. Four rungs matter: naive, hybrid, adaptive, and corrective.

Naive RAG

The tutorial version: embed the query, fetch the top-k most similar chunks by vector similarity, stuff them into the prompt, generate. It works for easy questions over a clean corpus — and it's blind to exact-match terms (dense embeddings miss a product code) and to its own failures (if retrieval returns junk, it answers from junk anyway). Fine to start; not where you ship.

Hybrid RAG

The production baseline. Run dense vector search and sparse keyword search (BM25) together and fuse the results, then rerank the merged set — so you get semantic recall and lexical precision at once (the advanced-RAG and grounding posts cover the mechanics). Most 'we do RAG' in production means this.

Adaptive RAG

Not every query deserves the same effort. Adaptive RAG puts a lightweight classifier in front that routes by complexity: answer directly with no retrieval for simple or already-known questions, do a single-shot retrieval for straightforward factual ones, and run multi-step iterative retrieval for complex, multi-hop questions. It spends retrieval budget where it's actually needed and stops over-retrieving for the easy majority — a cost and latency win as much as a quality one.

Corrective RAG (CRAG)

CRAG adds a self-check so a bad retrieval doesn't silently become a bad answer. A lightweight retrieval evaluator grades the retrieved documents — correct, incorrect, or ambiguous — and when they're poor it triggers corrective action: refine the retrieved knowledge (decompose it and keep only the relevant strips) and, when the internal corpus clearly lacks the answer, supplement with a web search. The system notices its context is weak and fixes it before generating, instead of confidently answering from the wrong chunks.

Which one, and when

  • Naive — a demo, or a small, clean corpus with forgiving queries.
  • Hybrid — the default for production; the floor, not the ceiling.
  • Adaptive — when queries vary widely in complexity and you want to stop paying full retrieval cost on the easy ones.
  • Corrective — when a wrong answer is expensive and you can afford the evaluator plus a fallback path.

They compose, too: hybrid retrieval inside an adaptive router with a corrective check on top is a strong, honest stack — and a far better interview answer than 'we use RAG'.

Naive RAG retrieves and hopes. Hybrid retrieves well. Adaptive retrieves only as much as the query needs. Corrective checks whether it retrieved the right thing at all — and each rung up buys reliability the one below can't.
Building something with LLMs?
I help teams ship GenAI that’s reliable and cost-efficient.
Let’s talk