Skip to content
ORYN
Knowledge2 min read

Grounding without the theatre

Citations are only useful if they can be checked — and most cannot.

ORYN ResearchKnowledge

Abstract

Attaching citations to a generated answer has become standard practice. It is also, frequently, theatre: the citation is generated alongside the claim rather than being the source of it. We describe the difference and what it takes to build the version that holds up.

Two things that look identical

Compare these two systems.

System A retrieves five documents, puts them in the context window, generates an answer, and then asks the model which document each sentence came from.

System B retrieves five documents, generates a claim, and records the specific passage that was in context when that claim was produced — as a property of the generation, not as a later question.

Both produce an answer with footnotes. They look the same to a reader. They are not the same thing at all.

In System A, the citation is a second generation. It is subject to the same failure modes as the first, which means a confidently wrong claim can acquire a confidently wrong citation, and the citation makes the claim look more reliable rather than less.

The test

There is a simple test for which system you have: remove a source and see whether the answer changes.

If you can delete the document a claim is cited to, re-run, and get the same claim with a different citation, the citations are decorative. The claim was not derived from the source; the source was matched to the claim.

We run this as a check. It catches more than you would expect.

What we do instead

Three mechanics, none of them clever:

  • Retrieval is scoped per claim, not per answer. A question that needs three facts issues three retrievals. Dumping twenty documents into one context and generating a paragraph makes attribution unrecoverable after the fact.
  • Passages carry identity through the pipeline. A retrieved passage has an id from the moment it is fetched. The generation step emits which ids it used. Nothing reconstructs attribution later, because reconstruction is exactly the step that invents it.
  • An unsupported claim is reported as unsupported. This is the uncomfortable one. It means the system sometimes says "the material does not answer this", which reads as a worse product and is a better one.

Freshness is part of grounding

A citation to a document that was true in March and is not true now is a correct citation to a wrong fact. Every retrieved passage carries a last-verified timestamp, and answers derived from stale material say so.

\text{confidence} \propto \text{support} \times \text{freshness}

This is not a formula we compute; it is a statement about what the interface has to show. A decision made on six-month-old contract terms should look different from one made on this morning's data.

The honest limitation

Grounding reduces fabrication. It does not eliminate it, and anyone claiming otherwise is selling something.

A model can still misread a passage it genuinely retrieved. What grounding buys you is not correctness — it is checkability. A human can verify the claim in ten seconds instead of twenty minutes. That is the whole value proposition, and it is enough.

Related

Working on something similar?

We would like to hear about it.