Inferensys

Prompt

Disagreement Resolution Protocol Prompt Template

A practical prompt playbook for using the Disagreement Resolution Protocol Prompt Template in production AI evaluation workflows.
Elegant overhead shot of a polished wooden communal table in a sun-drenched WeWork lounge, laptops and tablets displaying AI workflow dashboards, plants and pendant lights in background.
PROMPT PLAYBOOK

When to Use This Prompt

Define the job, reader, and constraints for the Disagreement Resolution Protocol prompt.

This prompt is designed for evaluation infrastructure teams who have already deployed multiple LLM judges and are now facing a production reality: judges disagree. When inter-rater reliability metrics like Cohen's Kappa or percent agreement fall below a defined threshold on a specific item, you need an automated, auditable way to resolve that conflict. The job-to-be-done is not just to pick a winner, but to execute a structured resolution protocol that classifies the severity of the disagreement, invokes the correct escalation path (arbitration judge, human review, or tie-breaking rule), and produces a documented rationale suitable for an audit trail. The ideal user is an MLOps engineer or evaluation lead wiring this prompt into an automated scoring pipeline where manual review of every disagreement is impossible at scale.

Use this prompt when you have a fleet of judges producing scores on a shared rubric, and you need a programmatic way to handle divergence. This is appropriate for high-stakes evaluation workflows—model release gates, RLHF data quality pipelines, or compliance checks—where unresolved disagreements can corrupt downstream metrics. The prompt requires several structured inputs: the original item being evaluated, the conflicting scores and rationales from each judge, the evaluation rubric, and a pre-defined disagreement severity classification schema. Do not use this prompt as a substitute for fixing a broken rubric or a poorly calibrated judge. If your judges systematically disagree on entire categories of items, the root cause is likely rubric ambiguity or judge bias, and you should use the Disagreement Root Cause Analysis or Rubric Clarity Diagnostic prompts first. This protocol is for resolving individual disputes within an otherwise healthy evaluation system.

The prompt is designed to be one step in a larger automated harness. It expects that you have already detected a disagreement via a separate monitoring step (such as the Inter-Rater Agreement Score Calculation prompt). The output is a structured resolution action, not a casual recommendation. Before deploying, you must define clear severity thresholds that map to actions: a minor disagreement might trigger an arbitration judge, while a critical disagreement on a safety-related item must force human review. The prompt includes placeholders for these thresholds and for the identity of the arbitration judge. After implementing, validate the protocol by running it against a golden dataset of known disagreements with expected resolutions, and log every resolution action with the full input context to maintain an audit trail for governance reviews.

PRACTICAL GUARDRAILS

Use Case Fit

Where the Disagreement Resolution Protocol prompt works, where it fails, and the operational preconditions required before deploying it into an automated evaluation pipeline.

01

Good Fit: Multi-Judge Evaluation Fleets

Use when: you run 3+ LLM judges per item and need automated tie-breaking when agreement drops below a defined threshold (e.g., Fleiss' Kappa < 0.6). Guardrail: Only invoke resolution when the disagreement severity classification flags 'high' divergence; low-severity disagreements should use majority vote to avoid unnecessary arbitration costs.

02

Bad Fit: Single-Judge or Binary Pass/Fail Gates

Avoid when: only one judge evaluates each item or the output is a simple accept/reject decision with no scoring nuance. Why: The protocol requires multiple divergent scores to resolve; single-judge pipelines need judge calibration prompts instead. Guardrail: Route single-judge failures to the Judge Alignment with Human Gold Standard prompt, not this resolution protocol.

03

Required Inputs: Score Matrix and Judge Rationales

What you must provide: a complete score matrix (item × judge × criterion), each judge's written rationale, the agreement metric that triggered the protocol, and the acceptable agreement threshold. Guardrail: Reject invocation if rationales are missing—resolution without rationales produces ungrounded arbitration decisions that can't be audited.

04

Operational Risk: Arbitration Judge Bias Amplification

Risk: The arbitration judge may systematically favor one scoring style (e.g., leniency) and amplify rather than resolve divergence. Guardrail: Track arbitration judge agreement with the fleet over time using the Judge Drift Monitoring prompt; rotate arbitration judges if they consistently side with one faction.

05

Operational Risk: Resolution Latency in Production Pipelines

Risk: Invoking an arbitration judge plus optional human review adds latency that can break real-time evaluation SLAs. Guardrail: Set a maximum resolution depth (e.g., one arbitration round, then escalate to human queue) and monitor p95 resolution time. Flag items that exceed the latency budget for async review.

06

Operational Risk: Audit Trail Completeness

Risk: Resolution decisions without documented rationale, tie-breaking rules, and escalation paths become unexplainable when stakeholders question scores. Guardrail: The protocol must output a structured resolution audit record including: disagreement severity, arbitration judge identity, resolution action taken, final score, and rationale summary. Store this alongside the original scores for governance reviews.

PROMPT PLAYBOOK

Copy-Ready Prompt Template

The reusable disagreement resolution prompt with square-bracket placeholders for direct integration into evaluation pipelines.

This template is the core resolution engine for your disagreement protocol. It accepts a set of conflicting judge scores, their rationales, and the item under evaluation, then produces a structured resolution action. The prompt is designed to be invoked automatically when inter-rater agreement falls below your configured threshold, making it suitable for direct wiring into an evaluation harness rather than manual copy-paste use.

text
You are an arbitration judge resolving scoring disagreements between multiple LLM evaluators. Your task is to review conflicting scores, analyze the divergence, and produce a binding resolution with clear rationale.

## INPUT
- Item Under Evaluation: [ITEM_TO_EVALUATE]
- Evaluation Criteria: [EVALUATION_CRITERIA]
- Scoring Rubric: [SCORING_RUBRIC]
- Judge Scores and Rationales:
[JUDGE_SCORES_AND_RATIONALES]
- Agreement Threshold: [AGREEMENT_THRESHOLD]
- Current Agreement Level: [CURRENT_AGREEMENT_LEVEL]

## TASK
1. Classify the disagreement severity as LOW, MEDIUM, HIGH, or CRITICAL based on score spread, criteria importance, and agreement gap.
2. Determine the resolution action: ARBITRATE, ESCALATE_TO_HUMAN, INVOKE_TIEBREAKER, or FLAG_FOR_RUBRIC_REVIEW.
3. If ARBITRATE, produce a final score with detailed justification addressing each judge's position.
4. If ESCALATE_TO_HUMAN, specify which criteria require human judgment and why automated resolution is insufficient.
5. If INVOKE_TIEBREAKER, specify the tie-breaking rule applied and why it resolves the specific disagreement pattern.
6. If FLAG_FOR_RUBRIC_REVIEW, identify the ambiguous rubric sections causing divergence with suggested clarifications.

## CONSTRAINTS
- Do not default to averaging scores unless the rubric explicitly supports numeric averaging.
- When judges cite different evidence from the item, verify each citation before weighting.
- If any judge's rationale contradicts the item content, flag it as a potential hallucination.
- For HIGH or CRITICAL severity, include a confidence score (0.0-1.0) for your resolution.
- Preserve all original judge scores and rationales in the output for audit trail integrity.

## OUTPUT SCHEMA
Return valid JSON matching this structure:
{
  "resolution_id": "string",
  "severity_classification": "LOW|MEDIUM|HIGH|CRITICAL",
  "severity_rationale": "string explaining the classification",
  "resolution_action": "ARBITRATE|ESCALATE_TO_HUMAN|INVOKE_TIEBREAKER|FLAG_FOR_RUBRIC_REVIEW",
  "resolution_details": {
    "final_score": "number or null if not arbitrated",
    "final_score_justification": "string or null",
    "escalation_criteria": ["array of criteria needing human review or null"],
    "tiebreaker_rule_applied": "string or null",
    "rubric_ambiguities": ["array of problematic rubric sections or null"]
  },
  "judge_position_analysis": [
    {
      "judge_id": "string",
      "original_score": "number",
      "position_assessment": "string",
      "hallucination_flag": "boolean"
    }
  ],
  "resolution_confidence": "number between 0.0 and 1.0 or null",
  "audit_trail": {
    "original_scores_preserved": "boolean",
    "resolution_timestamp": "string",
    "arbitration_judge_version": "[ARBITRATION_JUDGE_VERSION]"
  }
}

## EXAMPLES
[FEW_SHOT_EXAMPLES]

## RISK LEVEL
[RISK_LEVEL]

Adapt this template by replacing each square-bracket placeholder with values from your evaluation pipeline. The [JUDGE_SCORES_AND_RATIONALES] placeholder expects structured input containing each judge's ID, score, and full rationale text—format this as a JSON array or markdown table before insertion. The [FEW_SHOT_EXAMPLES] section is critical for production reliability: include at least two examples showing correct ARBITRATE resolutions and one example each for ESCALATE_TO_HUMAN and FLAG_FOR_RUBRIC_REVIEW paths. For high-stakes domains, set [RISK_LEVEL] to HIGH, which should trigger additional validation of the arbitration judge's output before it becomes binding. The [ARBITRATION_JUDGE_VERSION] token should be populated from your model registry to maintain traceability across resolution events.

IMPLEMENTATION TABLE

Prompt Variables

Required inputs for the Disagreement Resolution Protocol prompt. Each variable must be populated before invoking the arbitration workflow. Missing or malformed inputs will cause the protocol to escalate to human review by default.

PlaceholderPurposeExampleValidation Notes

[JUDGE_OUTPUTS]

Array of judge score objects with judge ID, score, rationale, and confidence

[{"judge_id":"j1","score":2,"rationale":"...","confidence":0.85}]

Must be valid JSON array with at least 2 entries. Each object requires judge_id (string), score (number), rationale (string), confidence (number 0-1). Reject if any judge is missing.

[RUBRIC_DEFINITION]

Full evaluation rubric with criteria, scale anchors, and scoring rules

{"criteria":[{"name":"accuracy","weight":0.4,"scale":[1,2,3,4,5]}]}

Must be valid JSON object with criteria array. Each criterion requires name (string), weight (number 0-1), scale (array of integers). Weights must sum to 1.0 ± 0.01. Reject if scale is missing anchors.

[AGREEMENT_THRESHOLD]

Minimum acceptable agreement level before triggering resolution protocol

0.7

Must be a float between 0.0 and 1.0. Values below 0.5 trigger a warning. Null not allowed. Default 0.7 if not specified but explicit override recommended.

[RESOLUTION_STRATEGY]

Ordered list of resolution actions to attempt before escalating

["arbitration_judge","majority_vote","human_review"]

Must be a non-empty array of strings from allowed set: arbitration_judge, majority_vote, weighted_vote, delphi_round, human_review, tie_break_rule. Invalid strategies cause immediate human_review fallback.

[ARBITRATION_JUDGE_CONFIG]

Configuration for the tie-breaking judge including model, temperature, and instructions

{"model":"claude-3-opus","temperature":0.0,"instructions":"You are a senior evaluator..."}

Required if resolution_strategy includes arbitration_judge. Must be valid JSON with model (string), temperature (number 0-2), instructions (string min 50 chars). Null allowed if arbitration not in strategy.

[CONTEXT_ITEM]

The original item being evaluated by all judges

{"id":"item-42","prompt":"...","response":"...","source_docs":["doc1"]}

Must be valid JSON object with id (string), prompt (string), response (string). source_docs optional array. Reject if prompt or response is empty string. This is the artifact judges scored.

[MAX_RESOLUTION_ROUNDS]

Maximum number of resolution attempts before forced escalation

3

Must be a positive integer between 1 and 5. Values above 5 are clamped to 5 with a warning. Null defaults to 3. Prevents infinite arbitration loops.

[AUDIT_TRAIL_ENABLED]

Flag to enable detailed resolution rationale logging

Must be boolean true or false. When true, every resolution step records rationale, timestamp, and acting judge ID. Required for governance workflows. Default false if null.

PROMPT PLAYBOOK

Implementation Harness Notes

How to wire the Disagreement Resolution Protocol prompt into an automated evaluation pipeline with validation, retries, logging, and human review escalation.

This prompt is designed to be called as a secondary arbitration step, not a standalone workflow. It should only be invoked when a primary inter-rater agreement check (such as Cohen's Kappa or Fleiss' Kappa) falls below a configured threshold for a specific evaluation item. The harness must supply the original item, the scores and rationales from each disagreeing judge, the evaluation rubric, and the acceptable agreement threshold that was violated. Without this context, the protocol cannot produce a meaningful resolution action.

Wire the prompt into an evaluation pipeline as a post-scoring hook. After collecting judge scores, compute pairwise or fleet-wide agreement. For items where agreement < [AGREEMENT_THRESHOLD], call this prompt with the disagreement payload. Validate the output against a strict schema: resolution_action must be one of arbitration_judge, human_review, majority_vote, or tie_break; severity must be low, medium, high, or critical; rationale must be a non-empty string; and audit_trail must include the original scores, the disagreement metric, and the resolution logic. If the output fails schema validation, retry once with a stricter format reminder. If it fails again, escalate to human review and log the failure for prompt debugging.

Log every resolution to an audit table with the item ID, judge IDs, original scores, disagreement metric, resolution action, severity, and the full resolution rationale. This audit trail is critical for downstream trust—teams need to trace why an item was escalated or auto-resolved. For high-severity disagreements, always require human review regardless of the model's suggested action. The prompt can recommend human_review, but the harness should enforce it for high and critical severity classifications. Avoid using this protocol for real-time, user-facing decisions without a human-in-the-loop gate; it is designed for offline evaluation pipelines where latency is tolerable and correctness matters more than speed.

IMPLEMENTATION TABLE

Expected Output Contract

Defines the required fields, types, and validation rules for the structured output produced by the Disagreement Resolution Protocol prompt. Use this contract to parse, validate, and route the resolution action in your application harness.

Field or ElementType or FormatRequiredValidation Rule

resolution_action

enum: arbitration, human_review, tie_break, no_action

Must match one of the four allowed enum values. Reject on mismatch.

disagreement_severity

enum: critical, high, medium, low

Must be present. If critical, resolution_action must not be no_action.

arbitration_judge_id

string | null

Required if resolution_action is arbitration. Must match ^judge-[a-z0-9-]+$ pattern.

tie_break_rule

string | null

Required if resolution_action is tie_break. Must be one of: majority_vote, weighted_by_reliability, most_conservative.

escalation_reason

string

Must be non-empty. Minimum 20 characters. Must cite specific divergence evidence, not generic text.

divergence_summary

object

Must contain judge_pair (array of 2+ judge IDs) and criteria_in_dispute (array of criterion names). Array lengths must be >= 2 and >= 1 respectively.

resolution_rationale

string

Must be non-empty. Must reference at least one judge rationale excerpt in quotes. Minimum 40 characters.

audit_trail

object

Must contain timestamp (ISO 8601), protocol_version (string), and input_hash (string matching ^[a-f0-9]{64}$). Reject if any field missing or malformed.

PRACTICAL GUARDRAILS

Common Failure Modes

When automated disagreement resolution breaks, it usually fails in predictable ways. These cards cover the most common failure modes for Disagreement Resolution Protocols and how to guard against them before they reach production.

01

Resolution Loop Exhaustion

What to watch: The protocol enters an infinite arbitration loop where the arbitration judge disagrees with both original judges, triggering another arbitration round, consuming tokens and time without converging. Guardrail: Set a hard maximum of one arbitration round. If the arbitration judge cannot resolve the disagreement, escalate to human review immediately and log the deadlock for rubric improvement.

02

Arbitration Judge Inherits Same Bias

What to watch: The arbitration judge shares the same model, prompt structure, or training biases as the original judges, producing a third opinion that aligns with one side by default rather than providing independent resolution. Guardrail: Use a different model or a materially different judge prompt for arbitration. Validate independence by testing the arbitration judge against known disagreement pairs where ground truth is available.

03

Severity Misclassification Silences Escalation

What to watch: The disagreement severity classifier labels a critical divergence as low-severity, suppressing human review for a disagreement that materially changes the downstream decision or score. Guardrail: Implement a severity override rule: if the score difference exceeds a raw numeric threshold regardless of the classifier output, force escalation. Log all overrides for classifier recalibration.

04

Tie-Breaking Without Rationale Documentation

What to watch: The protocol selects a winning score but produces no auditable rationale, making it impossible to debug why one judge was favored or to improve the rubric later. Guardrail: Require the resolution output to include a structured rationale field citing specific criteria, evidence excerpts, and the reasoning for favoring one judgment. Run a rationale consistency check before accepting the resolution.

05

Context Truncation Causes False Disagreement

What to watch: Judges receive truncated or different subsets of the evaluation context, causing them to disagree on the output quality when they are actually evaluating different evidence. Guardrail: Verify context completeness before invoking judges. Include a context hash or fingerprint in the judge input and compare fingerprints when disagreement is detected. If context differs, re-run evaluation with aligned context before triggering resolution.

06

Resolution Audit Trail Gaps

What to watch: The protocol resolves the disagreement but fails to persist the full decision trail—original scores, judge rationales, disagreement metrics, arbitration reasoning, and final outcome—making governance review impossible. Guardrail: Design the resolution harness to emit an immutable audit record with timestamps, judge identifiers, score deltas, resolution action taken, and the complete rationale chain. Validate audit completeness as a gate before marking the item resolved.

IMPLEMENTATION TABLE

Evaluation Rubric

Criteria for testing the quality and safety of the Disagreement Resolution Protocol output before integrating it into an automated evaluation pipeline. Apply these checks to a representative sample of disagreement cases.

CriterionPass StandardFailure SignalTest Method

Resolution Action Correctness

The chosen action (arbitration, human review, tie-break) correctly matches the severity and type of disagreement defined in the protocol.

Action is inappropriate for the disagreement (e.g., escalating a minor stylistic difference to human review or auto-resolving a critical factual conflict).

Run 20 synthetic disagreement cases with known-correct resolution actions and check for exact match accuracy.

Rationale Grounding

The documented rationale references specific evidence from the judge outputs, scores, or rubrics that caused the disagreement.

Rationale is generic, hallucinates a non-existent judge comment, or fails to cite the specific divergent criteria.

Parse the rationale field. Assert it contains at least one direct quote or specific criterion name from the input [JUDGE_OUTPUTS].

Arbitration Judge Invocation

An arbitration judge is invoked only when the protocol specifies it, and its input payload is a valid, complete summary of the disagreement.

Arbitration judge is invoked for a tie-break scenario, or its input payload is missing a judge's score or rationale.

Validate the [ARBITRATION_PAYLOAD] against the expected schema. Assert it is generated if and only if the resolution action is 'arbitration'.

Severity Classification Accuracy

The disagreement severity (e.g., 'critical', 'minor') is correctly classified based on the score delta and the criteria involved.

A 1-point difference on a 10-point scale for a non-critical criterion is classified as 'critical', or a complete score inversion is classified as 'minor'.

Use a confusion matrix on a labeled test set of 50 disagreements with known severity levels. Target >95% accuracy for 'critical' class.

Human Review Escalation Format

The escalation payload for human review contains a clear, self-contained summary, the conflicting scores, and the specific item needing review.

Escalation payload is missing the original [INPUT_ITEM], requires the reviewer to open another system, or contains only a vague 'please review' message.

A non-technical human reviewer reads the escalation payload and can correctly identify the point of disagreement without external context in under 60 seconds.

Tie-Breaking Rule Application

When scores are tied, the tie-breaking rule (e.g., 'prefer the stricter judge', 'default to fail') is applied consistently and documented.

Tie-breaking rule is ignored, a random judge is selected, or the applied rule contradicts the documented protocol.

Test 10 tie scenarios. Assert the output resolution matches the deterministic outcome of the specified tie-breaking rule.

Audit Trail Completeness

The output contains all required fields for an audit trail: timestamp, case ID, judges involved, original scores, resolution action, and rationale.

A required audit field like [CASE_ID] or [ORIGINAL_SCORES] is missing or null in the structured output.

Validate the output JSON against a strict schema. Assert all fields marked as 'required' in the [OUTPUT_SCHEMA] are present and non-null.

Protocol Adherence Under Ambiguity

When the disagreement doesn't perfectly match a rule, the output defaults to the safest action ('escalate to human review') instead of guessing.

The model invents a new resolution rule or confidently selects an inappropriate automated action for an undefined edge case.

Provide 5 out-of-distribution disagreement scenarios. Assert the resolution action is 'human_review' with a rationale stating the protocol was unclear.

ADAPTATION OPTIONS

Adapt This Prompt

How to adapt

Start with the base protocol prompt and a single arbitration judge. Use simple disagreement thresholds (e.g., score difference > 1 on a 5-point scale). Skip the audit trail and severity classification harness. Run a few hand-picked disagreement pairs to see if the resolution logic produces sensible outcomes.

code
[SYSTEM_INSTRUCTIONS]
You are a disagreement resolution judge. Two judges scored the same item and disagree beyond the acceptable threshold of [THRESHOLD]. Review the item, both judges' scores, and their rationales. Produce a final score and a brief explanation of why you resolved the disagreement as you did.

[ITEM]
[ITEM_CONTENT]

[JUDGE_A_SCORE]: [SCORE_A]
[JUDGE_A_RATIONALE]: [RATIONALE_A]

[JUDGE_B_SCORE]: [SCORE_B]
[JUDGE_B_RATIONALE]: [RATIONALE_B]

Return JSON with fields: final_score, resolution_rationale, agreement_with_judge (A, B, or neither).

Watch for

  • The arbitration judge inheriting the same biases as the disagreeing judges
  • Resolution rationales that restate disagreement without diagnosing the cause
  • No tracking of which judge is more often overruled (early signal of systematic bias)
Prasad Kumkar

About the author

Prasad Kumkar

CEO & MD, Inference Systems

Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.

His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.