A hallucination is a confident answer that isn't supported by the facts — the model fills a gap with something plausible. Anthropic's "reduce hallucinations" guidance lists concrete countermeasures, and before any of the six below, it names a free one: "Allow Claude to say 'I don't know': Explicitly give Claude permission to admit uncertainty. This simple technique can drastically reduce false information." Add that line to your system prompt today; everything else builds on it. The six techniques that follow are ranked by what they demand from your pipeline, not by potency — the right choice depends on your accuracy stakes and latency budget. The ordering by effort is our editorial framing; the techniques themselves are Anthropic's.
Prompt-only changes (lowest effort)
1. External-knowledge restriction. Instruct Claude to answer only from the documents you provide and to ignore its general knowledge. One instruction, no code. It suits closed-book tasks — contract Q&A, policy lookup — where "not in the document" is the correct answer to out-of-scope questions. It pairs naturally with retrieval pipelines (see grounding with RAG).
2. Direct quotes for factual grounding. For long documents — Anthropic's docs say tasks over roughly 20k tokens — ask Claude to first extract word-for-word quotes relevant to the question, then perform the task using only those quotes. Still prompt-only, but it changes the output shape: responses get longer, and you may want a second pass to strip the scaffolding.
3. Citation requirements. Have Claude cite a quote or source for each claim it makes, and — per the docs — "If it can't find a quote, it must retract the claim." This makes outputs auditable, which is the real prize: a reviewer can verify any sentence in seconds. The added effort is downstream: your application should render or at least preserve the citations, and your evals should check that they actually appear.
Prompt plus latency budget (medium effort)
4. Chain-of-thought verification. Ask Claude to explain its reasoning step by step before giving the final answer. Reasoning surfaces the gaps — a claim with no visible support in the chain is a flag. The cost is output tokens and latency, so it fits review workflows better than chat hot paths. Note that on current models with adaptive thinking, some of this happens natively; explicit chain-of-thought in the prompt remains useful when you want the reasoning inspectable in the response itself.
Pipeline changes (highest effort)
5. Best-of-N verification. Run the same prompt several times and compare: per the docs, "Inconsistencies across outputs could indicate hallucinations." This is the first technique that multiplies your inference bill — N runs cost N times the tokens — and it needs comparison logic on your side, whether string comparison or a judge model. Reserve it for high-stakes extraction where a wrong value is expensive. Cloud-native batch inference on Bedrock or Vertex can make the N runs cheaper than N synchronous calls (see batch availability by platform).
6. Iterative refinement. Feed Claude's output back as input and ask it to verify or expand its previous answer. This is a multi-call pipeline: your application orchestrates rounds, decides when to stop, and handles disagreement between rounds. It is the heaviest lift and typically the last resort after cheaper techniques plateau.
| Technique | What it demands | Extra inference cost |
|---|---|---|
| External-knowledge restriction | One prompt instruction | None |
| Direct quotes first | Prompt restructure; longer outputs | Modest (more output tokens) |
| Citation requirements | Prompt + citation handling in app and evals | Modest |
| Chain-of-thought verification | Prompt + latency tolerance | Moderate |
| Best-of-N | Comparison logic | N× per request |
| Iterative refinement | Multi-call orchestration | 2×+ per request |
Where to go next
Build the measurement side with automated evals at scale, and see hallucination reduction in prompt design and the citations feature for structured, API-level source attribution.