Chapter CInside RAG — the pipelinePage 5 of 8

Inside RAG — the pipeline

Anticipate failure modes

RAG pipeline steps becomes useful when you can predict its behavior, measure it, and name its limits.

~12 minFailure modes

Before you start

Why this matters

Read this failure list once: bad parsing, orphaned headings, wrong tenant filters, stale indexes, embedding-version mismatch, low retrieval recall, context stuffed with near-duplicates, prompt instructions inside documents, unsupported synthesis, and citations that point to a source that does not support the claim. Pick the failure that could pass a cheerful demo and explain why the demo would miss it.

1Learn the idea

Read

Failures are part of the design

See it

RAG in one glance
  1. QuestionYour ask
  2. RetrieveFind docs
  3. StuffAdd to prompt
  4. AnswerWith evidence

Look up trusted notes first — then answer with that context

Realistic failures include bad parsing, orphaned headings, wrong tenant filters, stale indexes, embedding-version mismatch, low retrieval recall, context stuffed with near-duplicates, prompt instructions inside documents, unsupported synthesis, and citations that point to a source that does not support the claim.

Classify each failure as prevent, detect, contain, or recover. Prevention is strongest when a hard invariant is possible: schema validation, access control, data-split isolation, or admission limits. Detection needs an observable signal and owner. Containment limits blast radius with tenant boundaries, read-only tools, canaries, budgets, or circuit breakers. Recovery needs a tested fallback, rollback, re-index, or human queue.

Avoid a vague instruction such as “be careful.” Write a tripwire: a metric threshold, validation error, unexpected version, or forbidden action. Then state the response. If the response is “retry,” explain why the failure is transient and why retrying cannot duplicate a side effect or amplify overload.

Read

Apply it to a concrete case

For “Can I carry over vacation?”, hybrid search retrieves policy chunks. A reranker promotes the region-specific 2026 policy over a popular 2024 FAQ. The answer quotes the two-day limit and cites the exact chunk; without supporting evidence it abstains.

The worked number is if 18 of 20 test questions retrieve at least one relevant chunk in top 5, recall@5 = 18/20 = 0.90. State the unit and denominator whenever you report it. A percentage without a denominator can conceal a tiny sample; a latency without a percentile can conceal slow users; a similarity score without a labeled task can conceal irrelevant neighbors. Compare the observed value with a threshold chosen before seeing the final test result.

Now test the tempting shortcut. Suppose the team optimizes only the most visible metric. The result may look better while the system becomes less trustworthy. The reason is concrete: Small chunks retrieve precisely but lose surrounding context; large chunks preserve context but dilute matches. Higher top-k improves recall while adding distractors and tokens. Reranking improves ordering at extra latency. Fresh indexing costs compute but stale evidence damages trust. This is why the decision record must include both the intended gain and the tolerated regression. If the tolerated regression is unknown, the change is not ready for a consequential workflow.

Read

Decision rules

  • Prefer a measured baseline over a persuasive demo.
  • Keep versions, inputs, and thresholds reproducible.
  • Separate syntactic success from semantic correctness and authorization.
  • Escalate or abstain when evidence falls outside the contract.
  • Re-evaluate when data, traffic, models, providers, or user goals change.

These rules turn the topic into an engineering decision rather than a slogan. They also make disagreement productive: another person can challenge the assumptions, rerun the evaluation, and reach a documented conclusion.

Read

Rehearse one failure safely

Choose the failure with the largest combination of likelihood and impact. Inject it in a test environment without weakening production controls. Capture the first observable symptom, the alert that should fire, the component that contains the damage, and the recovery action. Then remove one safeguard and predict how the blast radius changes before running again. The lesson is not that every failure can be detected from model text. Strong designs enforce invariants outside the model and preserve enough evidence to distinguish bad input, component failure, policy refusal, and ordinary low-confidence output.

Checking tutor…

Continue learning · glossary & guides