From flag to evidence
Detection can tell you a claim looks shaky. It can't tell you what's true. The fix: stop asking the model to recall, and give it something real to read instead.[36]
Query
What the user asks
Retrieve
Search an index for relevant documents
Read
Insert the retrieved text into the context window
Generate
The model writes an answer grounded in that text
Cite
The answer links each claim back to its source
The last step of that pipeline is what makes it checkable: the answer doesn't just state a claim, it points at the document behind it.
See it live
Below, the same question goes to Gemini twice: memory only, then with one real document supplied. The default example is a fact the model states with total confidence and gets wrong; retrieval overturns it, not just fills a blank. The second tab is a genuine knowledge gap instead, where the model correctly declines rather than guessing.
Same question, same settings
“How long, in minutes and seconds, is Beyoncé's album Dangerously in Love?”
Where this still fails
Retrieval and citations cut fabrication a lot. They don't cut it to zero; the pipeline above has five distinct places to break, three in retrieval and two in the citation itself, each measured directly rather than assumed:
| Failure mode | What happens |
|---|---|
| Retrieval misses | The right document isn't in the index, or the search just doesn't find it; the model is left to guess.[40] |
| Conflicting or wrong documents | A retrieved document is simply wrong, or disagrees with another one, and the model has to pick.[40] |
| Lost in the middle | The right document is in context, but the model overweights text near the start or end and misses it.[37] |
| Fabricated citation | The model cites a source that was never retrieved, sometimes one that doesn’t exist at all.[41] |
| Citation-claim mismatch | The source is real and was retrieved, but doesn’t actually support the specific claim attached to it.[42] |
Sometimes the honest answer is no answer.