RAG top-k retrieval precision experiment: precision falling as more chunks are retrieved while recall keeps increasing
| |

Honest Write-Up: Why “Just Retrieve More Chunks” Doesn’t Scale in RAG

RAG top-k retrieval precision is the real cost hiding behind the advice to just retrieve more chunks: recall keeps climbing while precision quietly collapses.

Honest Write-Up: Why Retrieving More Chunks Eventually Hurts Precision in RAG

When a Retrieval-Augmented Generation system misses an answer, one of the easiest fixes is:

Retrieve more chunks.

If top-3 retrieval misses useful evidence, try top-5.

Still missing it?

Try top-10.

Or top-20.

The logic seems reasonable.

The more chunks we retrieve, the greater the chance that the relevant information will be somewhere in the context.

And that part is often true.

But there is another side to the trade-off.

As we retrieve more chunks, we may also retrieve more irrelevant material.

So I wanted to test a simple question:

What happens to retrieval quality as we keep increasing top-k?

The result was not that retrieving more is always bad.

It was more interesting:

Increasing top-k can improve recall while simultaneously reducing precision.

At some point, retrieving additional chunks may mostly add noise rather than useful evidence.

That makes top-k a trade-off—not a setting that should simply be increased until retrieval “works.”


1. What Is Top-k?

A retriever assigns a relevance score to candidate chunks.

If:

k = 3

we retrieve the three highest-ranked chunks.

If:

k = 10

we retrieve ten.

Conceptually:

Query

↓

Retriever

↓

Rank all chunks

↓

Return top-k

↓

Send retrieved context to LLM

Increasing k gives the downstream system more information.

But it also gives it more text to process.

Those are not necessarily the same thing.


2. The Tempting Assumption

Suppose the relevant chunk appears at rank 7.

With:

k = 3

we miss it.

With:

k = 5

we still miss it.

With:

k = 10

we retrieve it.

So increasing k solved the problem.

That creates a tempting rule:

If retrieval is weak, retrieve more.

But now imagine the top-10 contains:

  • 2 highly relevant chunks,
  • 1 partially relevant chunk,
  • 7 irrelevant chunks.

The answer is present.

But so is a large amount of noise.

The retrieval system has improved one thing:

recall

while potentially damaging another:

precision.


3. The Research Question

The experiment asks:

How do retrieval precision and recall change as top-k increases?

The hypothesis is straightforward.

As k increases:

Recall should tend to increase because more candidate chunks are returned.

At the same time:

Precision may decline because lower-ranked results are increasingly likely to be irrelevant.

The important question is not whether either effect exists.

It is:

Where does retrieving additional context stop producing enough useful evidence to justify the extra noise?


4. Why This Matters for RAG

Retrieval does not happen in isolation.

The retrieved chunks are usually passed to a language model.

That means irrelevant retrieval has downstream consequences.

Additional chunks can:

  • consume context-window capacity,
  • increase input tokens,
  • increase latency,
  • increase inference cost,
  • introduce conflicting evidence,
  • distract generation,
  • duplicate information.

So:

more retrieved text

does not automatically mean:

better evidence.

The retrieval system should ideally maximise useful information while controlling irrelevant context.


5. The Experimental Setup

To study the effect of top-k, keep everything else fixed:

  • same document corpus,
  • same chunking strategy,
  • same queries,
  • same relevance labels,
  • same retriever,
  • same similarity scoring,
  • same ranking.

Change only:

k

For example:

k = 1

k = 2

k = 3

k = 5

k = 10

k = 20

For every query:

  1. rank the available chunks,
  2. retrieve the top-k,
  3. compare them with the relevance labels,
  4. calculate retrieval metrics.

This isolates the effect of retrieval depth.


6. Precision@k

Precision asks:

Of the chunks retrieved, how many were relevant?

Precision@k = relevant chunks retrieved in top k / k

Suppose:

k = 5

and:

3 of the 5 chunks are relevant

Then:

Precision@5 = 3/5 = 0.60

Now increase:

k = 10

Suppose we still retrieve only those same three relevant chunks.

Then:

Precision@10 = 3/10 = 0.30

We retrieved more text.

But the proportion of useful evidence fell by half.


7. Recall@k

Recall asks:

Of all relevant chunks available for the query, how many did we retrieve?

Recall@k = relevant chunks retrieved in top k / total relevant chunks

Suppose five relevant chunks exist.

At:

k = 3

we retrieve two.

Then:

Recall@3 = 2/5 = 0.40

At:

k = 10

we retrieve four.

Then:

Recall@10 = 4/5 = 0.80

So increasing k can produce exactly the trade-off we expected:

higher recall

but:

lower precision.

Neither metric alone tells the complete story.


8. What the Experiment Found

As retrieval depth increased, recall improved because the system had more opportunities to include relevant chunks.

But precision did not improve indefinitely.

Once the highest-value chunks had already been retrieved, additional results increasingly contained irrelevant material.

The pattern was therefore:

small k

→ focused context, but possible missed evidence

moderate k

→ better coverage with manageable noise

large k

→ additional coverage, but increasingly diluted relevance

The important result is not that one particular value of k is universally optimal.

It is:

Retrieval depth creates a measurable precision–recall trade-off.


9. Why “Just Retrieve More” Eventually Becomes Expensive

Suppose the average chunk contains:

500 tokens

Then approximately:

top-3 → 1,500 tokens

top-5 → 2,500 tokens

top-10 → 5,000 tokens

top-20 → 10,000 tokens

before prompts, instructions, formatting and the user’s question are included.

If most additional chunks are irrelevant, we are spending context-window capacity on information that contributes little to the answer.

So increasing k has two costs:

Retrieval cost

More candidate material may need to be processed downstream.

Context cost

More tokens are supplied to the language model.

That can affect:

  • latency,
  • cost,
  • available context space,
  • and potentially answer quality.

10. More Context Is Not the Same as More Signal

This distinction is central.

Suppose top-3 contains:

3 useful chunks

and top-10 contains:

those same 3 useful chunks + 7 irrelevant chunks

The system has more:

context

but not more:

relevant evidence.

A useful way to think about retrieval is:

signal / context

rather than simply:

context volume.

The objective should not be to maximise the amount retrieved.

It should be to maximise the useful evidence supplied to the downstream model.


11. The “Lost in the Middle” Problem

There is another reason blindly increasing context can be problematic.

Research has shown that language models may not use information equally well across long contexts.

Liu et al. found that performance in long-context tasks can depend on where relevant information appears, with information positioned in the middle of a long context sometimes used less effectively than information near the beginning or end [1].

This does not mean:

“Long context is always bad.”

Nor does it prove that every modern model behaves identically.

But it reinforces an important point:

Putting relevant evidence somewhere inside a large prompt is not the same as ensuring that the model will use it effectively.

Retrieval quality still matters even when context windows become large.


12. The Result Is About This Setup

This is where the interpretation needs to remain careful.

The experiment does not establish:

“Retrieving more chunks always hurts RAG.”

That would be too broad.

The observed trade-off depends on:

  • the corpus,
  • chunk size,
  • query distribution,
  • retriever,
  • relevance labels,
  • ranking quality,
  • overlap,
  • context budget.

A stronger retriever may keep precision high much deeper into the ranking.

A reranker may allow the system to retrieve many candidates and then filter them effectively.

Another dataset may require more chunks because answers are distributed across multiple documents.

So the defensible conclusion is:

In this experimental setup, increasing retrieval depth eventually produced diminishing gains in relevant evidence while introducing increasing amounts of irrelevant context.

That is enough.


13. Retrieval Depth and Chunk Size Interact

Top-k cannot be considered completely independently from chunk size.

Suppose:

System A

chunk size = 128 tokens

k = 10

Approximate retrieved content:

1,280 tokens

System B

chunk size = 1,024 tokens

k = 10

Approximate retrieved content:

10,240 tokens

Both systems use:

top-10

but they provide dramatically different amounts of context.

So asking:

“What is the best k?”

without also considering chunk size is incomplete.

A better variable may be:

total retrieved token budget

rather than only:

number of retrieved chunks.


14. A Fixed-Token-Budget Experiment

A stronger follow-up would hold the total context approximately constant.

Suppose the retrieval budget is:

2,048 tokens

Then we might compare:

  • sixteen 128-token chunks,
  • eight 256-token chunks,
  • four 512-token chunks,
  • two 1,024-token chunks.

Now the LLM receives approximately the same amount of text.

What changes is the granularity and ranking structure.

That would help separate:

top-k effects

from:

total-context effects.


15. Retrieve Broadly, Then Rerank

One practical alternative to sending every retrieved chunk directly to the LLM is a two-stage system.

Stage 1 — Candidate retrieval

Retrieve broadly:

top-20

or:

top-50

The objective is high recall.

Stage 2 — Reranking

Use a stronger model to score the candidates more precisely.

Then keep only:

top-3

or:

top-5

for generation.

Conceptually:

Query

↓

Fast Retriever

↓

20 Candidates

↓

Reranker

↓

5 Best Chunks

↓

LLM

This separates:

candidate discovery

from:

context selection.

It allows the retrieval stage to search broadly without forcing the language model to consume every candidate.


16. Why Reranking Changes the Question

Without reranking, the question is:

How many of the retriever’s top results should we send to the LLM?

With reranking, the architecture becomes:

How many candidates should we retrieve before applying a more expensive relevance model?

These are different optimisation problems.

A system might benefit from:

retrieve 50 → rerank → send 5

while performing poorly with:

retrieve 50 → send all 50.

So “retrieve more” can be useful at one stage and harmful at another.

This is another reason the claim needs to remain architecture-specific.


17. Dynamic k May Be Better Than Fixed k

Why should every query retrieve the same number of chunks?

Some questions are simple.

“When was the policy approved?”

One passage may be enough.

Other questions are broad.

“Compare the company’s leave policies across all regions.”

That may require evidence from several documents.

A fixed:

k = 5

treats both questions identically.

A more sophisticated RAG system could choose retrieval depth dynamically based on:

  • query complexity,
  • score distribution,
  • evidence coverage,
  • confidence,
  • number of documents involved.

So instead of:

“What is the best top-k?”

the better question may eventually become:

“How should the system decide when it has retrieved enough evidence?”


18. Similarity Scores Can Provide a Stopping Signal

Suppose retrieval scores are:

0.91

0.87

0.83

0.46

0.41

0.39

There is a large drop after the third result.

That may indicate that the first three chunks form a strong relevance cluster and later results are substantially weaker.

Instead of always retrieving:

k = 10

the system might stop after:

k = 3.

This creates a score-aware retrieval policy.

Of course, similarity scores are not perfectly calibrated relevance probabilities.

But the idea is useful:

Retrieval depth can potentially respond to the evidence rather than being fixed globally.


19. Measure Marginal Value

Another useful way to evaluate retrieval depth is to ask:

What did chunk k+1 actually add?

For every additional chunk, measure:

  • new relevant information,
  • duplicate information,
  • irrelevant information,
  • additional tokens.

This gives us the marginal value of retrieval.

Conceptually:

Marginal Utility(k) = useful new evidence gained / additional retrieval cost

At some point, the marginal value may become very small.

That point is more meaningful than blindly selecting a conventional top-k.


20. Precision Is Not the Whole Story Either

It would be easy to overcorrect and say:

“High precision is always better.”

Not necessarily.

Suppose top-2 gives:

100% precision

but misses half the evidence required to answer the question.

Top-6 might have:

67% precision

while containing everything needed for a correct response.

Depending on the application, top-6 may be preferable.

The objective is not maximum precision.

It is:

enough relevant evidence with an acceptable amount of noise and cost.

That balance depends on the application.


21. Different Queries Need Different Retrieval Behaviour

Consider three questions.

Fact lookup

“Who approved the contract?”

One highly relevant chunk may be enough.

Comparison

“How do the 2025 and 2026 policies differ?”

Several chunks may be necessary.

Synthesis

“What were the main causes of the project failure?”

Relevant evidence may be distributed throughout multiple documents.

A single global top-k setting is therefore unlikely to be optimal for every query type.

This is one reason retrieval evaluation should include a diverse query set.


22. Retrieval Metrics vs Answer Metrics

This experiment evaluates retrieval.

But ultimately, users care about answers.

A complete RAG benchmark should therefore have two layers.

Retrieval evaluation

Measure:

  • Precision@k,
  • Recall@k,
  • Hit Rate@k,
  • MRR.

Generation evaluation

Measure:

  • factual correctness,
  • faithfulness to retrieved evidence,
  • citation accuracy,
  • completeness,
  • unsupported claims.

Then we can ask the more interesting question:

At what retrieval depth does final answer quality peak?

That point may not be identical to the point where retrieval precision or recall is individually maximised.


23. What This Experiment Actually Shows

The experiment supports several conclusions.

1. Increasing top-k can improve recall

More retrieval depth gives relevant evidence more opportunities to appear.

2. Precision can decline

Lower-ranked chunks are increasingly likely to contain irrelevant material.

3. More context is not automatically better context

Context volume and evidence quality are different quantities.

4. Retrieval has diminishing returns

After the most useful chunks have been found, additional retrieval may contribute progressively less new information.

5. Top-k should be treated as a hyperparameter

It should be measured against the actual corpus and query distribution.


24. What This Experiment Does NOT Show

It does not prove:

“Never retrieve many chunks.”

It does not prove:

“Top-3 is universally better than top-10.”

It does not prove:

“Long context makes LLMs worse.”

It does not prove:

“Every RAG system loses precision at exactly the same k.”

And it does not prove:

“Retrieving broadly is bad.”

Broad retrieval followed by reranking may be an excellent architecture.

The experiment establishes a narrower result:

In this setup, increasing top-k eventually added irrelevant retrieval faster than it added useful evidence.


25. A Better Follow-Up Experiment

The natural next experiment would compare four retrieval strategies:

Strategy A

Fixed top-3

Strategy B

Fixed top-10

Strategy C

Retrieve 20 → rerank → keep 5

Strategy D

Dynamic k based on score drop-off

Evaluate all four on:

  • retrieval recall,
  • retrieval precision,
  • context tokens,
  • answer correctness,
  • faithfulness,
  • latency,
  • cost.

That would move the experiment from:

“How many chunks?”

to:

“How should a RAG system decide which evidence deserves context-window space?”

That is a much more interesting problem.


26. The Bigger Lesson

The context window is not a dumping ground.

It is a limited resource.

Even when models support very large context windows, there is still value in deciding:

Which evidence actually deserves to be there?

Retrieval should therefore be viewed as an information-selection problem.

Not:

retrieve as much as possible

but:

retrieve enough useful evidence to answer the question reliably.

That shift changes how we think about top-k.


27. The Honest Write-Up

The easy recommendation would have been:

“Use top-5.”

But the experiment does not justify that as a universal rule.

Another easy recommendation would have been:

“Retrieve more whenever recall is poor.”

That is incomplete too.

The result is less convenient:

Increasing retrieval depth trades precision, recall, context size and cost against one another.

The right value depends on the system.

That means top-k should not be copied blindly from a tutorial.

It should be tested.


Conclusion

Retrieving more chunks can solve one RAG problem while creating another.

Increase top-k and recall may improve.

But once the strongest evidence has already been retrieved, additional chunks can increasingly add:

  • irrelevant text,
  • duplicate information,
  • token cost,
  • and potential distraction.

So the lesson is not:

“Retrieve fewer chunks.”

It is:

“Retrieve enough evidence—and know what each additional chunk is contributing.”

For some systems that may mean top-3.

For others, top-10.

For more sophisticated systems, it may mean:

retrieve broadly → rerank → send only the strongest evidence

or dynamically adjusting retrieval depth for each query.

The useful question is therefore not:

“How many chunks should RAG retrieve?”

It is:

“At what point does the next retrieved chunk add more noise than useful evidence?”

That is the point worth measuring.


References and Further Reading

[1] Liu, N. F., Lin, K., Hewitt, J., Paranjape, A., Bevilacqua, M., Petroni, F., & Liang, P. (2024). Lost in the Middle: How Language Models Use Long Contexts. Transactions of the Association for Computational Linguistics, 12, 157–173.
Examines how the position of relevant information within long contexts can affect language-model performance.
https://doi.org/10.1162/tacl_a_00638

[2] Lewis, P., Perez, E., Piktus, A., et al. (2020). Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks. Advances in Neural Information Processing Systems.
The foundational RAG paper.
https://arxiv.org/abs/2005.11401

[3] Karpukhin, V., Oguz, B., Min, S., et al. (2020). Dense Passage Retrieval for Open-Domain Question Answering. EMNLP 2020.
An important reference for dense passage retrieval and top-k candidate retrieval.
https://arxiv.org/abs/2004.04906

[4] Nogueira, R., & Cho, K. (2019). Passage Re-ranking with BERT.
An influential approach to reranking retrieved passages using a stronger relevance model.
https://arxiv.org/abs/1901.04085

[5] Gao, Y., Xiong, Y., Gao, X., et al. (2023). Retrieval-Augmented Generation for Large Language Models: A Survey.
A broad survey covering retrieval, augmentation and generation components of RAG systems.
https://arxiv.org/abs/2312.10997


Reproducibility and Interpretation Note

This experiment evaluates the effect of increasing top-k retrieval depth under a specific retrieval configuration.

The resulting precision–recall trade-off should not be interpreted as a universal threshold for RAG systems.

Results can change with:

  • corpus,
  • chunk size,
  • chunk overlap,
  • retriever,
  • embedding model,
  • reranking,
  • query distribution,
  • relevance labels,
  • and context budget.

The experiment therefore supports the claim that retrieval depth should be measured and tuned, not that any particular value of k is universally optimal.


Related Reading

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *