Reflection and Reviewer Patterns

Reflection and reviewer patterns add a critique step after a draft. The reviewer can be the same model, another model, deterministic validators, or a human. In multi-agent systems, this is the simplest useful role split. The pattern is valuable when the review step has independent evidence or a narrow rubric; otherwise it can become expensive self-reassurance.

The review loop

The safe pattern gives the reviewer the draft, task, rubric, and evidence, then asks for structured defects rather than vague advice. LLM-as-judge can identify unsupported claims, while deterministic validators check schemas and citations. The agentic systems loop decides whether to revise, escalate, or stop.

StepInputOutput
Draftuser request, context, toolscandidate answer or action plan
Reviewdraft, rubric, trusted evidencespecific defects with locations
Repairdraft plus defectsrevised answer or tool call
Gatevalidators, risk policy, human review rulesrelease, retry, or escalate

The reviewer should be asked for falsifiable checks: unsupported claim, missing citation, schema mismatch, unsafe tool call, contradiction, or incomplete answer. A vague prompt such as “reflect on your answer” often produces style edits rather than evidence-based corrections.

Reviewer types

ReviewerGood forWeakness
Same model self-reviewcheap style and completeness passshares blind spots with the draft.
Stronger model reviewersemantic critique and citation checkshigher cost and latency.
Deterministic validatorschemas, citations, policy gates, testscannot judge nuanced prose.
Human reviewerhigh-risk decisions and ambiguous casesslow and expensive.

The best systems combine them: deterministic validators catch exact failures, model reviewers flag semantic defects, and humans handle high-impact uncertainty.

A defect report

{
  "defects": [
    { "type": "unsupported_claim", "claim": "shipping is two days", "source_id": "policy-9" }
  ],
  "action": "revise"
}

Realistic workflow

For a RAG answer, the draft step writes an answer with citations. The reviewer receives the answer, cited chunks, and a rubric:

Check each factual claim. Mark unsupported, contradicted, missing citation, or okay.
Do not improve style unless a claim defect is present.

The repair step then edits only the defective claims or abstains if evidence is missing. This is more reliable than asking the model to “think again,” because it converts review into a bounded verification task.

Evaluation

Measure whether review catches defects that the draft system misses, and whether it introduces new errors. Track false-positive review blocks, unsupported-claim reduction, latency, cost, and escalation rate. Reviewer patterns should be justified by risk or quality gain; they should not be default loops added to every request.

Caveats

Self-review can rubber-stamp confident errors because the same model may share the same blind spot in both draft and review. Reviewer patterns work best when the reviewer has independent evidence, a narrow rubric, and permission to say “not enough evidence.” They are weaker for factuality if retrieval is missing the relevant source; in that case the reviewer can only catch unsupported claims, not recover missing knowledge.

Reviewer loops also add latency and cost. Use them selectively for high-risk tasks, long outputs, tool calls, citations, code generation, or content that will be shown to users without human review.

References