Where RAG genuinely works
RAG is strong where the answer is written in a document and the source changes often: procedures, product documentation, contract clauses, policy texts. Because the model is not retrained, the answer moves when the source moves, and the citation can be checked.
- Accuracy is high when one document holds the answer
- A changed source needs no retraining
- The citation makes the answer auditable
- Permission filters are inherited from the source system
The four cases where it falls short
Failed answers rarely share one cause; they usually split into four. Without that split, teams repair the wrong layer — swapping the model does nothing for a retrieval problem.
- The knowledge was never written down: no retrieval can find it
- Documents contradict: someone must decide which one governs
- The question needs multi-step inference, not a single lookup
- The answer needs computation: a tool, not a model, produces the number
Once the missing piece is named, the remedy follows. Missing behavior or format points to supervised fine-tuning, missing domain language to continued pre-training, and missing computation to tools the model can call. These are not alternatives to one another; each answers a different gap.
- Fine-tuning for format and task behavior
- Continued pre-training for depth in domain language
- Tool calling for computation and queries
- A planning workflow for multi-step tasks
Measurement makes the decision
Which path to take is settled by an evaluation set drawn from real questions, not by discussion. The same set runs before and after the change, and nothing ships while a regression stands.
- The set is built from real user questions
- Retrieval accuracy and answer correctness score separately
- Declining to answer counts as a form of success
- Every change is measured against its own baseline