Choosing varied results, and whether the reader matters
Keep the most relevant results and fill the rest with the least similar ones. This buys topic coverage at half the relevance cost of the standard method. The idea that a model reader needs more variety than a person did not hold up.
After a search finds candidates, something must pick the ten that reach the agent. The ten most similar often repeat the same point. Ten deliberately different ones cover more ground, but may include passages that do not answer the question. We asked which selection rule gives the best trade. The answer: keep the most relevant results at the top, then fill the last places with the least similar candidates. We call this the harvest. It matched the coverage of the standard method, MMR, at half the relevance cost. It also let in fewer junk passages. We also tested whether a model reader needs more variety than a person. That idea did not survive a fair judge.
This choice is the last step before material enters the agent's context. It is part of how agents use knowledge and memory. It sits at the retrieve stage of the data-to-memory pipeline, which the agent data engineering layer (R14) builds.
The test: questions where the sub-topics are known
Each of 120 queries has several distinct facts. Each candidate document states at most one of them. So we can count exactly which sub-topics a selection covers. We did not find sub-topics by clustering. That would have been circular, because one rule under test selects by cluster.
First, candidates are cut to the most relevant half, as a first-pass filter would do. Then a pool of answerless documents is mixed in. We call these distractors. Each rule then selects ten.
Three scores tell the rules apart. S-recall is the share of known sub-topics covered. nDCG@10 measures relevance. The distractor rate is the share of answerless documents let in.
We tested seven rules.
- Relevance only: the ten most relevant.
- MMR (maximal marginal relevance), at lambda 0.7 and 0.3. It is the standard rule, built into most vector stores. It trades relevance for variety across the whole list. A lower lambda means more variety.
- DPP (determinantal point process), a maths method that picks a spread-out set.
- Cluster round-robin: one result from each cluster in turn.
- The harvest, at 20 and 40 percent. Keep the most relevant results, then fill that share of the ten places with the least similar candidates.
Measured result
Coverage against relevance for seven selection rules
120 built queries, ten results each, seed 13. Up is more sub-topic coverage. Right is more relevance.
The two harvest settings sit above and to the right of MMR and cluster round-robin at similar coverage. The DPP reaches the most coverage and pays the most relevance for it.
Table view
| Point | Relevance (nDCG@10) | Sub-topic coverage (S-recall) |
|---|---|---|
| Relevance only | 0.827 | 0.372 |
| MMR, lambda 0.7 | 0.802 | 0.405 |
| Harvest 20% | 0.808 | 0.567 |
| Cluster round-robin | 0.774 | 0.545 |
| Harvest 40% | 0.781 | 0.686 |
| MMR, lambda 0.3 | 0.729 | 0.686 |
| DPP | 0.699 | 0.746 |
Source: Author-reported experiment, August 2026. The comparison and limitations are described on this page.
- Rule
- Relevance only
- S-recall
- 0.372
- Alpha-nDCG
- 0.542
- nDCG@10
- 0.827
- Distractor rate
- 0.168
- Rule
- MMR, lambda 0.7
- S-recall
- 0.405
- Alpha-nDCG
- 0.566
- nDCG@10
- 0.802
- Distractor rate
- 0.197
- Rule
- MMR, lambda 0.3
- S-recall
- 0.686
- Alpha-nDCG
- 0.695
- nDCG@10
- 0.729
- Distractor rate
- 0.285
- Rule
- DPP
- S-recall
- 0.746
- Alpha-nDCG
- 0.706
- nDCG@10
- 0.699
- Distractor rate
- 0.328
- Rule
- Cluster round-robin
- S-recall
- 0.545
- Alpha-nDCG
- 0.626
- nDCG@10
- 0.774
- Distractor rate
- 0.229
- Rule
- Harvest, 20 percent quota
- S-recall
- 0.567
- Alpha-nDCG
- 0.619
- nDCG@10
- 0.808
- Distractor rate
- 0.198
- Rule
- Harvest, 40 percent quota
- S-recall
- 0.686
- Alpha-nDCG
- 0.677
- nDCG@10
- 0.781
- Distractor rate
- 0.236
Alpha-nDCG is a ranking score that rewards coverage and discounts repeats. Read along the rows. The 40 percent harvest and MMR at lambda 0.3 reach the same coverage, 0.686. Against relevance-only ranking that is a gain of 0.315 for the harvest and 0.314 for MMR, from the unrounded scores. The table shows rounded values. The harvest pays 0.046 of relevance for it. MMR pays 0.098. The harvest also lets in fewer distractors: 0.236, against 0.285 for MMR and 0.328 for the DPP.
The reason shows in how the rules work. MMR and the DPP spread out the whole list, so even the top drifts away from relevance. The harvest keeps a relevant top and spends only the tail. All coverage gains over relevance-only ranking are significant at p=0.0001 after Holm correction. So are all the relevance costs.
An earlier version of this test reported coverage as nearly free. It was wrong. A coding bug put two distractors in each task instead of forty. So nothing could be lost, and every relevance score sat at its maximum. The corrected trade is the one above.
The reader test: does the right amount of variety depend on who reads?
We expected it would. The effect shrank to nothing under a fair judge.
The pool, the queries and the writing model stayed the same throughout. Only the selection rule and the reader changed. For a model reader, the selection is evidence for a model. It must write an account of everything the material covers. For a person, the same selection becomes a short brief they will read once and act on. Sixty tasks, two rules (relevance and harvest) and two readers give 240 generated texts.
We predicted a difference between readers, not a gain for everyone. The harvest should raise coverage more for the model reader than for the person.
Three judges scored coverage of the known sub-topics in each text. A judge is a model that grades another model's output. One judge came from the same company as the writing model. One was a larger model from that company. One came from a different company.
Measured result
The reader effect, as each judge measured it
The harvest's coverage gain for the model reader minus its gain for the person. 60 tasks, with 95 percent bootstrap intervals. A positive value supports the claim.
+0.071 (p=0.009), +0.047 (p=0.211), +0.008 (p=0.763). The estimate shrinks as the judge moves away from the writer's own company. It vanishes with the judge from another company. That pattern points to a flaw in the judging, not a real effect. It is not disproved. All three estimates are positive, and 60 tasks cannot resolve an effect this small. But no evidence can be cited for it.
Table view
| Category | Reader difference | 95% interval |
|---|---|---|
| Same-company judge, small | +0.071 | +0.022 to +0.125 |
| Same-company judge, large | +0.047 | −0.024 to +0.117 |
| Different-company judge | +0.008 | −0.039 to +0.056 |
Source: Author-reported experiment, August 2026. The comparison and limitations are described on this page.
One finding from the same study needs no judge, and it survived every check. We counted words in each output that no selected document supports. Harvesting reduced this unsupported content.
- For the brief for a person: -0.067 (p=0.0018).
- For the account written for a model: -0.048 (p=0.067).
A selection that covers more of the material gives the writer less reason to invent. We did not predict this. It does not depend on a judge. It is the most solid result of the reader study.
A worked example
A utility planner asks an agent for every known cause of a substation fault. That question has several answers, so a varied set of ten helps. The harvest keeps the strongest matches at the top and adds different causes below them. A question with one answer, such as the date of the last inspection, gains nothing from variety. This example shows how to apply the rule. We tested it on built questions, not on utility records.
What we conclude
Evidence and limits
Mixed evidence The selection half is measured on built ground truth. The reader half depends on model judges and is unresolved.
The queries were built for the test, not taken from real users. Sixty tasks are too few to detect a small reader effect. We ran this ourselves. Nobody else has repeated it yet.
Next step
See how all these tests were kept honest, in how to test a context design. Or go back to the nine context patterns.
Explore this topic
- Carbonell and Goldstein, MMR, SIGIR 1998. Diverse multi-answer retrieval with determinantal point processes, COLING 2022. DIVA, NAACL 2025. The Distracting Effect, ACL 2025. The Power of Noise (SIGIR 2024) and its retraction (SIGIR 2026). All are on the reading list.
- Alpha-nDCG, Clarke et al., SIGIR 2008. Sub-question coverage, Salesforce and Georgia Tech, Oct 2024. Both explain why coverage needs coverage scores, not recall.
- The experiment ran in August 2026.
Cite this page
Written by Murali Sid, Founder and AI Systems Architect, last updated 15 October 2026. Licensed CC BY-SA 4.0, so quote it freely with attribution.
Murali Sid (2026). Choosing varied results, and whether the reader matters. Agentic Architecture Skills. https://www.agenticarchitectureskills.com/patterns/diversity-and-consumerMachine-readable version of this page: /patterns/diversity-and-consumer.md
Where the cost saving really comes from
A cheap first-pass filter tells relevant from irrelevant email well, but removes only a third of the documents. The real saving comes from paying the model per topic, not per document. It is about two hundred times cheaper, and the factor does not grow with size.
How to test a context design
Give the plain method the same budget as the clever one, and make sure the test can fail. Then write the rules first, let someone try to break the result, and rerun it on a second machine. Five of our own headline results reversed, and two causes explain all five.