Ask a language model a broad, open question — "is this startup idea viable?", "what killed the dinosaurs?", "should I index this column?" — and a single pass reaches for the headline. It answers with whatever it surfaces first and quietly skips the sub-issues that actually decide the answer: who pays, what the mechanism was, how selective the column is. The reply sounds complete because it is fluent, but its quality is capped by one pass over a question that really needed several — and you cannot see what it left out.
The Cognitive Verifier (from White et al.'s A Prompt Pattern Catalog) fixes this by inserting a beat before the answer.
The idea in one line
Do not answer the question. First generate the sub-questions a good answer depends on, answer each independently, then combine those answers into the final response. One hard question becomes several easy ones, and the reasoning is laid out for inspection instead of hidden in a single confident paragraph.
The pattern skeleton — two (P) contextual statements
The catalog describes every pattern as a set of fundamental contextual statements, written (P). The Cognitive Verifier needs exactly two:
- (P1) generate: "When you are asked a question, generate a number of additional questions that would help answer it more accurately."
- (P2) combine: "Combine the answers to the individual questions to produce the final answer to the overall question."
The first statement creates the scaffolding; the second collapses it back into an answer. An optional third statement bounds the count (3–5) and answers each independently so one shaky answer never contaminates the others.
The copy-paste template
Drop this straight into your system field and add your question. The two (P) statements are labelled so the skeleton stays visible.
When I ask you a question, do not answer it directly. Instead:
(P1 · generate) First generate 3-5 additional sub-questions whose
answers would help you answer my question more accurately and
completely. Answer each sub-question independently and concisely —
do not let one answer contaminate another.
(P2 · combine) Then combine those answers into a single, well-reasoned
final answer to my original question. Note any caveats or
disagreements the sub-answers surfaced; do not paper over them.
Format:
Sub-questions & answers:
1. [sub-question] — [answer]
2. ...
Final answer: [combined answer to the original question]
My question: [YOUR QUESTION]
Or orchestrate it as three stages
The single prompt is one cheap call with the scaffolding visible in the output. When you want parallelism and inspectable intermediates, split it into three explicit stages — and returning the intermediates is what makes the reasoning auditable.
async function cognitiveVerifier(question) {
const subQuestions = await decompose(question); // (P1) generate
const answered = await answerEach(subQuestions); // answer each (parallel)
const finalAnswer = await combine(question, answered);// (P2) combine
return { question, answered, finalAnswer }; // + scaffolding
}
Answering each sub-question on its own is where the accuracy comes from: each is a smaller, better-scoped problem than the original, so the model slips far less than when juggling the whole thing at once. And because the sub-answers are independent, the calls parallelize.
When to reach for it
Use it on broad, under-specified questions where a single pass under-covers: viability and decision calls, research and explanation questions, engineering trade-offs, diagnosis, any "analyze this" task. The tell is that the hard part is not computing the answer but knowing which questions the answer depends on. Skip it for narrow, single-hop facts ("what's the capital of France?") — decomposition just adds tokens there.
It is a cousin of least-to-most (dependent sub-problems solved in order) and self-ask (follow-ups for multi-hop lookups); the Cognitive Verifier's sub-questions are independent coverage checks folded back together.
Step through the live decompose → answer → combine demo, side by side with the shallow one-shot answer, at https://dev48v.infy.uk/prompt/day56-cognitive-verifier.html
Top comments (0)