Traditional RAG and where it stops
What it is
RAG (retrieval-augmented generation) answers from your documents in a fixed pipeline:
- Retrieve: search a document index for passages similar to the question.
- Augment: put the top passages into the prompt.
- Generate: the model answers from those passages.
One search, one answer, every time, in an order your code fixed.
Why it matters
That pipeline is cheap and predictable, and it fails on four kinds of question:
- Multi-hop: 'Is the fee for my late order refundable?' needs the order first, then the policy.
- Vague or conversational: 'what about the other one?' cannot be searched as written.
- Wrong source: the answer is in the orders database, not the help centre.
- Bad retrieval: the search returned nothing relevant, and the pipeline answers anyway.
Each failure is the pipeline having no way to look at what it got and decide what to do next.
In the real world: A help-centre bot answers 'what is the return window?' perfectly and fails 'can I still return the kettle I bought?', which needs the purchase date from another system.
Blaming the model for a retrieval failure. If the right passage was never fetched, no model can answer correctly. Check what was retrieved before changing anything else.