Lesson 5.2

Scout and Judge

A fast scout (the bi-encoder) grabs fifty candidates cheaply. A careful judge (the cross-encoder) reads the query and each passage together and re-scores the best few.

concepts 9 min read

A scout and a judge.

Think of a hiring funnel. A scout skims a thousand resumes fast and flags fifty worth a look. Then a judge sits down with the question and each of those fifty resumes side by side, reads them properly, and ranks the best handful. The scout is cheap and broad. The judge is slow and sharp. You would never run the judge over a thousand resumes, and you would never trust the scout's order for the final call.

Retrieval works the same way. The scout is the bi-encoder from the last lesson. The judge is a different kind of model called a cross-encoder. Together they are the scout-then-judge pattern, and almost every serious retrieval system uses it.

The scout: separate, precomputed, cheap.

The bi-encoder (the scout) turns the question into a vector and turns each passage into its own vector, separately. The passage vectors are computed once, ahead of time, and stored, so at question time you only encode the question and measure which stored vectors sit closest. Because the heavy work happened earlier, the scout can run over the entire collection, millions of passages, in a blink.

The price of that speed, as we saw, is that the scout never looks at the question and a passage at the same time. It compares two summaries. Good enough to find a shortlist, too blunt to perfectly order it.

The judge: together, live, expensive.

The cross-encoder (the judge) does the thing the scout cannot. It feeds the question and one passage through the model together, as a single joined input, and reads them in light of each other. Now the model can notice that this exact passage answers this exact question, not just that their summaries land nearby. That joined reading is far more accurate.

It is also far more expensive, and for a clear reason: there is nothing to precompute. The judge's score depends on the question, so it cannot be calculated in advance. You have to run the full model once for every single passage you want scored. Score fifty passages, run the model fifty times. That is why the judge only ever sees a small shortlist, never the whole collection.

The scout scores passages apart and can run over everything because the work was precomputed. The judge scores a passage with the question and must run fresh each time, so it can only afford a few. Accuracy and reach trade against each other, and you get both by stacking them.

Drag the judge's depth.

The scout hands over fifty candidates. The one dial you control is how many of them the judge actually re-reads, the rerank depth. Drag the handle and watch two numbers move: how good the final ranking gets (precision), and how much extra time the judging adds.

Drag to set how many candidates the judge re-scores

scout: 50 candidates (cheap) judge re-scores top 10

rerank depth

10

precision

0.71

added latency

40 ms

Precision and latency are illustrative, not benchmarks. They show the shape of the tradeoff: more passages judged means better ranking but more time, with diminishing returns.

Notice the shape. Precision jumps as you go from judging nothing to judging the top ten, then the gains taper off: by the time you are judging forty or fifty, you are paying for passages the scout had already ranked low for good reason. Latency, meanwhile, just keeps climbing in a straight line, because each extra passage means one more full run of the judge. More judged means better ranking but more time, and the curve bends while the cost does not.

Judging deeper buys precision with diminishing returns but charges latency at a steady rate. The sweet spot is where the precision curve flattens, not where it tops out.

Key takeaways

1

The bi-encoder (scout) scores passages separately from precomputed vectors, so it is cheap enough to run over the whole collection.

2

The cross-encoder (judge) feeds the question and a passage through the model together, far more accurate, but it must run fresh per passage, so it only sees a shortlist.

3

Scout-then-judge gives you both reach and accuracy; the rerank depth trades better ranking (with diminishing returns) against steadily rising latency.