@ckelsoe/prompt-architect 3.3.1 → 3.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/.claude-plugin/marketplace.json +3 -3
  2. package/.claude-plugin/plugin.json +2 -2
  3. package/CHANGELOG.md +34 -0
  4. package/README.md +7 -3
  5. package/adapters/system-prompt.md +96 -55
  6. package/package.json +6 -4
  7. package/scripts/test.js +32 -0
  8. package/skills/prompt-architect/SKILL.md +74 -41
  9. package/skills/prompt-architect/assets/templates/ape_template.txt +14 -3
  10. package/skills/prompt-architect/assets/templates/bab_template.txt +23 -10
  11. package/skills/prompt-architect/assets/templates/broke_template.txt +31 -6
  12. package/skills/prompt-architect/assets/templates/cai-critique-revise_template.txt +16 -8
  13. package/skills/prompt-architect/assets/templates/care_template.txt +4 -0
  14. package/skills/prompt-architect/assets/templates/chain-of-density_template.txt +30 -31
  15. package/skills/prompt-architect/assets/templates/chain-of-thought_template.txt +8 -0
  16. package/skills/prompt-architect/assets/templates/chain-of-verification_template.txt +26 -0
  17. package/skills/prompt-architect/assets/templates/co-star_template.txt +8 -0
  18. package/skills/prompt-architect/assets/templates/crispe_template.txt +6 -0
  19. package/skills/prompt-architect/assets/templates/ctf_template.txt +8 -0
  20. package/skills/prompt-architect/assets/templates/devils-advocate_template.txt +7 -0
  21. package/skills/prompt-architect/assets/templates/hybrid_template.txt +44 -24
  22. package/skills/prompt-architect/assets/templates/iterative-compression_template.txt +43 -28
  23. package/skills/prompt-architect/assets/templates/least-to-most_template.txt +4 -0
  24. package/skills/prompt-architect/assets/templates/plan-and-solve_template.txt +4 -0
  25. package/skills/prompt-architect/assets/templates/pre-mortem_template.txt +24 -14
  26. package/skills/prompt-architect/assets/templates/race_template.txt +9 -0
  27. package/skills/prompt-architect/assets/templates/rcot_template.txt +8 -0
  28. package/skills/prompt-architect/assets/templates/react_template.txt +38 -16
  29. package/skills/prompt-architect/assets/templates/rise-ie_template.txt +4 -0
  30. package/skills/prompt-architect/assets/templates/rise-ix_template.txt +3 -3
  31. package/skills/prompt-architect/assets/templates/risen_template.txt +7 -0
  32. package/skills/prompt-architect/assets/templates/rpef_template.txt +16 -11
  33. package/skills/prompt-architect/assets/templates/rtf_template.txt +9 -0
  34. package/skills/prompt-architect/assets/templates/self-consistency_template.txt +12 -0
  35. package/skills/prompt-architect/assets/templates/skeleton-of-thought_template.txt +18 -10
  36. package/skills/prompt-architect/assets/templates/step-back_template.txt +4 -0
  37. package/skills/prompt-architect/assets/templates/tidd-ec_template.txt +54 -31
  38. package/skills/prompt-architect/assets/templates/tree-of-thought_template.txt +37 -21
  39. package/skills/prompt-architect/references/frameworks/ape.md +143 -57
  40. package/skills/prompt-architect/references/frameworks/bab.md +137 -58
  41. package/skills/prompt-architect/references/frameworks/broke.md +157 -57
  42. package/skills/prompt-architect/references/frameworks/cai-critique-revise.md +183 -75
  43. package/skills/prompt-architect/references/frameworks/care.md +67 -36
  44. package/skills/prompt-architect/references/frameworks/chain-of-density.md +49 -27
  45. package/skills/prompt-architect/references/frameworks/chain-of-thought.md +28 -7
  46. package/skills/prompt-architect/references/frameworks/chain-of-verification.md +231 -0
  47. package/skills/prompt-architect/references/frameworks/co-star.md +100 -44
  48. package/skills/prompt-architect/references/frameworks/crispe.md +7 -5
  49. package/skills/prompt-architect/references/frameworks/ctf.md +73 -37
  50. package/skills/prompt-architect/references/frameworks/devils-advocate.md +105 -58
  51. package/skills/prompt-architect/references/frameworks/iterative-compression.md +236 -269
  52. package/skills/prompt-architect/references/frameworks/least-to-most.md +35 -13
  53. package/skills/prompt-architect/references/frameworks/plan-and-solve.md +38 -9
  54. package/skills/prompt-architect/references/frameworks/pre-mortem.md +176 -66
  55. package/skills/prompt-architect/references/frameworks/race.md +91 -38
  56. package/skills/prompt-architect/references/frameworks/rcot.md +1 -1
  57. package/skills/prompt-architect/references/frameworks/react.md +230 -97
  58. package/skills/prompt-architect/references/frameworks/reverse-role.md +22 -15
  59. package/skills/prompt-architect/references/frameworks/rise.md +94 -70
  60. package/skills/prompt-architect/references/frameworks/risen.md +80 -28
  61. package/skills/prompt-architect/references/frameworks/rpef.md +227 -58
  62. package/skills/prompt-architect/references/frameworks/rtf.md +2 -2
  63. package/skills/prompt-architect/references/frameworks/self-consistency.md +195 -0
  64. package/skills/prompt-architect/references/frameworks/self-refine.md +4 -2
  65. package/skills/prompt-architect/references/frameworks/skeleton-of-thought.md +67 -21
  66. package/skills/prompt-architect/references/frameworks/step-back.md +47 -15
  67. package/skills/prompt-architect/references/frameworks/tidd-ec.md +110 -45
  68. package/skills/prompt-architect/references/frameworks/tree-of-thought.md +112 -37
  69. package/skills/prompt-architect/references/techniques/few-shot.md +121 -0
@@ -34,12 +34,12 @@ Entity identification is done by the model itself inside the loop — there is n
34
34
 
35
35
  ## The Method
36
36
 
37
- Five iterations, issued as a **single prompt** that returns all five summaries at once (not five separate turns):
37
+ `[N]` iterations, issued as a **single prompt** that returns all `[N]` summaries at once (not `[N]` separate turns). The paper uses five, and that is the template's default when the user gives no number:
38
38
 
39
- 1. **Write a deliberately sparse first summary.** Long (4-5 sentences, ~80 words) but highly non-specific, padded with filler like "this article discusses." The padding is intentional — it creates the slack that later steps convert into entities.
39
+ 1. **Write a deliberately sparse first summary.** Long (4-5 sentences, ~`[TARGET]` words) but highly non-specific, padded with filler like "this article discusses." The padding is intentional — it creates the slack that later steps convert into entities.
40
40
  2. **Identify 1-3 missing entities** from the article that are absent from the current summary.
41
41
  3. **Rewrite at identical length**, covering everything from the previous summary *plus* the new entities. Make room through fusion, compression, and removal of uninformative phrases.
42
- 4. **Repeat steps 2-3** until five summaries exist.
42
+ 4. **Repeat steps 2-3** until `[N]` summaries exist.
43
43
  5. **Choose the step you want.** Later is not automatically better — human raters preferred steps 2-3.
44
44
 
45
45
  **Never drop entities from the previous summary.** If space cannot be made, add fewer new entities. Under pressure, density yields — length and prior content do not.
@@ -57,49 +57,71 @@ Five iterations, issued as a **single prompt** that returns all five summaries a
57
57
  - Progressive shortening to a target word count → use **Iterative Compression**
58
58
  - Non-summarization tasks. CoD is summarization-specific; the paper evaluates it only on news articles (CNN/DailyMail).
59
59
 
60
- ## The Prompt
60
+ ## Template Structure
61
61
 
62
- This is the paper's actual prompt, lightly reformatted. It is reproduced closely because the specific wording especially the fixed-length instruction and the entity criteria — is what makes the technique work.
62
+ The block below is the template's prompt region as authored — what you fill in, not what you send. (Its divider rules are omitted; they mark the guidance/prompt boundary inside the template file and never ship.) Section headers are stripped at emission, so every slot's meaning is carried by the prose around and inside it rather than by the header above it. `SOURCE MATERIAL:` is such a header it goes, and the unbracketed sentence below it is what tells the model the pasted text is the article to summarize. `Step 1.`, `Step 2.` and `Guidelines:` are the exception: they are literal labels inside the paper's protocol, not document structure, and they ship verbatim.
63
+
64
+ `[TARGET]` is the fixed word budget and `[N]` the number of summaries, both as bare numerals. Substitute the same numeral at every occurrence of each — in the prompt body below, `[TARGET]` appears three times and `[N]` three times. (The template file names each twice more in its guidance region; those are descriptions of the fields, not slots, and never ship.) The paper's settings are `[TARGET]` = 80 and `[N]` = 5; use those if the user gave no numbers of their own.
63
65
 
64
66
  ```
65
- Article: {{ARTICLE}}
67
+ SOURCE MATERIAL:
68
+ [Paste the full document to be summarized here.]
69
+ Use the material above as the article to be summarized for the work described below.
66
70
 
67
- You will generate increasingly concise, entity-dense summaries of the above Article.
71
+ You will generate increasingly concise, entity-dense summaries of the article above.
72
+ Produce [N] summaries in total, each denser than the last, all in a single response.
73
+ Every summary must be exactly [TARGET] words long.
68
74
 
69
- Repeat the following 2 steps 5 times.
75
+ Repeat the following 2 steps [N] times.
70
76
 
71
- Step 1. Identify 1-3 informative Entities (";" delimited) from the Article which are
72
- missing from the previously generated summary.
73
- Step 2. Write a new, denser summary of identical length which covers every entity and
74
- detail from the previous summary plus the Missing Entities.
77
+ Step 1. Identify 1-3 informative entities (";" delimited) from the article which
78
+ are missing from the previously generated summary.
79
+ Step 2. Write a new, denser summary of identical length which covers every entity
80
+ and detail from the previous summary plus the missing entities.
75
81
 
76
- A Missing Entity is:
82
+ A missing entity is:
77
83
  - Relevant: to the main story.
78
84
  - Specific: descriptive yet concise (5 words or fewer).
79
85
  - Novel: not in the previous summary.
80
- - Faithful: present in the Article.
81
- - Anywhere: located anywhere in the Article.
86
+ - Faithful: present in the article.
87
+ - Anywhere: located anywhere in the article.
82
88
 
83
89
  Guidelines:
84
- - The first summary should be long (4-5 sentences, ~80 words) yet highly non-specific,
85
- containing little information beyond the entities marked as missing. Use overly verbose
86
- language and fillers (e.g., "this article discusses") to reach ~80 words.
87
- - Make every word count: re-write the previous summary to improve flow and make space for
88
- additional entities.
89
- - Make space with fusion, compression, and removal of uninformative phrases like "the
90
- article discusses".
91
- - The summaries should become highly dense and concise yet self-contained, e.g., easily
92
- understood without the Article.
90
+ - The first summary should be long (4-5 sentences, ~[TARGET] words) yet highly
91
+ non-specific, containing little information beyond the entities marked as missing.
92
+ Use overly verbose language and fillers (e.g., "this article discusses") to reach
93
+ ~[TARGET] words.
94
+ - Make every word count: re-write the previous summary to improve flow and make
95
+ space for additional entities.
96
+ - Make space with fusion, compression, and removal of uninformative phrases like
97
+ "the article discusses".
98
+ - The summaries should become highly dense and concise yet self-contained, e.g.,
99
+ easily understood without the article.
93
100
  - Missing entities can appear anywhere in the new summary.
94
- - Never drop entities from the previous summary. If space cannot be made, add fewer new
95
- entities.
101
+ - Never drop entities from the previous summary. If space cannot be made, add
102
+ fewer new entities.
96
103
 
97
104
  Remember, use the exact same number of words for each summary.
98
105
 
99
- Answer in JSON. The JSON should be a list (length 5) of dictionaries whose keys are
106
+ Answer in JSON. The JSON should be a list (length [N]) of dictionaries whose keys are
100
107
  "Missing_Entities" and "Denser_Summary".
108
+
109
+ After the JSON, and outside it, add one short paragraph naming which summary you
110
+ recommend and why. Do not default to the last one: in the paper's human evaluation,
111
+ summary 2 (30.8% of first-place votes) and summary 3 (23.0%) were preferred over the
112
+ sparse summary 1 (8.3%), because past a point density costs readability.
101
113
  ```
102
114
 
115
+ ### Relationship to the paper's original prompt
116
+
117
+ The body above is the paper's prompt, reproduced closely on purpose — the specific wording, especially the fixed-length instruction and the entity criteria, is what makes the technique work. Three deliberate departures:
118
+
119
+ - **`SOURCE MATERIAL:` replaces the paper's `Article: {{ARTICLE}}` field.** Same job, house convention, and the trailing sentence survives header-stripping where a bare `Article:` label would not.
120
+ - **`[TARGET]` and `[N]` are parameterized** where the paper hardcodes 80 and 5, so the template serves a user-supplied budget and pass count.
121
+ - **The closing recommendation paragraph is an addition, not from the paper.** The paper reports the preference numbers; it does not instruct the model to act on them. This template does, so the user gets a pick rather than a default-to-last.
122
+
123
+ Sentence-case "missing entity" and "article" replace the paper's mid-sentence capitals. That is formatting only — no wording changed.
124
+
103
125
  ## Worked Example
104
126
 
105
127
  **Source:** a 1,200-word news article about a municipal transit funding decision.
@@ -4,6 +4,8 @@
4
4
 
5
5
  Chain of Thought is a prompting technique that encourages step-by-step reasoning and makes the thinking process explicit. Instead of jumping to answers, it guides Claude to break down complex problems, show intermediate steps, and verify logic along the way.
6
6
 
7
+ When prompt-architect emits a Chain-of-Thought prompt, its framework section headers — `PROBLEM / QUESTION`, `SOURCE MATERIAL`, `REASONING INSTRUCTION` — are stripped and the model receives a flat block. The reasoning instruction is written as a complete sentence so it survives on its own, while the numbered step labels the prompt requests (`Step 1:`, `STEP 1 - REQUIREMENTS:`) are literal labels inside the reasoning protocol and stay in place. An optional `SOURCE MATERIAL` block holds the code, data, or document being reasoned over and is deleted when the problem is self-contained.
8
+
7
9
  **Research basis:** "Chain-of-Thought Prompting Elicits Reasoning in Large Language Models" (Wei et al., Google Research, arXiv 2201.11903, NeurIPS 2022). Prompting PaLM 540B with eight chain-of-thought exemplars raised GSM8K accuracy from 17.9% with standard prompting to 56.9%, beating the prior fine-tuned state of the art of 55% (GPT-3 plus a verifier, Cobbe et al. 2021).
8
10
 
9
11
  ## Core Concept
@@ -168,6 +170,16 @@ Poor:
168
170
 
169
171
  ## Complete Examples
170
172
 
173
+ Every example below is shown in emitted form. Two kinds of label appear, and they behave
174
+ differently at emission. The framework's own section headers — `SOURCE MATERIAL:`,
175
+ `PROBLEM / QUESTION:`, `REASONING INSTRUCTION:` — are scaffolding and are stripped, so each
176
+ is written so its instruction still reads once the header is gone. The numbered
177
+ reasoning-step labels the prompt asks for (`Step 1:`, `STEP 1 - REQUIREMENTS:`) are literal
178
+ labels inside the reasoning protocol, not section headers, and they survive into the emitted
179
+ prompt exactly as written — they are what the model is being told to produce. Where the
180
+ reasoning runs over an existing artifact, the `SOURCE MATERIAL` block carries it; where the
181
+ task starts from a blank page, that block is deleted.
182
+
171
183
  ### Example 1: Debugging
172
184
 
173
185
  **Without CoT:**
@@ -176,14 +188,19 @@ Why isn't this code working?
176
188
  [code snippet]
177
189
  ```
178
190
 
179
- **With CoT:**
191
+ **With CoT** (source material supplied):
180
192
  ```
181
- Debug this code by thinking through it step-by-step:
193
+ SOURCE MATERIAL:
194
+ [Paste the code you want debugged here]
195
+ The reasoning that follows must work from the material above, not from
196
+ assumptions about it.
182
197
 
183
- [code snippet]
198
+ PROBLEM / QUESTION:
199
+ Debug the code above by thinking through it step-by-step.
184
200
 
201
+ REASONING INSTRUCTION:
185
202
  Use this process:
186
- 1. Read the code and state what it's supposed to do
203
+ 1. Read the code and state what it is supposed to do
187
204
  2. Identify the input and expected output
188
205
  3. Trace through execution line by line
189
206
  4. Note any suspicious patterns or red flags
@@ -201,7 +218,9 @@ Use this process:
201
218
  Design a URL shortener.
202
219
  ```
203
220
 
204
- **With CoT:**
221
+ **With CoT** (no source material — the design is worked out from scratch, so no
222
+ `SOURCE MATERIAL` block is needed; the `STEP N -` labels are literal protocol labels and
223
+ survive header stripping):
205
224
  ```
206
225
  Design a URL shortener by working through these steps:
207
226
 
@@ -244,7 +263,9 @@ For each step, explain your reasoning.
244
263
  Should we use MongoDB or PostgreSQL?
245
264
  ```
246
265
 
247
- **With CoT:**
266
+ **With CoT** (no source material — the decision is reasoned out from scratch, so no
267
+ `SOURCE MATERIAL` block is needed; the `STEP N -` labels are literal protocol labels and
268
+ survive header stripping):
248
269
  ```
249
270
  Decide between MongoDB and PostgreSQL by reasoning through:
250
271
 
@@ -306,7 +327,7 @@ STEPS:
306
327
  ...
307
328
  ```
308
329
 
309
- ### CoT + RISE
330
+ ### CoT + RISE-IE
310
331
  ```
311
332
  ROLE: [Analyst]
312
333
  INPUT: [Data]
@@ -0,0 +1,231 @@
1
+ # CoVe (Chain-of-Verification)
2
+
3
+ ## Overview
4
+
5
+ Chain-of-Verification (CoVe) is a verification framework that reduces hallucinated facts by making the model check its own draft against answers it produces without looking at that draft. The model first writes a baseline response, then plans a set of targeted verification questions aimed at the discrete factual claims the draft makes, then answers those questions independently — crucially without reference to the baseline — and finally regenerates the response, correcting anything the independent answers contradicted. The whole procedure fits inside a single pasted prompt: one response that walks through all four steps in order.
6
+
7
+ **Origin:** Dhuliawala et al., "Chain-of-Verification Reduces Hallucination in Large Language Models" (arXiv 2309.11495). First posted as a preprint in September 2023, it was published in the **Findings of the Association for Computational Linguistics: ACL 2024** (anthology id 2024.findings-acl.212) — so cite the venue as Findings of ACL **2024**, not 2023. The work is a collaboration: the first author holds a dual affiliation with **ETH Zürich** alongside Meta AI, so it is not accurate to credit Meta AI alone. Note also that the paper's **abstract contains no numbers** — it states qualitatively that CoVe decreases hallucinations across tasks. The frequently quoted precision improvement on list-based Wikidata questions (0.17 to 0.36 for Llama 65B) is a **body figure from the experiments**, not an abstract claim; only present it as a body/table result, and do not attach it to the abstract.
8
+
9
+ ## Why CoVe Works
10
+
11
+ Hallucinated facts in a baseline draft are internally consistent and fluent, which is exactly why re-reading the draft does not catch them — the model that wrote the error will happily reaffirm it when asked to review its own text. CoVe breaks that loop by structural means rather than by asking harder:
12
+
13
+ - The draft is decomposed into discrete factual claims, each of which becomes a short, answerable verification question.
14
+ - Each verification question is answered **on its own**, not conditioned on the draft, so the model retrieves the fact fresh instead of echoing what it already wrote.
15
+ - The regenerated answer is forced to reconcile with those independent answers, so contradictions surface as edits.
16
+
17
+ **The independence of the verification step is the entire mechanism.** If the model answers the verification questions while looking at the baseline, it tends to repeat the baseline's errors — the check collapses into agreement with the thing being checked. The paper studies factored variants (answering verifications separately from the original draft) precisely to preserve this independence, and reports the largest gains when the verification answers are not conditioned on the initial response.
18
+
19
+ **Limitation:** CoVe targets hallucinated facts — fabricated names, dates, quantities, citations, list members. It is weaker on reasoning that is factually grounded but logically flawed, and it cannot verify a claim the model has no better knowledge of on the second pass than the first.
20
+
21
+ ## Distinction from RCoT
22
+
23
+ CoVe and RCoT are both verification frameworks in this package, and they address different failure modes with different mechanisms. Keep them separate:
24
+
25
+ - **RCoT verifies reasoning.** It reconstructs the original question from a candidate answer and cross-checks the reconstruction against the actual question to find overlooked conditions, misinterpreted constraints, and unstated assumptions. Its failure mode is a *missed condition*.
26
+ - **CoVe verifies facts.** It drafts an answer, generates targeted verification questions about the claims in that draft, answers them independently, and revises. Its failure mode is a *hallucinated fact*.
27
+
28
+ Put plainly: RCoT asks "what question would produce this answer, and does it match what was actually asked?" CoVe asks "which specific claims did I just assert, are they individually true when I check each one cold, and what must change?" Reach for RCoT on multi-condition logic and constraint problems; reach for CoVe on fact-dense output like biographies, entity lists, and cited summaries.
29
+
30
+ ## Components
31
+
32
+ ### Baseline Response
33
+ **Purpose:** Draft an initial answer to the question. This draft is expected to be fluent and may contain hallucinated facts — it is the material to be checked, not the final output.
34
+
35
+ ### Plan Verification Questions
36
+ **Purpose:** Break the draft into its discrete factual claims and turn each into a short, self-contained fact-checking question. Good verification questions are answerable on their own and target one claim each ("In what year was X founded?"), not the draft's conclusion as a whole.
37
+
38
+ **Trigger:** *"List the specific factual claims your draft makes, then write one short verification question for each claim."*
39
+
40
+ ### Answer Verifications Independently
41
+ **Purpose:** Answer every verification question on its own terms, **without** consulting the baseline draft. This is the step that does the work: answering cold prevents the model from biasing the verification into simply confirming what it already wrote.
42
+
43
+ **Trigger:** *"Answer each verification question independently. Do not look back at your draft while answering — answer as if seeing each question fresh."*
44
+
45
+ ### Final Verified Response
46
+ **Purpose:** Regenerate the answer, keeping what the independent answers confirmed and correcting anything they contradicted. Discrepancies between the draft and the independent answers become explicit edits.
47
+
48
+ ## Template Structure
49
+
50
+ Section headers are stripped at emission, so every instruction below has to carry its meaning in prose — the model receives flat text, not a labeled form. The independence requirement is the one thing most easily lost when the `ANSWER VERIFICATIONS` header disappears, so it is written as an explicit "Do not…" sentence inside the step itself, where it survives stripping.
51
+
52
+ ```
53
+ SOURCE MATERIAL:
54
+ [Optional — paste the draft answer you want fact-checked here, OR the factual
55
+ question you want answered with verification built in. If you are asking a fresh
56
+ question rather than checking an existing draft, delete this bracketed block and
57
+ the sentence directly below it.]
58
+ Treat the material above as the subject to be verified in the steps below.
59
+
60
+ Work through the following four steps in order, in a single response.
61
+
62
+ First, write a baseline answer to the question. Do not polish it — this draft is
63
+ what you will fact-check.
64
+
65
+ Second, list the specific factual claims your draft makes (names, dates,
66
+ quantities, entities, list members), and write one short verification question
67
+ for each claim.
68
+
69
+ Third, answer each verification question independently. Do not look back at your
70
+ draft while answering these questions — answer each one on its own, as if seeing
71
+ it fresh, so your checks are not biased into agreeing with the draft.
72
+
73
+ Fourth, write a final verified answer. Keep every claim your independent answers
74
+ confirmed, correct every claim they contradicted, and drop any claim you could
75
+ not verify. Note briefly what changed from the draft.
76
+ ```
77
+
78
+ The `SOURCE MATERIAL` block carries no step number because it is optional and holds either of two things: an existing draft to be checked, or the factual question to be answered from scratch with verification built in. When it holds a draft, the first step reviews that draft rather than writing a new one. When there is no draft, delete the block and the sentence beneath it, and the model produces its own baseline in step one.
79
+
80
+ ## Complete Examples
81
+
82
+ Every example below is shown in emitted form: the step headers are gone and each instruction carries its own role in prose, so nothing is lost when the scaffolding is deleted.
83
+
84
+ ### Example 1: Fact-Checking an Existing Draft (source material supplied)
85
+
86
+ **Before CoVe:**
87
+ "Is this bio accurate?"
88
+
89
+ **After CoVe:**
90
+ ```
91
+ SOURCE MATERIAL:
92
+ [Paste the draft biography you want fact-checked here]
93
+ Treat the material above as the subject to be verified in the steps below.
94
+
95
+ Work through the following four steps in order, in a single response.
96
+
97
+ First, treat the draft above as your baseline answer.
98
+
99
+ Second, list the specific factual claims the draft makes — every name, date,
100
+ title, place, and quantity — and write one short verification question for each.
101
+
102
+ Third, answer each verification question independently. Do not look back at the
103
+ draft while answering — answer each question on its own so your checks are not
104
+ biased into confirming what the draft already says.
105
+
106
+ Fourth, write a corrected version of the bio: keep every claim your independent
107
+ answers confirmed, fix every claim they contradicted, and remove any claim you
108
+ could not verify. List what you changed.
109
+ ```
110
+
111
+ ### Example 2: Named-Entity List Question (no source material)
112
+
113
+ **Before CoVe:**
114
+ "Name some politicians born in New York City."
115
+
116
+ **After CoVe** (no source material — the answer is generated from scratch, so the
117
+ `SOURCE MATERIAL` block and the sentence below it are both deleted):
118
+ ```
119
+ Work through the following four steps in order, in a single response.
120
+
121
+ First, write a baseline answer listing politicians born in New York City. Do not
122
+ polish it — this draft is what you will fact-check.
123
+
124
+ Second, for each name on your list, write one short verification question of the
125
+ form "Was [name] born in New York City?"
126
+
127
+ Third, answer each verification question independently. Do not look back at your
128
+ list while answering — answer each question on its own, so a wrong name on the
129
+ draft does not get waved through.
130
+
131
+ Fourth, write a final list that keeps only the names your independent answers
132
+ confirmed were born in New York City, and drop the rest. Note which names you
133
+ removed and why.
134
+ ```
135
+
136
+ ### Example 3: Cited Factual Summary (source material supplied)
137
+
138
+ **Before CoVe:**
139
+ "Summarize this article and make sure the numbers are right."
140
+
141
+ **After CoVe:**
142
+ ```
143
+ SOURCE MATERIAL:
144
+ [Paste the article you want summarized here]
145
+ Treat the material above as the subject to be verified in the steps below.
146
+
147
+ Work through the following four steps in order, in a single response.
148
+
149
+ First, write a baseline summary of the article above, including its key figures,
150
+ dates, and named parties.
151
+
152
+ Second, list every factual claim in your summary — each figure, date, and name —
153
+ and write one short verification question for each that can be checked against
154
+ the article.
155
+
156
+ Third, answer each verification question independently by locating the supporting
157
+ passage in the article. Do not answer from your summary — answer from the source,
158
+ so a number you misremembered while summarizing gets caught.
159
+
160
+ Fourth, write a final summary in which every figure, date, and name matches what
161
+ you verified against the article. Flag anything the article does not actually
162
+ state.
163
+ ```
164
+
165
+ ## Best Use Cases
166
+
167
+ 1. **Fact-Dense Generation**
168
+ - Biographies, company profiles, historical summaries
169
+ - Anything where fabricated names, dates, or quantities are the main risk
170
+
171
+ 2. **List and Entity Questions**
172
+ - "Name all X that Y" questions, where the paper shows the clearest gains
173
+ - Each list member becomes its own cheap verification question
174
+
175
+ 3. **Cited or Sourced Summaries**
176
+ - Summaries whose figures must match a supplied document
177
+ - Verification questions check each figure against the source
178
+
179
+ 4. **A Verification Layer for Draft Output**
180
+ - Drop CoVe in after any first-pass factual draft
181
+ - Especially before publishing or sending fact-heavy text
182
+
183
+ ## Selection Criteria
184
+
185
+ **Choose CoVe when:**
186
+ - ✅ The output is fact-dense and hallucinated details are the main risk
187
+ - ✅ The claims decompose into discrete, individually checkable questions
188
+ - ✅ You are checking a draft you already have, or generating one you don't trust
189
+ - ✅ The model plausibly knows each fact better in isolation than buried in a paragraph
190
+
191
+ **Avoid CoVe when:**
192
+ - ❌ The failure mode is a missed condition or constraint → use RCoT
193
+ - ❌ The task is reasoning or arithmetic, not factual recall → use Plan-and-Solve or CoT
194
+ - ❌ Facts genuinely require external lookup the model cannot do → use a tool-grounded method (CRITIC)
195
+ - ❌ The task is creative or generative with no facts to verify
196
+
197
+ ## CoVe vs. Other Verification Frameworks
198
+
199
+ | | CoVe | RCoT | Self-Refine | CRITIC |
200
+ |---|---|---|---|---|
201
+ | Verifies | Facts | Reasoning conditions | General quality | Facts (tool-grounded) |
202
+ | Failure mode caught | Hallucinated facts | Overlooked conditions | Vague weaknesses | Hallucinated facts |
203
+ | Mechanism | Independent re-answering of claims | Question reconstruction | Self-critique then revise | External tool checks |
204
+ | Key requirement | Verification not conditioned on draft | Reconstruct without re-reading question | Honest self-critique | Access to tools |
205
+ | Fits one prompt? | Yes | Yes | Yes | No (needs tool calls) |
206
+
207
+ ## Common Mistakes
208
+
209
+ 1. **Letting the verification see the draft**
210
+ - This is the cardinal error — if the model answers verification questions while looking at its draft, it confirms its own hallucinations
211
+ - The "Do not look back at your draft" instruction is load-bearing; do not drop it
212
+
213
+ 2. **Verification questions that are too broad**
214
+ - "Is this bio accurate?" is not a verification question — it just re-asks the whole task
215
+ - Each question must target one discrete claim: one name, one date, one figure
216
+
217
+ 3. **Skipping the correction step**
218
+ - Finding contradictions is not the goal; fixing them is
219
+ - The final answer must reconcile with the independent answers, not just report the mismatch
220
+
221
+ 4. **Using CoVe where facts aren't the risk**
222
+ - On reasoning or constraint problems, CoVe's questions have nothing factual to grip; RCoT fits those
223
+
224
+ ## Quick Reference
225
+
226
+ | Step | Purpose |
227
+ |------|---------|
228
+ | Baseline Response | Draft an initial answer (may contain hallucinations) |
229
+ | Plan Verification Questions | Turn each discrete claim into a short fact-check question |
230
+ | Answer Independently | Answer each question cold — not conditioned on the draft |
231
+ | Final Verified Response | Regenerate, correcting whatever the checks contradicted |