What is chain-of-verification prompting?
Chain-of-verification is a three-step prompting pattern: the model drafts an answer, then generates a short list of factual questions that would test that draft, then answers those questions independently and rewrites the draft to match. It converts fact-checking from something you do manually into a step the model performs on itself.
The pattern comes from the 2023 paper Chain-of-Verification Reduces Hallucination in Large Language Models by Shehzaad Dhuliawala and colleagues at Meta AI. Their finding was that a model asked to verify its own claims in a fresh, isolated step catches errors it will happily defend inside the original conversation.
The mechanism matters more than the name. Isolation is what does the work. When the verification questions are answered without the draft sitting in front of the model, the model cannot simply agree with itself.
Why does asking AI to check its own work actually catch errors?
Because a model generating a fresh answer to a narrow question behaves differently from one reviewing a passage it just wrote. The draft acts as context that biases agreement. Strip the draft away, ask the narrow question cold, and the answer often differs. That difference is the error signal.
This is why "please check the above for accuracy" rarely finds anything. The claim is still in context. The model reads it as an established premise and looks for reasons it is correct.
Anthropic's guidance in its Reduce hallucinations documentation points at the same principle from a different angle. It recommends having the model verify each claim by finding a supporting quote after generating a response, and retracting any claim it cannot support.
The practical version for someone who does not write code: two chat windows, or one conversation and one fresh one. That is the entire infrastructure requirement.
How do you run chain-of-verification in three prompts?
Run the draft prompt as normal, then the question-generation prompt in the same thread, then the verification prompt in a brand new chat with no history. Paste the verified answers back into the first thread and ask for a rewrite. Three prompts, roughly four minutes, and it works on any current model.
Prompt 2: generate the verification questions
--- Copy this into the same conversation, immediately after the draft:
"List every factual claim in your answer above that could be wrong: names, dates, figures, prices, job titles, product features, quotes. For each one, write a single short question that would confirm or refute it. Ask the question so it can be answered by someone who has never seen your draft. Output only the numbered questions, nothing else. If a claim is your own inference rather than a fact, mark it INFERENCE and do not write a question for it."
Prompt 3: answer them cold
--- Open a new chat. No history, no draft, no explanation of where the questions came from:
"Answer each question below independently and briefly. If you do not know, or cannot verify it from a source you can name, write UNVERIFIED and say what source would settle it. Do not guess, do not hedge into a plausible-sounding answer, and do not try to infer what the questions are for. 1. [paste] 2. [paste] 3. [paste]"
Then return to the first conversation and paste the answers with one instruction: rewrite the draft so every claim matches these verified answers, delete anything marked UNVERIFIED, and add no new claims.
What does this look like on a real work task?
Take a common one. You ask an AI to write a one-page competitor brief before a client meeting. The draft comes back confident, well-structured, and contains a funding round that never happened, a CEO who left two years ago, and a pricing tier that was retired.
Run prompt 2 and the model typically produces eight to twelve questions. "When did Company X raise its Series B and for how much?" "Who is the current CEO of Company X?" "What is the entry price of Company X's paid plan?"
Run prompt 3 cold and the pattern is consistent in practice: several answers match the draft, a few come back UNVERIFIED, and one or two contradict it outright. The contradictions are the ones that would have embarrassed you in the meeting.
The same loop works on a data summary, a market sizing paragraph, a compliance explainer, or a biography you are writing about a real person. Any output where one specific wrong number costs you more than four minutes.
Which two lines belong in every fact-heavy prompt?
Two instructions do most of the preventive work before verification is even needed. Anthropic's documentation lists both: explicitly permit the model to say it does not know, and ground long-document tasks in word-for-word quotes pulled before the analysis begins.
--- Line one: "If you are not confident a specific fact is correct, write UNVERIFIED next to it rather than producing your best guess. An incomplete answer is more useful to me than a confident wrong one."
--- Line two, for anything built on a document you supply: "Before answering, extract the exact sentences from the document that support your answer, quoted word for word. Then answer using only those quotes. If the document does not contain the answer, say so."
Anthropic recommends the quote-first approach specifically for documents above roughly 20,000 tokens, which is around 15,000 words or a 40-page PDF. Below that it still helps, because it forces the model to point at text rather than at memory.
These two lines cost nothing and they change the failure mode. Instead of a fluent invention, you get a visible gap you can go and fill.
Where does chain-of-verification break down?
It catches factual errors. It does not catch reasoning errors, poor judgment, or claims the model was never in a position to know. A model with no reliable information about a private Hong Kong company produces a confident wrong answer in the draft and a confident wrong answer in the verification pass, because the same gap produces both.
--- It fails on anything after the training cutoff. Verification without web access is verification against memory. For recent prices, staff changes or product features, use a model with search enabled and require a link for each answer.
--- It is weak on numbers derived by calculation. If the draft multiplied two figures incorrectly, both passes can repeat the same arithmetic slip. Ask for the calculation to be written out in full instead.
--- It does not survive shortcuts. Running prompt 3 in the same thread destroys the effect entirely. The isolation is the technique. Without it you have added two prompts and gained nothing.
--- It does not replace a human check on anything legal, medical or financial. Use it to reduce the volume of errors reaching your eyes, not to remove your eyes from the process.
How do you make this repeatable instead of remembering it each time?
Save prompts 2 and 3 as text snippets you can paste in one keystroke, and put the two preventive lines into the place your tool applies them automatically. In ChatGPT that is custom instructions or a saved GPT; in Claude that is project instructions; in Gemini that is a saved Gem. The technique only pays off when it costs you nothing to remember.
The rule that keeps it honest is a trigger, not a habit. Decide in advance which outputs get verified. A workable default: anything containing a number, a name or a date that will be seen by someone outside your team.
Everything else, skip it. Running verification on a brainstorm or a first-draft outline wastes the four minutes and trains you to resent the step.
One more configuration detail worth setting once. If your tool lets you disable memory or start a temporary chat, use that for prompt 3. Memory features can reintroduce the very draft you are trying to isolate the model from, which quietly returns you to a single-context check that finds nothing.
Try it now: a five-minute test
Take an AI-written paragraph you produced this week that contains at least three specific facts. A client brief, a LinkedIn post about an industry trend, a summary of a report. Do not pick something you already know is correct.
Run prompt 2 on it. Count the questions. Open a fresh chat, run prompt 3, and compare each answer to the original paragraph line by line.
Most people find one contradiction and two UNVERIFIED flags on the first attempt. That is the number of errors your current workflow was shipping. Knowing the number is the point of the exercise.
If inconsistent output is your wider problem, our earlier guide to context engineering for non-coders covers the five layers that sit underneath every prompt.
The takeaway
AI does not invent facts because it is careless. It invents them because producing a fluent sentence and producing a true sentence are the same operation to it, and nothing in an ordinary prompt separates the two.
Chain-of-verification separates them using nothing but a second window and a stricter instruction. Four minutes, no tools, no subscription, and it works on every model you already pay for.
The gap between people who get reliable AI output and people who do not is rarely talent. It is usually one extra step nobody told them to add. We understand AI. We understand you better. With UD by your side, AI doesn't feel cold.
Reviewed by the UD AI team.
Turn One Technique Into a Working System
Knowing the verification loop is step one. Building it into a workflow your whole team runs the same way every time is where the value compounds. We'll walk you through every step, from prompt design and tool setup to deployment across your team.