PM-201b · Module 3
Output Verification Patterns
3 min read
Output verification instructs the model to check its own output against the source material, specified constraints, or format requirements before returning it. This is distinct from self-critique, which evaluates quality. Verification checks compliance — did the output include what was required, exclude what was prohibited, and conform to the specified format? These are objective checks, and the model can perform them reliably when the verification criteria are explicit.
Pattern 1: Source compliance check
"Extract all budget figures from the document below.
After extracting, verify each figure against the document to confirm accuracy.
Mark any figure you cannot verify directly with [UNVERIFIED].
Return only verified figures unless [UNVERIFIED] is noted."
Pattern 2: Constraint compliance check
"Draft the section using the guidelines below.
Before returning, check your draft against each constraint:
[ ] Under 200 words
[ ] Includes section headers H2 and H3 only
[ ] No passive voice in the first paragraph
[ ] No vendor names mentioned
Correct any failures before returning. Do not return a draft that fails any check."
Pattern 3: Schema compliance check
"Return the results as a JSON array. Each object must have:
- id (integer)
- name (string)
- status (string: 'active' | 'inactive' | 'pending')
- score (float, 0.0–1.0)
After generating, verify your JSON parses correctly and every object has all four required fields with correct types. Correct any schema violations before returning."
- 1. List your hard constraints Identify every non-negotiable requirement for the output — length, format, required fields, excluded content. These become your verification checklist.
- 2. Write the verification instruction After the main task instruction, add: "Before returning, verify your output against the following checklist: [list checks]. Correct any failures before returning."
- 3. Specify handling for failures Tell the model what to do when a verification check fails: revise and return, flag the failure, or return with a note. The default without instruction is to revise — which is usually correct.