Insight Hub
RAG Failure Modes: 3 Stages, Not One Root Cause

RAG Failure Modes: 3 Stages, Not One Root Cause

A wrong RAG answer can originate in retrieval, representation, or generation - and each stage needs a completely different fix. Fixing the wrong stage isn't a minor inefficiency, it's wasted work.

Part of: The RAG Pipeline: 5 Decisions That Control Answer Quality

When a RAG system gives a wrong answer, the instinct is almost always to fix the model - rewrite the prompt, swap in a bigger model, add more instructions. That instinct is often aimed at the wrong stage. A wrong answer can originate in retrieval, in how context gets represented to the model, or in generation itself, and each of those three root causes needs a completely different fix.

The 3-Stage Failure Map of a RAG Pipeline

Query
Retrieval Stage
Representation Stage
Generation Stage
Answer — correct, or failed at which stage?

Why "The Model Got It Wrong" Isn't a Diagnosis

Barnett et al.'s foundational paper on RAG failure points names seven distinct ways a RAG system can fail: Missing Content, Missed Top-Ranked Document, Not in Context, Not Extracted, Wrong Format, Incorrect Specificity, and Incomplete. Wenqi Glantz's widely-cited follow-up extends this to twelve pain points covering the same territory in more operational detail. The value of naming these separately isn't academic - a wrong answer looks the same to a user regardless of which of the seven caused it, but the fix for each one lives in a different part of the pipeline.

Three Stages, Three Different Failure Families

Snorkel AI's practical framing groups these failure points into three pipeline stages, and that grouping is the fastest way to triage a bad answer. Retrieval failures mean the right document never made it into the candidate set at all - either it doesn't exist in the corpus (Missing Content) or it exists but didn't rank high enough (Missed Top-Ranked Document). Representation failures mean retrieval worked, but the information didn't survive the trip from retrieved chunk to usable context - separated from necessary surrounding detail (Not in Context) or present but overlooked by the model (Not Extracted). Generation failures mean the model had everything it needed and still produced a wrong-shaped answer (Wrong Format, Incorrect Specificity, Incomplete).

Three Failures That Look Identical, Different Root Stage

Query

What's the refund policy for the Enterprise plan?

What actually happened inside the pipeline

The corpus only has refund policy docs for the Free and Pro plans - nothing about Enterprise exists anywhere. The retriever still returns the 'closest' chunk (the Pro plan policy) because similarity scores are never exactly zero.

What the user actually got

The Enterprise plan has a 30-day refund window. (wrong - this is the Pro plan's policy; no Enterprise document exists at all)

Root cause

This is Barnett et al.'s 'Missing Content' failure - the needed information doesn't exist in the corpus at all. It's not that the retriever picked the wrong chunk; the right chunk was never written. The problem is upstream in the data, not in embeddings or prompting.

Decision point

→ Add the missing document to the corpus - don't touch the retriever or the prompt

The Same Symptom, Three Different Root Causes

The inspector above shows why this taxonomy matters in practice: a vague or incomplete-looking answer can come from a document that was never written, a fact buried in a long context the model skimmed past, or a model that had the right number and chose not to state it. All three look like "the answer wasn't good enough" from the outside. Misdiagnosing which one you're facing means fixing the wrong layer - rewriting a prompt does nothing for a document that doesn't exist, and adding more documents to the corpus does nothing for a model that already had the answer and phrased it vaguely.

Which Stage Actually Fails Most Often

RAG Failures by Pipeline Stage

Pipeline stage → observed frequency → how easily it gets misdiagnosed

Retrieval (Missing Content, Missed Top-Ranked Doc)
Most common

The needed document doesn't exist, or exists but never lands in the top-k - the failure category cited most often across practical postmortems.

Barnett et al., Snorkel AI
Representation (Not in Context, Not Extracted)
Second most common

The right chunk is retrieved, but the needed information is separated from its context, or gets missed when the model processes a long context.

Barnett et al., Snorkel AI
Generation (Wrong Format, Incorrect Specificity, Incomplete)
Most often blamed first

The model has the right data but presents it wrong - this is the most visible failure category (it's right there in the final answer), so it gets suspected first even though it isn't the most frequent root cause.

Barnett et al., Wenqi Glantz
Takeaway: the stage blamed first isn't the stage that fails most

Because generation is the last stage - where a failure actually 'shows up' in the answer - teams often prompt-engineer generation first, when most failures actuallyoriginate upstream in retrieval/representation

This is a qualitative ranking synthesized from industry observation (Barnett et al., the Snorkel AI blog, Wenqi Glantz) about which failure category gets cited or encountered most often in practical postmortems - not a frequency figure measured from a specific benchmark dataset. No study publishes an exact percentage split by stage; use this ordering to decide where to debug first, not as a precise statistic for your own system.

Why the Ranking Isn't a Guarantee for Your System

The ordering above reflects what gets reported most often across RAG postmortems in aggregate - it isn't a law that applies identically to every pipeline. A team running RAG over a narrow, well-curated internal corpus may have already eliminated most retrieval failures simply because there's little room for a document to be missing, which shifts their real bottleneck toward representation or generation instead. Use the ranking to decide where to look first when you don't yet have your own error data, not as a reason to skip checking a stage just because it's statistically less common industry-wide.

Building Error Analysis Around the Three Stages

The practical use of this taxonomy is in how you triage errors, not just how you name them. When reviewing a batch of bad answers, sort each one into retrieval, representation, or generation before deciding on a fix - this is a five-minute classification step that prevents the much more common mistake of tuning the same layer (usually generation, since it's the most visible) repeatedly while the actual bottleneck sits untouched upstream. A spike in one stage's failures across many queries is also a signal worth tracking on its own, since it usually points at a systemic gap (a whole category of documents missing, or context windows consistently too long) rather than a one-off.

Common Pitfalls in Failure Mode Diagnosis

The recurring mistakes: treating every wrong answer as a generation problem and reaching for prompt tweaks first, when the fix belongs upstream; not distinguishing "the document doesn't exist" from "the document exists but wasn't ranked highly enough," which point at completely different retrieval fixes (adding content versus tuning the retriever); assuming a correctly-retrieved chunk guarantees a correct answer, when representation failures can still swallow the right information before it reaches generation; and skipping the stage-classification step entirely, which makes it impossible to tell whether a fix actually addressed the root cause or just changed the symptom.