RAG Is a Search Problem in a Trench Coat
Text
1. The claim
If the passage containing the answer is not in the retrieved set, nothing downstream recovers it. Not a better reranker, not a larger model, not a more elaborate prompt. That is a hard ceiling, and it is set by decisions that happen before any embedding is computed.
The claim is therefore about attention, not about technology: the marginal engineering hour in most retrieval systems is better spent on chunking, query construction and evaluation than on the embedding model, and teams reliably spend it the other way because the model is the part with a leaderboard.
2. Where the losses actually happen
document
| split <- most loss enters here
v
chunk (metadata kept? structure respected?)
| embed <- the part everyone tunes
v
vector -> index <- recall ceiling set here
|
query (as typed? expanded? filtered?)
| retrieve k <- k set once, never tuned
v
rank (dense only? hybrid?)
|
v
assemble context <- order, truncation
|
v
generation
2.1. Splitting. Fixed-size windows with a fixed overlap are the default in every starter template, and they cut through tables, headings, list items and the sentence that defines the term used in the next paragraph. A split that respects document structure (sections, table boundaries, list integrity) usually beats any model change, and it costs a day.
2.2. Metadata loss. The chunk arrives at the index having forgotten which document, which version, which section, which effective date and which tenant it came from. Every one of those is a filter that would have removed most of the false positives, and the loss is silent because the pipeline still returns plausible results.
2.3. The query is used raw. Users type fragments, misspellings and internal jargon. The corpus is written in formal prose. Dense retrieval is good at bridging that gap and lexical retrieval is good at exact identifiers, part numbers and error codes, which is precisely where dense retrieval fails and precisely what users paste in.
2.4. k was chosen once. Almost always 3, 5 or 10, on the first day, and it is never
tuned against a measurement because there is no measurement.
3. The measurement that changes the conversation
Retrieval quality and answer quality are different numbers and must be measured separately. Almost every team measures the second and infers the first, which makes every regression ambiguous.
| § | Step |
|---|---|
| 1 | Build an evaluation set of real questions, fifty is enough to start, taken from what users actually asked rather than what the corpus makes easy. |
| 2 | Label the answer location, not the answer. For each question, record which passage of which document contains it. This is the expensive part and it is done once. |
| 3 | Measure recall@k of the answer-bearing passage. This number is the ceiling on the whole system. If it is 0.6, no amount of generation work takes the system above 0.6. |
| 4 | Only then measure answer quality, and treat any gap between recall and answer accuracy as a generation problem rather than a retrieval one. |
Once step 3 exists, the argument about embedding models resolves itself empirically in an afternoon, in either direction, which is the outcome this paper actually wants.
Figure 2. My ordering of expected marginal gain, not a measurement. It is a hypothesis this paper asks you to test with Section 3, and it is exactly the kind of ordinal claim that ought to carry a confidence value.
4. The order of work this argues for
- Evaluation set with labelled answer locations. Nothing else is decidable without it.
- Fix splitting so it respects document structure, and keep document, section, version and tenant on every chunk.
- Add lexical retrieval alongside dense, and fuse the rankings. Identifiers and error codes stop disappearing.
- Use the metadata as filters before ranking rather than as display fields after it.
- Tune
kand add reranking against the measurement from step 1. - Then, and only with a number to compare against, consider the embedding model.
5. The strongest objection
6. What this paper does not claim
Embedding models matter, and vector indexes are necessary. Saying otherwise about the second of those is the over-claim that retired 5.10, and I am not making it again. Figure 2 does not generalise; it is labelled a hypothesis because that is what it is.
Classical information retrieval does not solve this on its own either. The claim is only that the classical parts are where the unspent engineering hours are, and that a team without the measurement in Section 3 has no way to find out whether that is true of their corpus.
Retirement conditions
This paper MUST be retracted if any of the following is demonstrated.
| § | Condition |
|---|---|
| 1 | A published evaluation on a realistic corpus in which swapping the embedding model, holding chunking, query construction and retrieval strategy fixed, produces a larger gain in answer accuracy than fixing chunking while holding the model fixed. |
| 2 | Context windows and attention costs reaching a point where whole-corpus prompting is economically routine, which would remove the retrieval stage this paper is about rather than improve it. |
| 3 | Evidence that retrieval recall of the answer-bearing passage is not the binding constraint in production systems, for example generation reliably recovering answers absent from the retrieved context. |
Revision history
| Date | Change |
|---|---|
| 2026-08-14 | Text written: where the losses enter the pipeline, the recall measurement that makes the argument decidable, the order of work, and the long-context objection. Retirement conditions added. Scoped deliberately narrower than the retracted 5.10; see erratum 7.2. Confidence unchanged. |
| 2026-01-30 | Listed in Section 5 with a title, a summary and a confidence value. No text. |