Inside RAG — the pipeline
Trace a worked example
RAG pipeline steps becomes useful when you can predict its behavior, measure it, and name its limits.
Before you start
Why this matters
For the worked trace, estimate the result before calculating it: if 18 of 20 test questions retrieve at least one relevant chunk in top 5, recall@5 = 18/20 = 0.90. Record the assumptions that make the estimate valid.
1Learn the idea
Read
Trace one decision end to end
See it
- QuestionYour ask
- RetrieveFind docs
- StuffAdd to prompt
- AnswerWith evidence
Look up trusted notes first — then answer with that context
Scenario: 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.
Write the trace as numbered state transitions, not a polished story:
- Capture the input, version, identity, and assumptions.
- Apply the mechanism: Documents are parsed, normalized, split into addressable chunks, enriched with metadata, embedded, and indexed. At query time, the system may rewrite the question, apply access filters, run vector or hybrid search, rerank candidates, fit the best evidence into a context budget, and generate an answer whose claims point back to sources.
- Record the relevant controls: chunk size and overlap; embedding model; vector and keyword weights; metadata filters; candidate top-k; reranker depth; context token budget; citation format; abstention rule; and index refresh cadence.
- Calculate or inspect the intermediate signal:
if 18 of 20 test questions retrieve at least one relevant chunk in top 5, recall@5 = 18/20 = 0.90. - Compare the result with a baseline and an acceptance threshold.
- Store enough evidence to reproduce the decision without storing unnecessary sensitive content.
Now perturb the trace. Change one input to a long, stale, ambiguous, or unauthorized case. A robust design should either continue within its contract or abstain visibly. Silent degradation is worse than a clear refusal because downstream systems may interpret fluent output as verified output.
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
Perform sensitivity analysis
The trace used one set of assumptions. Change one quantity by a realistic amount while holding the others fixed, then recompute the result. Next change a categorical assumption: model version, tenant, language, traffic shape, data freshness, or permission level. Mark which steps remain valid and which must be repeated. This is a stronger test than narrating the happy path because it reveals hidden coupling. Preserve the original and perturbed traces side by side, including intermediate values, so a reviewer can locate the first point at which their behavior diverges.