CaseAdvancedAI Opportunity & Model Strategy / Feasibility assessment and technical spikes / #5

Describe the smallest test that would tell you whether retrieval quality is the blocker.

TRACEsix weeks tuning a model that never had the right passage to read

Meridian Freight Exchange runs TariffLink, which answers a freight forwarder's question about tariff classification by pulling relevant customs rulings and writing an answer. Rafael Quintanilha is the AI PM deciding, before spending a single week tuning anything, whether the model's answers are wrong because it can't reason, or because it was never shown the right ruling to reason about.

The direct answer
Freeze a small golden set of past queries with a known correct ruling, and check one thing only: does the correct ruling appear anywhere in the top handful of passages retrieval actually pulled, regardless of what the model does with it afterward. If that hit rate is low, retrieval is the blocker, full stop, and no amount of prompt tuning will fix a model that was never shown the right material. If the hit rate is high but final answers are still wrong, the blocker sits downstream in generation. This one measurement, taken before touching the model at all, is the smallest test that separates the two.
Do this, in order
  1. Measure retrieval hit rate on a small golden set before touching the generation model at all.Why: tuning a model that was never shown the right passage cannot fix a retrieval problem.
  2. Split final accuracy by whether retrieval succeeded or failed on each query.Why: an average accuracy number hides two very different problems living inside it.
  3. Check the timeline for drift before assuming something changed recently.Why: a flat, consistently mediocre accuracy since launch points to a structural gap, not a regression.
  4. Rule out a stale or incomplete corpus before blaming the retrieval algorithm.Why: the smartest retriever in the world can't find a ruling that was never indexed.
  5. Name all three cause candidates before running the test, not just the one you suspect.Why: a test built to confirm one guess in advance stops being a real test.

How to answer this, stage by stage

Nobody is scoring whether you know that RAG has a retrieval half and a generation half. They're scoring whether you can isolate which half is actually broken in an afternoon.

Stage 1
Scope it to one real system
Say it like this
"Let's ground this in TariffLink at Meridian Freight Exchange, where 61 percent overall accuracy told the team nothing about which half of the pipeline was actually failing."
Why this works
Keeps the answer from turning into a generic lecture on how RAG systems work.
Stage 2
State the structure out loud
Say it like this
"I'll run this as TRACE. Timeline, when did this start. Recut, slice the number by segment. Assume nothing, rule out instrumentation first. Cause candidates, name the suspects. Evidence test, the one check that separates them."
Why this works
Signals a repeatable way to diagnose any RAG quality problem, not a one-off guess about this one.
Stage 3
Reframe: it isn't "is the model good enough," it's "was it ever shown the right thing"
Say it like this
"The question isn't whether TariffLink's model reasons well about tariffs. It's whether the passages retrieval hands it even contain the ruling a real answer would need. You can't judge reasoning you never actually tested."
Why this works
This is where a strong answer separates from someone who jumps straight to prompt tuning.
Stage 4
Give the evidence test
Say it like this
"Here's the smallest test: freeze 40 real queries with a known correct ruling. For each one, check only whether that ruling shows up anywhere in the top 5 retrieved passages. Ignore the generated answer completely at this stage."
Why this works
This is the direct answer to the question, small enough to run in a single afternoon.
Stage 5
Prove it with the recut
Say it like this
"On the queries where retrieval found the right ruling, final answers were correct 88 percent of the time. On the queries where it didn't, correct only 19 percent of the time. That gap says retrieval, not generation, is where the 61 percent overall number is actually coming from."
Why this works
Compresses the entire diagnosis into the one split that a flat overall accuracy number was hiding.
Stage 6
Close on the one line
Say it like this
"Before tuning a single prompt, check whether the model was ever shown the right passage. If it wasn't, you're not diagnosing a reasoning problem, you're diagnosing a search problem wearing a reasoning problem's clothes."
Why this works
Restates the direct answer in one breath, closing the loop on the whole diagnosis.

Let's learn

Say we build a tool that answers a freight forwarder's question about which tariff code and duty rate applies to a shipment, by finding the relevant customs ruling and writing an answer from it.

Before TariffLink, a compliance specialist looked up the right ruling by hand, about 15 minutes per query, across roughly 30 queries a day, over seven hours daily just on lookups.

Hand sketched flow diagram titled Where a RAG answer can go wrong, second step emphasized. Four steps left to right: Query comes in, Retrieve passages, Generate answer, Shown to forwarder.
Two very different jobs hide inside one pipeline. An overall accuracy number can't tell you which one failed.

Here's the turn: the wrong answers weren't really the problem to chase first. The problem was that nobody had checked whether TariffLink's retrieval step was even handing the model the right ruling to work from, before spending weeks assuming the model itself needed to get smarter.

Weekly answer accuracy against expert judgment, since launch
100% 50% 0 Week 2 Week 4 Week 6 Week 8 Week 10
Flat since day one, not drifting downward. Whatever's wrong was already wrong at launch.

At its worst, a freight forwarder files a customs declaration based on a confidently wrong duty rate, faces a penalty or a shipment delay at the border, and the whole tool gets pulled just as Yewande Adisa's did at a different company, after weeks of tuning a model that was never actually the problem.

Nobody needed a smarter model. They needed to check whether the model had ever been shown the right ruling in the first place.
The choice I would take back Early debugging assumed accuracy problems meant a generation problem, and jumped straight to prompt tuning and model comparisons. That made sense when the team had only ever built chat features before, where the model usually is the whole story. It stopped making sense the moment retrieval became a separate, testable step nobody had actually tested.

What I would leave alone: for queries where the correct ruling is unambiguous and always the top retrieved result, like standard container shipping rates, I wouldn't spend more time hunting for a retrieval problem that clearly isn't there.

The lesson: an overall accuracy number tells you something is wrong. It never tells you which half of the pipeline to fix first.

Now here is the same thing as a story

The short version above is what you'd say proposing the golden-set check in a debugging meeting. Read this one for what Yewande's six weeks actually cost before Rafael heard about it.

Rafael Quintanilha had shipped two smaller features at Meridian before TariffLink, both simple enough that "make the model better" had always been the right instinct.

TariffLink launched at 61 percent accuracy against expert judgment, and stayed there, week after week, no matter how the team adjusted the prompt. Nobody had checked what the model was actually being shown before it wrote each answer.

Hand sketched comparison titled Two ways to spend the time. Left panel, a gauge icon labeled Six weeks tuning prompts, caption retrieval never once measured. Right panel, a document icon labeled Two days, one golden set, caption hit rate measured directly.
A peer's six weeks, and Rafael's two days, spent on the exact same underlying question.

Yewande Adisa, a PM at a different customs brokerage, had built something similar the year before. Her team spent six weeks tuning prompts and trying larger models, and only afterward discovered retrieval had been returning outdated tariff-schedule sections 40 percent of the time, a corpus problem no amount of prompt tuning could ever have touched.

Knowledge spark: why would a model answer confidently from the wrong passage? A language model doesn't know when the text it's been handed is the wrong ruling. It answers as fluently from an outdated passage as from the correct one, because fluency and correctness are two separate things the model has no built-in way to tell apart.

Hearing Yewande's story, Rafael refused to start tuning TariffLink's prompts until he'd checked the same thing directly. He froze 40 real past queries with a known correct ruling and checked one thing only: did that ruling appear anywhere in the top 5 passages retrieval actually pulled.

Hand sketched labeled parts diagram titled What the smallest test checks. A question mark box icon at the center labeled Golden Query, with four labeled callouts around it: Correct ruling known, Top 5 passages pulled, Hit or miss, Never touches the answer.
Four things, and none of them involve reading a single generated answer yet.

Retrieval found the correct ruling in only 58 percent of the 40 queries. On those, TariffLink's final answer was right 88 percent of the time. On the other 42 percent, where the correct ruling never reached the model at all, accuracy was only 19 percent.

Final answer accuracy, split by whether retrieval found the right ruling
100% 50% 0 88% Retrieval hit 19% Retrieval miss
Same model, same prompt, both bars. Whether retrieval did its job explains almost the entire accuracy gap.

The real question was never whether TariffLink's model could reason about tariffs well enough. It was whether the model had ever actually been handed the ruling a correct answer would require, and for four out of ten queries, it hadn't.

Hand sketched decision tree titled What the hit rate tells you. Root, retrieval hit rate on the golden set. Three branches: low leads to blocker retrieval, high but answers still wrong leads to blocker generation, high and answers are right too leads to not the blocker look elsewhere.
One measurement, three possible readings. Only one of them matched what Rafael actually found.

When the first debugging meeting happened, someone said, "let's try a stronger model, the current one might just not be reasoning well enough about tariff rules," and it sounded reasonable, since a smarter model has fixed real problems before.

Hand sketched icon list titled The three suspects, one confirmed. Three rows: Retrieval returns the wrong passage, confirmed, shown in a different color. Generation ignores the right passage. The tariff corpus itself is stale.
Three real suspects, named before the test ran. Only the golden set could say which one actually did it.

Rerun the six weeks with the golden-set check run first: the 58 percent retrieval hit rate surfaces on day one, at a cost of a single afternoon, instead of surfacing after six weeks and no improvement to a prompt that was never the actual problem.

Hand sketched timeline titled The smallest test, hour by hour, fourth milestone emphasized. Four milestones: Freeze 40 queries, hour 1. Check retrieval hit rate, hour 4. Split accuracy by hit or miss, hour 6. Retrieval is the blocker, hour 8.
Eight hours, one afternoon. The whole diagnosis fit inside a single working day.

What I'd tell myself, hearing how close Rafael came to spending six weeks the same way Yewande had: a model that answers confidently from the wrong passage will never tell you it was never shown the right one. You have to go check.

TRACE, the recut that finds the real suspectNot a script for distrusting every model. TRACE is what tells you which half of a RAG pipeline actually earned the blame.

T
Timeline. When exactly did this start?
Weekly accuracy has held flat between 58 and 64 percent for all ten weeks since launch, with no drift in either direction.
A flat, unchanging number since day one rules out a recent regression and points to a structural gap instead.
R
Recut. Slice the number by segment.
88 percent accuracy when retrieval found the correct ruling, versus 19 percent when it didn't, out of a flat 61 percent overall.
This is the hardest step, and the one that turns one unhelpful average into two very different, checkable stories.
A
Assume nothing. Rule out instrumentation before behavior.
Before blaming the retriever's algorithm, check whether the tariff corpus itself is even current and complete.
A stale corpus looks identical to a bad retriever from the outside, and needs a different fix entirely.
C
Cause candidates. Three named hypotheses.
Retrieval returns the wrong passage, generation ignores the right passage, or the corpus itself is stale or incomplete.
Naming all three before testing keeps the test honest instead of built to confirm a guess.
E
Evidence test. The one check that separates the suspects.
A 40-query golden set, checking only whether the correct ruling appears in the top 5 retrieved passages, independent of the generated answer.
This is the smallest test the question asks for, and the strongest move in the whole method.

The recap, one line per letter: timeline is a flat 58 to 64 percent since launch, recut is 88 versus 19 percent split by retrieval success, assume nothing is checking corpus freshness first, cause candidates are retrieval, generation, and a stale corpus, and evidence test is the 40-query hit-rate check that confirmed retrieval as the blocker.

And if you want to be sure it really works, try it somewhere elseSame five letters, a translation agency instead of a customs desk. The same half of the pipeline turns out to be the real suspect.

Katarzyna Wrobel runs product at Linden & Vos Translation Partners, testing TermLock, a tool meant to look up the correct legal or medical term for a translator working on a document. Mapped onto TRACE: timeline is accuracy sitting flat since launch, not drifting, which rules out a recent regression. Recut is splitting accuracy by whether the correct glossary entry was retrieved at all, the same split that mattered for TariffLink. Assume nothing means checking whether the glossary itself has been updated with recent regulatory terminology before blaming the retriever. Cause candidates are retrieval missing the right entry, the model ignoring a correct entry it was given, or a glossary that's simply out of date. Evidence test is a 25-query golden set, checking retrieval hit rate on known correct terms before ever looking at a single translated sentence.

Hand sketched quadrant titled Where TermLock's errors cluster. Axes, retrieval hit rate versus final translation accuracy. Points: medical terms and new regulatory terms clustered low on both axes, legal boilerplate high on both.
A different document type entirely, and the same shape holds: low retrieval, low accuracy, moving together.

Swap the trigger and it still runs.
Speed: an interviewer caps you at sixty seconds. Say "check retrieval hit rate on a small golden set before touching the model," and stop.
Cost: no time to build a full golden set. Say so honestly, and hand-check even 10 real queries rather than skip the retrieval check entirely.
The model really is the problem, for real: if retrieval hit rate is high and accuracy is still low, that's a genuine generation problem, and saying so plainly is what makes the test trustworthy instead of a way to always blame the same thing.

Where people run it wrong.
They tune prompts and swap models before ever checking what the model was actually shown.
They read one overall accuracy number and never split it by whether retrieval succeeded.
They blame the retrieval algorithm without first checking whether the underlying corpus is even current.

How to use it live. The moment you're asked to diagnose a disappointing RAG answer, ask yourself: did the model ever actually see the right passage? Build the smallest test that answers just that question, before touching anything downstream of it.

Flashcards (tap any card to flip it)

1 · THE FRAMEWORK
What framework fits a diagnosis question, and its one-line job?
Tap to flip
ANSWER
TRACE: rule out, then narrow. Timeline, Recut, Assume nothing, Cause candidates, Evidence test.
2 · THE PERSON
Who is this answer about?
Tap to flip
ANSWER
Rafael Quintanilha, the AI PM at Meridian Freight Exchange, who tested retrieval before touching TariffLink's model.
3 · THE RECUT
What split turned one unhelpful accuracy number into two clear stories?
Tap to flip
ANSWER
Splitting final accuracy by whether retrieval had found the correct ruling: 88 percent when it did, 19 percent when it didn't.
4 · THE EVIDENCE TEST
What was the smallest test that separated retrieval from generation as the blocker?
Tap to flip
ANSWER
A 40-query golden set, checking only whether the correct ruling appeared in the top 5 retrieved passages, before looking at any generated answer.
5 · THE OLD DECISION
What decision would you take back?
Tap to flip
ANSWER
Assuming a low accuracy number meant a generation problem by default, and jumping straight to prompt tuning instead of testing retrieval first.
6 · THE NUMBER
Fill in the blank: retrieval found the correct ruling in ___ percent of the 40 golden-set queries.
Tap to flip
ANSWER
58 percent.
7 · THE TIMELINE CLUE
What did the flat weekly accuracy line, since launch, tell Rafael?
Tap to flip
ANSWER
That the problem was structural and present from day one, not a recent regression, which pointed away from "something broke recently" as an explanation.
8 · CROSS PRODUCT TRANSFER
Section 4 runs TRACE again for a different product. Which one, and what's the evidence test there?
Tap to flip
ANSWER
Linden & Vos Translation Partners' TermLock. The evidence test is a 25-query golden set checking retrieval hit rate on known correct glossary terms.

Check yourself Score: 0 / 0

Multiple choice
1. What does a low retrieval hit rate on a golden set tell you, on its own?
  • A. The generation model needs to be replaced with a bigger one.
  • B. Retrieval isn't finding the right source material for the model to work from, which will limit final accuracy regardless of how good the model is.
  • C. The prompt's wording needs to be rewritten.
  • D. Users are asking questions the product wasn't designed for.
Show hint
Look at the decision tree, "what the hit rate tells you."
Show answer
B. A model can only reason about what it's actually given. A low hit rate means it's often given the wrong material entirely.
True or false
2. True or false: Yewande's team discovered their retrieval problem was caused by an outdated tariff-schedule corpus, not by the retrieval algorithm itself.
  • True
  • False
Show hint
Look at "now here is the same thing as a story."
Show answer
True. Retrieval was returning outdated tariff-schedule sections 40 percent of the time, a stale-corpus problem, not a flaw in the retrieval algorithm itself.
Fill in the blank
3. Fill in the blank: when retrieval found the correct ruling, final accuracy was ___ percent. When it missed, final accuracy was only ___ percent.
Show hint
Look at the bar chart, "final answer accuracy, split by whether retrieval found the right ruling."
Show answer
88 percent; 19 percent. Almost the entire accuracy gap lives inside whether retrieval succeeded, not inside the model's reasoning.
Short answer, where it wouldn't matter
4. Name a kind of query where you would NOT expect to find a retrieval problem, and say why.
Show hint
Look at "what I would leave alone."
Show answer
Model answer: A standard, unambiguous shipping-rate lookup where the correct ruling is always the single clearest match. There's little room for retrieval to miss, so testing there wastes time better spent elsewhere.
Short answer, apply it yourself
5. Think of a search or lookup tool you've used that gave a confidently wrong answer. Was the problem more likely that it searched the wrong place, or that it reasoned badly about the right material?
Show hint
Think about whether the source it seemed to be using was actually relevant to your question.
Show answer
Model answer: A store's chat assistant confidently quoting an old return policy. The likely problem was the retrieved policy document being outdated, not the assistant reasoning poorly about a policy it never actually had.
Short answer, work the number
6. If retrieval hit rate had been 90 percent instead of 58, but overall accuracy had stayed at 61 percent, what would that combination tell you?
Show hint
Compare that scenario against the decision tree's three branches.
Show answer
Model answer: That the blocker would have shifted to generation. A high hit rate with still-low accuracy means the model is often failing to use the right passage even when it has it.
Before you close the answer
Why this works
Tests whether you'll isolate which half of a RAG pipeline is actually broken before spending real time fixing the wrong one.
Follow-up traps
"Isn't 40 queries too small a sample to trust?" Response: it's small on purpose, built to be run in an afternoon; a clear 88 versus 19 percent gap doesn't need a huge sample to be directionally convincing enough to change what gets worked on next.

"What if both retrieval and generation are partly to blame?" Response: the same split still helps, since it tells you which one to fix first; you fix retrieval, rerun the split, and generation's real remaining share of the problem becomes visible on its own.
If pressed
The eventual fix re-indexed the tariff corpus with the current schedule year tagged as metadata and filtered retrieval to it by default, since part of the 42 percent miss rate turned out to be correct rulings that existed in the corpus but under an outdated schedule year retrieval wasn't preferring.
From U2xAI Academy

From answering questions to owning outcomes.

A live workshop where you ship a working AI agent, defend a launch decision, and walk away with a portfolio recruiters can't wave off, not just more questions to study.

  • A live AI agent you actually shipped
  • A launch decision you can defend under pressure
  • An interview-ready portfolio, not more flashcards
Know more