Agentic Pattern Libraryby Vikas Goyal
← All patterns
34

Draft–Verify

Also known as: draft-then-check, generate–verify, cheap writer + strong checker

System 1 drafts quickly; System 2 checks or corrects the draft.

TrackAgentic systems FamilyFast & slow Maturity Emerging ChangesVerification
01

Problem

Having a reasoning model write every output from scratch is slow and expensive, but shipping a fast model’s drafts unchecked lets its confident mistakes through. Most drafts are fine; the cost is in finding the few that aren’t.

  • Checking a draft is usually faster and cheaper than writing it.
  • Fast models get most outputs right but fail unpredictably on some.
  • A verifier that rewrites everything erases the savings.
  • Some errors are only visible against source data the drafter didn’t use well.
02

Solution

Let a fast model produce every draft. Pass the draft, the original request and the source material to a reasoning model with a narrow job: verify specific claims and return a verdict per claim (supported, wrong or missing) plus minimal corrections. Accept the draft as-is when everything checks out, apply the small corrections when they don’t, and regenerate with the strong model only when the draft is beyond repair.

03

Diagram

Request DraftSystem 1 · fast VerifySystem 2 · per claim sources · data Ship as-isall claims supported Apply small fixesminimal edits Regeneratestrong model rewrites draft

The verifier returns a verdict and edits, not a new answer. Most traffic takes the top path with no changes.

04

When to use

Use it when

  • High-volume outputs that are mostly correct already
  • Claims can be checked against provided sources or data
  • Verifying is clearly cheaper than generating, such as long drafts with a few facts
  • Errors are costly but latency can absorb one check

Avoid it when

  • The fast model is wrong so often that most drafts get regenerated
  • There is no source of truth to check against
  • Real-time replies where even one check is too slow; see Respond-then-Refine
05

Trade-offs

Latency Draft plus one verification pass
Cost Strong model reads and checks; it rarely writes
Complexity Two prompts and a verdict format
Reliability Catches factual errors a self-check misses

Gains

  • Strong-model accuracy at close to fast-model cost
  • Per-claim verdicts show exactly what was wrong
  • Correction rates tell you when the fast model has drifted

Costs

  • The verifier can only check what's checkable
  • Two models to version and evaluate together
  • Subtle errors of omission are hard to verify
06

Worked example

Scenario
A finance-ops agent writes monthly variance commentary for 40 cost centers from the ledger data.
  1. Fast modelDrafts 40 short commentaries in about 12 seconds total.
  2. VerifierChecks each number and claim against the ledger. 34 drafts pass with no changes.
  3. Verifier5 drafts get small fixes. One example: “travel up 12%” is corrected to 21%, the actual change from $48k to $58k.
  4. Verifier1 draft blames a variance on headcount, but the ledger shows a one-time vendor credit. verdict: regenerate. The strong model rewrites that one.
  5. Weekly metricsCorrection rate is 15%. A month later it rises to 30% after a prompt change, which flags a regression before anyone reads a wrong report.
07

Failure modes

FailureSymptomMitigation
Verifier rewrites everythingOutput looks like the strong model wrote it; no savingsAsk for verdicts and minimal edits only; measure edit size
Unverifiable claims slip throughOpinions or causes pass because there's no data to contradict themFlag claims with no supporting source as "unsupported"
Verifier trusts the draft's framingChecks numbers but misses a wrong conclusionInclude "does the conclusion follow from the data?" as a check item
Shared source errorsBoth models agree on wrong source dataValidate source data upstream; verification can't fix bad inputs