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

Chain-of-Verification prompt (single-call and factored versions)
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.

Prompt
Question: Name five UK Prime Ministers who were born in Scotland.
(Run steps 1–4 above.)
Illustrative outputWritten to show the pattern, not a recorded model run
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

  1. Letting the verifier see the draft. It will tend to confirm what it already wrote. Answer verification questions in separate calls without the draft.
  2. Yes/no verification questions. “Was Bonar Law born in Scotland?” invites agreement. Ask open questions whose answers can be compared.
  3. Not re-checking replacements. New items added during revision skipped verification. Run them through the same check.
  4. Using it instead of sources. CoVe uses the model’s own memory. For facts that matter, verify against retrieved sources too.
  5. 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.