Citations are the mechanism that makes a generated answer checkable. They are also, unhelpfully, something models produce readily and inaccurately. Ask for citations and you will receive them; whether they point at documents that exist and say what the answer claims is a separate question the model does not reliably resolve.
Getting citations that mean something requires structure and verification rather than a prompt asking politely.
What changed in 2026
- Claim-level citation became the expectation. Attaching sources to individual statements rather than listing them at the end moved from a nicety to a standard requirement in serious deployments.
- Programmatic verification spread. Post-generation checks confirming that each citation supports its claim became a normal pipeline stage.
- Span-level attribution matured. Pointing at the specific supporting sentence, not merely the document, became achievable in production.
- Provider citation features improved. Built-in grounding with source references appeared in more APIs, though verification remained the caller's responsibility.
Levels of citation quality
| Level |
What the reader gets |
Verifiability |
| No citation |
Trust the answer |
None |
| Source list at the end |
Documents consulted |
Poor; which claim from which? |
| Claim-level document citation |
Each statement names a document |
Reasonable |
| Claim-level chunk citation |
Each statement names a passage |
Good |
| Span-level attribution |
Exact supporting text highlighted |
Strong |
| Verified span attribution |
Checked programmatically before display |
Strongest |
The jump from a source list to claim-level is where most of the value is. A list of five documents at the bottom of an answer containing twelve claims tells a reader nothing about which claim to check where, so nobody checks anything and the citations become decoration.
Producing and verifying
Constrain the model to cite from what was actually retrieved. Give each retrieved chunk a stable identifier, ask the model to reference those identifiers, and reject any output referencing an identifier that was not in the context. This alone eliminates fabricated references, which is the most damaging failure.
Then verify support. For each cited claim, check whether the referenced chunk actually contains information supporting it — either by string overlap for direct quotations, or by a judge model comparing the claim against the chunk. This is the faithfulness measurement described in faithfulness metrics for LLMs, applied per claim rather than per answer.
Handle uncited claims explicitly. Some sentences in an answer are legitimately connective — transitions, framing, restating the question — and do not need sources. Others are substantive claims with no citation, and those need flagging rather than passing through silently. Deciding which is which needs a rule, not a hope.
Display citations so they are checkable in one click. A citation the reader cannot follow to the exact supporting passage is a citation nobody verifies, which brings you back to decoration.
Common mistakes
- Asking for citations without constraining to retrieved sources. Produces plausible fabrications.
- Source list at the end. Unverifiable and therefore ignored.
- No verification pass. Citations that point at real documents saying something else.
- Treating a citation as proof. It means a source was named, not that it supports the claim.
- Not handling uncited substantive claims. They slip through as if grounded.
- Citations that do not link through. Nobody checks what they cannot open.
FAQ
Do models fabricate citations even with retrieval?
Less often, and yes — a model can attach a retrieved chunk identifier to a claim that chunk does not support. Constraining identifiers stops invention; verification catches misattribution.
How expensive is verification?
A judge call per claim, or cheaper string-matching for direct quotes. Batch it, and consider verifying a sample rather than everything on high-volume workloads.
Should I show citations to end users?
Where the answer matters, yes. Visible sources both build trust and let users catch errors your verification missed.
What if the model answers from its own knowledge?
Then there is no citation and you should surface that. Mixing retrieved and parametric knowledge without distinguishing them is how ungrounded claims acquire borrowed credibility.
Where to go next
For measuring grounding, read faithfulness metrics for LLMs and RAG evaluation metrics. For the underlying detection problem, LLM hallucination detection.