Verification
Chain-of-Verification (CoVe)
Chain-of-Verification (CoVe) is a technique for reducing hallucinations in which the model drafts an answer, writes verification questions that would fact-check that draft, answers those questions independently of the draft, and then rewrites the answer using only what survived. It works because models answer short, focused questions more accurately than they write long answers.
- Best for
- Cutting hallucinated facts in lists and long answers
- Difficulty
- Intermediate
- Updated
What is Chain-of-Verification (CoVe)?
When a model writes a list of ten facts, each item is generated in the flow of the previous ones, and plausible-but-wrong items slip in. Asked a single direct question — “Where was Andrew Bonar Law born?” — the same model is much more likely to get it right. CoVe turns one long, error-prone generation into many short, checkable ones.
The crucial detail is independence. If the model answers the verification questions while looking at its draft, it tends to repeat the draft’s mistakes. The strongest version answers each question in a separate call that never sees the draft.
When to use it — and when not to
Use it when
- List questions (“name five…”, “which companies…”) where individual items are often wrong.
- Biographies, histories, product comparisons and other long answers full of discrete facts.
- Any output where a wrong fact is costly and you cannot retrieve sources for every claim.
Skip it when
- Errors in reasoning or maths — CoVe checks stated facts, not logic. Use chain-of-thought or self-consistency.
- Facts the model simply doesn’t know (recent events, your private data). Self-checking from memory can’t fix missing knowledge; retrieve sources instead.
- Short answers with one fact — just ask the direct question.
Copyable template
STEP 1 — DRAFT Answer the question: [QUESTION] STEP 2 — PLAN VERIFICATION List one short, open verification question for every factual claim in your draft (ask "Where was X born?", not "Was X born in Y?"). STEP 3 — ANSWER INDEPENDENTLY Best: run each question as a separate call that does NOT include the draft. Single-call fallback: answer each question from scratch, as if you had never seen the draft. STEP 4 — REVISE Compare the draft with the verification answers. Remove or correct every claim that conflicts. Output the final answer, then a short list: "Corrected:" and "Removed:".
Open questions avoid the model simply agreeing with a yes/no restatement of its own claim. The factored version (separate calls) costs more but is the stronger method.
Replace everything in [SQUARE BRACKETS] before you run it.
Worked example: Prime Ministers born in Scotland
A classic trap: several UK Prime Ministers are strongly associated with Scotland but were born elsewhere.
Question: Name five UK Prime Ministers who were born in Scotland. (Run steps 1–4 above.)
Draft: Gordon Brown, Tony Blair, Ramsay MacDonald, Andrew Bonar Law, Alec Douglas-Home Verification (each asked separately): Where was Gordon Brown born? — Giffnock, Renfrewshire, Scotland Where was Tony Blair born? — Edinburgh, Scotland Where was Ramsay MacDonald born? — Lossiemouth, Scotland Where was Andrew Bonar Law born? — New Brunswick, Canada Where was Alec Douglas-Home born? — Mayfair, London Revision proposes two replacements, which get the same check: Where was Henry Campbell-Bannerman born? — Kelvinside, Glasgow, Scotland Where was Arthur Balfour born? — Whittingehame, East Lothian, Scotland Final: Gordon Brown, Tony Blair, Ramsay MacDonald, Henry Campbell-Bannerman, Arthur Balfour Removed: Bonar Law (born in Canada), Douglas-Home (born in London)
Why it works: Both errors were plausible associations, not random noise. Asked directly and in isolation, the birthplace questions are easy, so the revision catches them. The replacements go through the same questions before they make the final list.
Common mistakes
- Letting the verifier see the draft. It will tend to confirm what it already wrote. Answer verification questions in separate calls without the draft.
- Yes/no verification questions. “Was Bonar Law born in Scotland?” invites agreement. Ask open questions whose answers can be compared.
- Not re-checking replacements. New items added during revision skipped verification. Run them through the same check.
- Using it instead of sources. CoVe uses the model’s own memory. For facts that matter, verify against retrieved sources too.
- Expecting it to fix reasoning. It targets factual claims. A wrong calculation will survive unless you also check the working.
Origin & sources
Introduced by Shehzaad Dhuliawala, Jason Weston and colleagues at Meta AI in 2023 and published in Findings of ACL 2024. They showed CoVe reduced hallucinations on Wikidata list questions, closed-book MultiSpanQA and long-form biography generation, with the “factored” variants — each verification question answered in its own prompt — performing best.
Try it on The Prompt Index
Frequently asked questions
Does Chain-of-Verification eliminate hallucinations?
No. It reduces them, especially in lists and long answers, but the model is still checking itself from its own knowledge. For facts that matter, also verify against real sources.
Can I do Chain-of-Verification in one prompt?
Yes, as a fallback: ask the model to draft, list verification questions, answer them from scratch and revise. Answering each question in a separate call without the draft is more effective.
How is CoVe different from asking the model to “double-check”?
“Double-check your answer” lets the model reread and usually approve its own draft. CoVe forces specific, independent questions about each claim, which exposes errors the model would otherwise defend.