PromptingIndex
← All posts

Chain-of-Verification: How Meta AI Taught Models to Fact-Check Their Own Outputs

2026-08-06

Language models are confident by default. When they do not know an answer, they often generate a plausible-sounding substitute rather than admitting uncertainty. The result is hallucination: factually incorrect output delivered with the same fluency as correct output. In September 2023, researchers at Meta AI published a prompting method called Chain-of-Verification (CoVe) that addresses this failure mode without modifying the model, adding a retrieval system, or requiring access to external fact databases. CoVe works by having the model interrogate its own output: after generating a draft response, the model generates a set of verification questions about the claims in that draft, answers each question independently, and then revises the draft in light of what the verification step revealed.

The paper and its authors

"Chain-of-Verification Reduces Hallucination in Large Language Models" was submitted to arXiv on September 20, 2023 (arXiv:2309.11495). The authors are Shehzaad Dhuliawala (Meta AI and ETH Zurich), Mojtaba Komeili, Jing Xu, Roberta Raileanu, Xian Li, and Asli Celikyilmaz (all at Meta AI), and Jason Weston, also at Meta AI and one of the field's prolific contributors to dialogue and reasoning research. The paper evaluated CoVe on models including Llama 65B across three categories of task: list-based factual recall using Wikidata, closed-book multi-span question answering using MultiSpanQA, and open-ended longform text generation in biography-style outputs.

Why longform generation amplifies hallucination

The core motivation for CoVe is that hallucinations in longform generation have a compounding structure. When a model begins a paragraph by stating an incorrect fact, subsequent sentences often build on that incorrect premise, producing a chain of errors that reads coherently but is factually wrong at its root. The paper refers to this as exposure bias: the model's own prior outputs are treated as context for generating subsequent tokens, so an early mistake propagates forward. A model asked to write a biography of a person will often produce a plausible timeline of events in which individual dates, positions, or affiliated institutions are wrong. The model is not confabulating randomly; it is generating the most statistically plausible continuation of its own erroneous output.

The same problem appears in list generation. If a model is asked to list people who match a criterion, it may include names that do not satisfy the criterion but that co-occur frequently in training data with names that do. Each individual name appears plausible given the question, and the model has no built-in mechanism for double-checking each claim independently before committing to the full list. CoVe introduces that mechanism as an explicit prompting stage.

The four steps of the CoVe pipeline

CoVe inserts a structured self-review loop between an initial draft and the final response. The four steps defined in the paper are:

  • Generate baseline response: The model answers the user's query with a standard prompt. This draft may contain hallucinations that CoVe will later attempt to correct.
  • Plan verifications: Given the original query and the baseline response together, the model generates a set of specific verification questions that could reveal factual errors in the draft. For a biography these might be questions like 'In what year did X hold position Y?' or 'Which organization did X lead during the 1990s?' Each question targets a discrete factual claim embedded in the draft.
  • Execute verifications: The model answers each verification question. The key design choice is that verification answers should not be influenced by the draft response. The model answers the questions as if it had not yet generated the draft, so the verification reflects what the model actually knows rather than what it previously wrote.
  • Generate final verified response: Given the original query, the draft, the verification questions, and the verification answers, the model generates a revised response that resolves any inconsistencies the verification step uncovered.

The factored variant and why independence matters

The paper's most important technical finding is that the order and isolation of the verification execution step determine how much hallucination reduction CoVe achieves. In the simplest version, called the joint variant, all four steps are generated as a single left-to-right sequence. The model generates the draft, then the verification questions, then the verification answers, and then the revised response in one pass. This already improves over the unverified baseline, but it leaves a systematic weakness: when the model generates answers to verification questions with its own draft response sitting in the context window, it tends to reproduce the same errors from the draft. The draft acts as a strong prior that biases verification toward confirming rather than correcting mistakes.

The factored variant addresses this by separating the verification execution step from the draft context. The model answers each verification question using only the question itself, not the draft. Without the draft anchoring its answers, the model's verification responses more accurately reflect what it actually knows about the fact in question. The paper finds that individual verification questions answered in isolation are more accurate than the same facts embedded in a longform generation, because the short context around a pointed question reduces the influence of prior erroneous tokens. The factored variant gives better performance than the joint variant across all three tasks evaluated in the paper. A further variant answers each verification question in a completely separate context with no other questions visible, reducing inter-question anchoring as well.

What the experiments found and when to apply CoVe

The paper reports that CoVe decreases hallucination across Wikidata list questions, MultiSpanQA closed-book QA, and longform biography-style text generation. The gains are largest on tasks where each claim is discrete and verifiable: list questions, where each list entry can be checked by a targeted question, and closed-book QA, where the answer span can be probed directly. Longform generation also improves, though the gains vary more because claim boundaries in free-form paragraphs are harder to decompose into clean verification questions automatically.

CoVe is a strong fit for any use case where factual accuracy matters more than latency and the task involves multiple distinct factual claims in a single response. It works best when the model has the relevant knowledge but is prone to small errors in specific facts: wrong dates, wrong names, wrong affiliations. It is less suitable when the primary failure mode is missing knowledge rather than imprecise recall, because verification questions can only confirm what the model knows; they cannot supply information the model was never trained on.

In retrieval-augmented settings, CoVe and retrieval complement each other. Retrieval reduces the knowledge gap, and the CoVe self-checking loop then applies on top of retrieved information to catch residual errors in how the model integrates those facts into its response. Implementing CoVe requires no model fine-tuning and no external tools beyond the base model itself. A few well-constructed few-shot examples demonstrating the verification question planning step and the factored execution step are sufficient to activate the behavior in capable models. PromptingIndex tracks CoVe implementations and self-verification prompting patterns across Claude, GPT-4, and Llama, including examples that adapt the factored variant to structured output tasks where claim decomposition is more tractable.

Put these ideas to work.

Browse the prompt library