Significantly worse
- Query decomposition-0.087
- HyDE-0.040
- Step-back prompting-0.039
- CRAG relevance gradingchance
Significantly better
- Reranking on dense, Qwen3-Reranker-4B+0.044
- Reranking on BM25, bge-reranker-base+0.041
- Reranking on BM25, Qwen3-Reranker-4B+0.110
No detectable difference
- Reranking on dense, bge-reranker-base-0.033
- RRF fusion, 3 variants-0.024 to -0.009
- Chunking, 6 configs-0.017 to -0.003
- BGE query prefix-0.014
- Contextual retrieval+0.001
- Late interaction (ColBERT)+0.002
- Multi-query+0.009
- Weighted hybrid 0.7/0.3+0.010
Change in nDCG@10 against dense bge-base (0.759) on BEIR SciFact, 5,183 abstracts and 300 labelled queries; the BM25 rows are against BM25 alone (0.665). Each is a paired bootstrap 95% CI, Holm-corrected, with query rewriting by a 12B model. None of these are bad techniques. They are conditional, and the condition is whether your pipeline is already good at the thing they fix. The first version of this guide said seven of ten techniques made things worse; the significance tests showed most of those were noise. Full results.
The levels
Levels 1 to 12 are built and measured. 13 to 15 are roadmap notes.
More
Decision procedure, a build order with a diagnostic before each technique. Taxonomy of every RAG system by the problem it solves. Lab notebook, what broke and what I got wrong.