Founders

How to Brief a Second Model to Review the Same Output

Antonio Evans9 min read

A split screen on a desk: on the left, a printed reviewer rubric with checkboxes and a short stack of marked up drafts; on the right.
Key points

Key points

  1. 1A second model works as a reviewer only after you turn your written human rubric into a strict prompt with a fixed output format and test it on a labeled sample first.
  2. 2Measure agreement between the model reviewer and your junior reviewers before the model touches the live queue, using chance-corrected statistics so you do not reward a model that just says yes all day.
  3. 3Disagreements are the product: sort them into categories to find rubric gaps, prompt ambiguity, and the places where the model is simply wrong.
  4. 4Let the model make calls alone only in categories where its agreement with people is consistently high and the cost of a wrong call is low.

Turn the rubric into a prompt the model cannot drift from

The most common failure in model reviewing is not a weak model. It is a loose rubric. If two junior reviewers on your team would grade the same output differently because the rubric is vague ("clear and professional"), a model reading the same rubric will be vague too, and you will never know whether a disagreement is the model's fault or the document's.

Start by collecting the rubric you actually use. Most review teams have one, even if it lives in a spreadsheet or a wiki. If your team is newer, a structured plan document is a good template to adapt: onboarding plans built on 30, 60 and 90 day checkpoints already force you to write responsibilities and measurements explicitly, which is exactly the shape a review rubric needs (AIHR's 30-60-90 template). The Management Center's goal-setting template is useful for the same reason: it pushes you toward measurable criteria rather than adjectives (goal-setting template).

Then convert each criterion into a decision the model must make. Three rules make this work:

  1. One criterion, one field. Do not ask for an overall "quality" score. Ask for a checklist of yes/no or 1 to 3 scores, each tied to a named criterion.
  2. Evidence required. Every verdict must quote the span of text that justifies it, or state "no evidence found."
  3. Fixed output format. Constrain the response to a schema so you can parse verdicts into a table instead of reading prose.

Structured output is a solved problem in most serving stacks: you can send a JSON schema and a response_format field, and the server constrains generation so the model cannot return anything that fails validation (Anyscale's structured output guide). That matters for a reviewer because malformed output is a silent source of missing data. Friendli's write-up on the same feature explains why: enforcing a schema with token filtering removes parse errors that would otherwise require brittle regex cleanup (Friendli on structured output). Ken Huang's chapter on schema-constrained generation covers the retry pattern in more depth, including feeding validation errors back to the model (schema-constrained generation).

A workable schema for a reviewer looks like this:

{
  "type": "object",
  "properties": {
    "criterion": { "enum": ["factual_accuracy", "instruction_following", "tone", "completeness"] },
    "verdict": { "enum": ["pass", "fail", "cannot_determine"] },
    "evidence_span": { "type": "string" },
    "confidence": { "type": "integer", "minimum": 1, "maximum": 3 }
  },
  "required": ["criterion", "verdict", "evidence_span", "confidence"]
}

Run the model once per criterion rather than once per output. It is more calls, but it keeps each prompt short and each verdict independent, and it makes the agreement math per category trivial later.

Two prompt-level choices matter more than model choice. First, include two or three worked examples per criterion, one clear pass and one clear fail, drawn from your own history. Second, forbid the model from inferring facts not present in the output or in the source material you attach. A reviewer that invents context will disagree with your juniors in a way that looks like judgment but is actually hallucination.

Build the labeled sample before you automate anything

You need a sample of outputs that your junior reviewers have already scored, with the same rubric, before you put the model in front of the queue. The size matters more than people expect. With 30 items you cannot distinguish a 70 percent agreement rate from an 85 percent one, because the confidence interval is enormous. A few hundred gets you into useful territory, and the agreement-metric literature recommends reporting confidence intervals rather than bare point estimates for exactly this reason (James on agreement metrics).

Practical construction rules:

  • Draw from the real distribution. If 80 percent of your live queue is marketing copy and 5 percent is legal language, do not build a balanced sample. You want the model's agreement rate on the mix you will actually route.
  • Keep the hard cases in. Sample some outputs your juniors argued about, not just the easy ones. A model that agrees on the obvious cases tells you nothing.
  • Freeze the labels. Record each junior's individual verdict, not the consensus. You need per-person verdicts to separate model-versus-human disagreement from human-versus-human disagreement.
  • Blind the reviewers to the model's output. If your juniors see the model's verdict first, you are measuring anchoring, not agreement.

The literature on inter-rater reliability is directly applicable here, because the model is just one more rater. Toloka's explanation of joint probability agreement, Cohen's kappa and Fleiss' kappa is a good primer: simple percentage agreement overstates reliability when one label dominates, which is why chance-corrected coefficients exist (Toloka on inter-rater reliability). Imerit's guide extends the argument to model evaluation, noting that a low reliability benchmark punishes a reasonable model for disagreeing with noisy human labels (Imerit on human versus model agreement).

The single most useful number you can produce before any automation is human-to-human agreement on the same sample. If two juniors agree with each other only 72 percent of the time on a criterion, a model scoring 70 percent on that criterion is roughly at the human ceiling. Your target is not perfection. Your target is the human baseline.

Compute the agreement rates honestly

Now the arithmetic. For each criterion, build a confusion table of model verdicts against a reference verdict per item. If you have multiple juniors, use the majority verdict as the reference and keep the individual verdicts for the human baseline.

Consider a worked example on a sample of 200 outputs, criterion "factual accuracy," with the reference being the majority of three junior reviewers:

Reference failReference passRow total
Model fail341145
Model pass16139155
Column total50150200

Raw agreement is (34 + 139) / 200 = 86.5 percent. That looks strong. Now correct for chance. The model says fail 22.5 percent of the time and the reference says fail 25 percent of the time, so expected chance agreement is (0.225 × 0.25) + (0.775 × 0.75) = 0.0563 + 0.5813 = 0.6375. Cohen's kappa is (0.865 − 0.6375) / (1 − 0.6375) = 0.627. That is moderate agreement, not excellent, and the raw number hid it.

Two asymmetries matter more than the headline:

  • False passes. The 11 items in the upper right are outputs the model cleared that humans failed. In most review queues this is the dangerous direction, because a bad output reaches the customer.
  • False fails. The 16 items in the lower left are wasted junior time. They cost money, not reputation.

Report these separately for every criterion. A model with 90 percent raw agreement that fails on the 5 percent of outputs that are actually risky is worse than useless. The human-in-the-loop literature makes the same point about routing thresholds: set thresholds conservatively at first, erring toward sending more cases to human review, then tighten as you accumulate labeled corrections (Neotalogic on HITL design patterns). Confident AI's playbook on LLM-as-a-judge makes a related observation: judges agree with human reviewers on the order of 85 percent of the time in published work, which is a useful ceiling to compare against, and prompt design, few-shot examples and output confinement move that number (Confident AI on LLM judges).

One more statistic worth computing, because it is cheap: inter-model consistency. Run the same reviewer prompt through a second model and compare. High agreement between two different models on a criterion suggests the criterion is well specified and the verdict is robust. Low agreement between them, matched by low human agreement, is a rubric problem. Low agreement between them with high human agreement is a model capability problem. Two machines agreeing with each other is not evidence they are right; it is evidence the task is well defined, which is a different and useful thing.

Mine the disagreements instead of counting them

Every disagreement in your sample is a labeled example of something. Sort them into four buckets and the buckets tell you what to fix.

Disagreement typeWhat it looks likeTypical fix
Rubric gapHumans disagree with each other tooRewrite the criterion, add examples, split it into two
Prompt ambiguityHumans agree, model is consistently off in one directionTighten instructions, add a negative example
Model errorHumans agree, model is wrong unpredictablyKeep the model out of this criterion, or route to human
Genuine edge caseRare, defensible on both sidesAdd to the eval set, do not overfit the prompt

The "rubric gap" bucket is the one teams skip and it is the most valuable. If your juniors cannot agree on whether a piece of marketing copy is "too salesy," no model will either, and automating that criterion just moves the argument downstream. The HITL review in PMC frames this well: human oversight is an operational step that changes the system, not a rubber stamp, and the design of the loop determines whether the feedback is usable (systematic review of human-in-the-loop AI).

The "prompt ambiguity" bucket usually resolves to one of two fixes. Either the model is reading the output without the source material it needs, or the criterion contains a judgment the model has no basis for. Onboarding checklists make useful reading here: they work because every task has an owner and a measurement, and a reviewer prompt without an explicit measurement per criterion fails the same way (Indeed's onboarding checklist). If you cannot state what evidence would settle a criterion, the model cannot either.

Track the buckets as counts over time, not impressions. "Model fails are 60 percent of disagreements on tone" is a sentence you can act on. "The model is weird about tone sometimes" is not.

Decide which calls the model can make alone

Once you have per-criterion agreement, false-pass rates and bucket counts, you can assign an autonomy level to each criterion. The delegation framing from the AI agent literature is a useful vocabulary: reviewers can sit at different levels, from "look into it and report, I decide" up to "take action, no further contact required" (Metal Toad's six levels of AI delegation). A reviewer that flags and a reviewer that clears are different products.

Model agreement (kappa)False-pass rateRecommended level
Above 0.75Under 2 percentAuto-clear passes, humans review fails
0.60 to 0.752 to 5 percentPre-filter: model passes go to a lighter human check
0.40 to 0.605 to 15 percentModel flags only, humans decide, sample for drift
Below 0.40Above 15 percentDo not automate; fix the rubric first

The decision rule underneath: the model may make a call alone only when its error rate in the dangerous direction is below your tolerance for that category. A queue of internal documentation can tolerate a higher false-pass rate than a queue of customer-facing compliance copy, and the same kappa supports different autonomy levels in those two places.

A second rule is worth stating because it is counterintuitive. Volume is not the right reason to automate a criterion. The right reason is verifiability: can you tell, after the fact, whether the model got it right? A criterion the model scores at 0.65 kappa on outputs that are cheap to spot-check later is a better automation candidate than one it scores at 0.80 on outputs that reach customers and never come back. The task-appropriateness framework in this delegation write-up argues the same thing: verifiability and risk sit alongside capability, and a task scores badly if you cannot tell whether it went wrong (which tasks to delegate).

Schedule the recheck. Agreement drifts when your output distribution changes or the rubric is edited, and a model at 0.80 kappa six months ago is not evidence of anything now. Re-draw a fresh labeled sample on a fixed cadence, and treat a drop in human-to-human agreement as a signal to fix the rubric before blaming the model.

Where this fits into a review pipeline

The pipeline is simple once the measurement exists: model reviews every output against the criteria it has earned, outputs that fail or that the model could not determine go to juniors, and a random sample of model passes goes to a human for spot-check to keep the false-pass estimate current. The sample of passes is not optional. It is the only thing standing between a model with a slow drift and a queue that quietly fills with bad output.

If you are running this across several criteria and two or three model families, the plumbing gets tedious: separate keys, separate SDKs, separate rate limits, separate bills. Quanta Inference puts text, image and embedding models behind one OpenAI-compatible API with prepaid US dollar pricing, which keeps a review pipeline's cost accounting in one place while you are still deciding which reviewer belongs on which criterion. And if you want help turning a rubric into a measured agreement study rather than a one-off prompt, a free discovery call is a 30-minute conversation about your queue, not a sales pitch.

FAQ

FAQ

How big does the labeled sample need to be?

A few hundred outputs is the practical floor for per-criterion agreement estimates, because smaller samples produce confidence intervals too wide to distinguish a good reviewer from a mediocre one. If a criterion is rare in your queue, oversample it deliberately and weight the results back to the true distribution when you compute the queue-level error rate.

What do I do when my juniors disagree with each other as much as the model does?

That is a rubric signal, not a model signal, and it should be your first priority. Tighten the criterion, add worked examples, and split it if it is carrying two judgments at once. Automating a criterion humans cannot agree on just moves the ambiguity downstream faster.

Can I skip the chance correction and use percentage agreement?

You can, but you will overstate quality whenever one verdict dominates the sample. If the model clears 90 percent of outputs and 90 percent genuinely pass, raw agreement looks excellent while kappa exposes that the model may be doing little more than defaulting to pass. Use the chance-corrected number for any decision about autonomy.

Should the model review one criterion at a time or the whole output at once?

One criterion at a time, with a constrained output schema per call. It keeps each prompt short, makes verdicts independent, and turns the agreement math into simple per-criterion tables. Whole-output reviews bundle several judgments into one answer that you cannot cleanly attribute when it goes wrong.

How often should I recheck agreement?

On a fixed cadence tied to your volume and to any change in the rubric or the output distribution. Recheck after any rubric edit, any prompt change and any shift in what the queue contains. A previous agreement figure is not evidence about the current pipeline, and the sample of model passes you keep reviewing is what tells you drift has started.

Sources

Sources

  1. 30-60-90 Day Plan Template & Guide FREE Download - AIHR
  2. 30/60/90 Day Goal-Setting Template - The Management Center
  3. Configure structured output for LLMs
  4. Introducing Structured Output on Friendli Inference for ...
  5. Chapter 15: Structured Output and Schema-Constrained ...
  6. Selecting the Right Inter-annotator Agreement Metric for ...
  7. Why inter-rater reliability isn't enough: enhancing data ...
  8. A Guide to Inter-rater Reliability and Annotator Agreement ...
  9. Human in the Loop AI: Design Patterns and Governance
  10. LLM-as-a-Judge Simply Explained: The Complete Guide to ...
  11. Human-in-the-Loop Artificial Intelligence: A Systematic Review ...
  12. New Hire Onboarding Checklist, Reviewed by Kathy Gusich
  13. 6 Levels of AI Delegation: A Framework for AI Management
  14. Which Tasks Should You Delegate to AI Agents?
About the author

About the author

Antonio Evans
Antonio Evans

Antonio Evans is the founder of Quanta Intelligence and a fractional CTO who builds HIPAA-ready AI systems for health and life-science companies. Before that he was technical co-founder of FriendsEAT for twenty years, CEO of Socialdraft, and a data engineer at IBM. Antonio lives with his dog Santino in Lisbon, Portugal.

All articles