Inferensys

Prompt

LLM Arbitration Judge Prompt Template

A practical prompt playbook for using an LLM Arbitration Judge in production multi-agent workflows to resolve disagreements, weight evidence, and produce auditable decisions.
Developer reviewing multi-agent chat interface on laptop, agent conversation logs visible, casual coding session at WeWork desk.
PROMPT PLAYBOOK

When to Use This Prompt

Defines the operational boundaries for deploying an LLM arbitration judge, clarifying when it adds value and when it introduces unacceptable risk or latency.

This prompt is for system designers and platform engineers who need a final arbiter when two or more specialized agents produce conflicting outputs. Instead of picking the first response or averaging results, this prompt instructs an LLM to act as a judge: it reviews agent positions, weighs evidence, calibrates confidence, and produces a reasoned selection with a full audit trail. Use this when agent disagreements are high-stakes, when downstream systems require a single authoritative answer, or when you need to measure and correct for judge bias over time.

The ideal deployment scenario involves asynchronous, non-real-time workflows where correctness and traceability outweigh latency. For example, a multi-agent legal document review pipeline where one agent flags a clause as high-risk and another classifies it as standard. The arbitration judge should be invoked as a post-processing step, consuming the full context of each agent's output, the shared evidence, and a predefined scoring rubric. The output must be logged immutably, including the judge's reasoning chain, so that a human auditor can later review the decision. This prompt is not a replacement for deterministic conflict resolution logic; it is a tool for semantic disagreements that cannot be resolved by schema alignment or simple voting.

Do not use this prompt for low-latency real-time flows where arbitration overhead is unacceptable, or when agent outputs are trivially mergeable without conflict. Avoid it in safety-critical control loops where a hallucinated arbitration could trigger an irreversible physical action. If the cost of a wrong arbitration is higher than the cost of escalating to a human, you should bypass this prompt entirely and route directly to a human-in-the-loop review queue. Before deploying, you must calibrate the judge against a golden dataset of human-resolved conflicts to measure accuracy, bias toward specific agent positions, and failure modes like false equivalence between strong and weak evidence.

PRACTICAL GUARDRAILS

Use Case Fit

Where the LLM Arbitration Judge prompt works, where it fails, and what you must provide before deploying it in a multi-agent pipeline.

01

Good Fit: High-Stakes Single Answer Required

Use when: The system must produce one final output from conflicting agent responses and the cost of a wrong answer is high. Guardrail: The prompt forces evidence weighting and confidence calibration, making it suitable for compliance, finance, and clinical review where audit trails matter.

02

Bad Fit: Creative or Subjective Tasks

Avoid when: Agents disagree on style, tone, or creative direction where no ground truth exists. Guardrail: Arbitration judges are optimized for factual and structural conflicts. For subjective disagreements, use a consensus-building or human-in-the-loop prompt instead.

03

Required Input: Structured Agent Positions

What to watch: The judge cannot arbitrate effectively if agent outputs are unstructured, missing confidence scores, or lack evidence citations. Guardrail: Enforce a strict input contract with fields for agent_id, output, confidence, and evidence_used before invoking arbitration.

04

Operational Risk: Judge Bias Amplification

What to watch: The arbitration prompt may systematically favor longer outputs, more confident-sounding agents, or specific formats regardless of correctness. Guardrail: Periodically run calibration tests against human preference data and monitor for drift in judge decision patterns.

05

Operational Risk: Arbitration Latency

Avoid when: The system requires sub-second decisions and agent conflicts are frequent. Guardrail: Set a timeout and fallback to a majority-vote or last-resort heuristic if the arbitration judge does not respond within the latency budget.

06

Required Input: Shared Evidence Context

What to watch: Without a common evidence set, the judge cannot verify claims and may hallucinate reconciliation. Guardrail: Always pass a shared_evidence block containing source documents, tool outputs, or database records that all agents referenced.

PROMPT PLAYBOOK

Copy-Ready Prompt Template

A reusable arbitration prompt with square-bracket placeholders for selecting a final answer when multiple agents disagree.

This is the core arbitration prompt you copy into your agent orchestration layer. It accepts conflicting agent outputs, shared evidence, and a decision rubric, then produces a reasoned selection with an audit trail. The prompt is designed to be stateless and idempotent—given the same inputs, it should produce the same arbitration decision. Replace every square-bracket placeholder with live data from your agent pipeline before sending the request.

text
You are an Arbitration Judge in a multi-agent system. Your job is to resolve disagreements between agent outputs and select the final answer.

## INPUTS

### Conflicting Agent Outputs
[AGENT_OUTPUTS]
<!-- Format: JSON array of objects, each with agent_id, output, confidence_score, and rationale -->

### Shared Evidence
[SHARED_EVIDENCE]
<!-- Format: JSON array of evidence objects with source_id, content, and authority_weight -->

### Decision Rubric
[DECISION_RUBRIC]
<!-- Format: JSON object with weighted criteria, evidence requirements, and decision thresholds -->

### Risk Level
[RISK_LEVEL]
<!-- One of: low, medium, high, critical -->

## OUTPUT SCHEMA
Return a JSON object with these fields:
{
  "selected_output": "The chosen agent output or a synthesized version",
  "selected_agent_id": "The agent whose output was selected, or 'synthesized'",
  "confidence": 0.0_to_1.0,
  "reasoning": {
    "criteria_scores": {"criterion_name": score},
    "evidence_alignment": "How well the selected output aligns with shared evidence",
    "dissenting_points": ["Points where other agents disagreed and why they were overruled"],
    "key_factors": ["The decisive factors that led to this selection"]
  },
  "escalation_required": true_or_false,
  "escalation_reason": "If escalation is required, explain why arbitration cannot resolve this",
  "audit_trail": [
    {"step": "Step description", "decision": "What was decided", "evidence_used": ["source_ids"]}
  ]
}

## CONSTRAINTS
[CONSTRAINTS]
<!-- Format: JSON array of constraint strings, e.g., "Prefer outputs grounded in shared evidence", "Do not select outputs with confidence below 0.6", "Escalate if agents disagree on safety-critical facts" -->

## INSTRUCTIONS
1. Parse all agent outputs and identify points of agreement and disagreement.
2. For each disagreement, consult the shared evidence to determine which agent is better supported.
3. Apply the decision rubric criteria in order of weight.
4. If no agent meets the minimum threshold from the rubric, set escalation_required to true.
5. If risk_level is 'critical', require higher evidence thresholds and prefer escalation when uncertain.
6. Document every decision step in the audit_trail.
7. Calibrate your confidence score based on evidence strength, agent agreement, and rubric alignment.
8. If you synthesize a new output from multiple agents, set selected_agent_id to 'synthesized' and explain which parts came from which agent.

Return only the JSON object. Do not include explanations outside the JSON.

Adaptation notes: Replace [AGENT_OUTPUTS] with the actual outputs from your conflicting agents, including their self-reported confidence scores and rationales. The [SHARED_EVIDENCE] placeholder should contain the evidence both agents were supposed to use—this is critical for detecting hallucinations and unsupported claims. The [DECISION_RUBRIC] defines what "good" looks like; weight criteria like factual accuracy, schema compliance, and safety alignment according to your product's priorities. The [CONSTRAINTS] array lets you inject domain-specific rules without rewriting the prompt. For high-risk domains, add constraints like "Escalate if outputs disagree on patient medication dosage" or "Reject outputs that introduce new legal obligations not present in the evidence."

What to do next: After copying this template, build a validation layer that checks the JSON schema before the arbitration result enters your application. Test the prompt with known conflict cases where you already know the correct answer. Run calibration checks to ensure the confidence scores correlate with actual correctness. If the judge consistently overrates or underrates certain agents, adjust the rubric weights or add bias-detection evals before shipping.

IMPLEMENTATION TABLE

Prompt Variables

Required inputs for the LLM Arbitration Judge prompt. Each placeholder must be populated before the prompt is sent. Missing or malformed variables are the most common cause of arbitration failures in production.

PlaceholderPurposeExampleValidation Notes

[AGENT_OUTPUTS]

Array of conflicting agent outputs with agent identifiers, confidence scores, and timestamps

[{"agent_id": "research_agent_v2", "output": "The market grew 12% in Q3...", "confidence": 0.85, "timestamp": "2025-01-15T14:30:00Z"}, {"agent_id": "analytics_agent_v1", "output": "Q3 growth was 8.4%...", "confidence": 0.92, "timestamp": "2025-01-15T14:31:00Z"}]

Must contain at least 2 outputs. Each entry requires agent_id, output, and confidence fields. Confidence must be a float between 0.0 and 1.0. Timestamp must be ISO 8601. Reject if any output field is empty or null.

[CONFLICT_TYPE]

Classification of the disagreement type to guide the judge's reasoning framework

factual_disagreement

Must match one of: factual_disagreement, structural_disagreement, policy_disagreement, tool_choice_disagreement, schema_disagreement, classification_disagreement, planning_disagreement, approval_trigger_disagreement. Reject unknown types. Default to factual_disagreement if not specified.

[SHARED_EVIDENCE]

Source documents or data both agents had access to, used for grounding verification

[{"source_id": "q3_report.pdf", "content": "Quarterly revenue reached $4.2B...", "section": "page 3, paragraph 2"}]

Optional but strongly recommended for factual conflicts. Each entry requires source_id and content. Section is optional. Null allowed if no shared evidence exists. Evidence content must not be truncated mid-sentence.

[ARBITRATION_RUBRIC]

Weighted criteria the judge must use to evaluate and select outputs

[{"criterion": "evidence_alignment", "weight": 0.40, "description": "How well the output matches shared evidence"}, {"criterion": "confidence_calibration", "weight": 0.25, "description": "Whether confidence scores match output quality"}, {"criterion": "completeness", "weight": 0.20, "description": "Whether the output fully addresses the original query"}, {"criterion": "internal_consistency", "weight": 0.15, "description": "Whether the output is logically coherent"}]

Weights must sum to 1.0 with tolerance of ±0.01. Each criterion requires a name, weight, and description. Minimum 2 criteria. Reject if any weight is negative or exceeds 1.0.

[ORIGINAL_QUERY]

The user request or task that triggered the agent execution

What was the Q3 revenue growth rate for the North America segment?

Required. Must not be empty or whitespace-only. Maximum 2000 characters. This provides context for what the agents were trying to accomplish and prevents the judge from optimizing for irrelevant criteria.

[OUTPUT_FORMAT]

Schema the judge must conform to when producing the arbitration result

{"selected_agent_id": "string", "selected_output": "string", "reasoning": "string", "confidence": "float", "disagreement_zones": ["string"], "escalation_recommended": "boolean"}

Must be a valid JSON Schema or example structure. Judge output will be validated against this schema post-generation. Reject malformed schemas. Include escalation_recommended field for irreconcilable conflicts.

[BIAS_CHECKS]

Instructions for the judge to self-audit for common arbitration biases

["recency_bias", "confidence_overweighting", "length_bias", "agent_reputation_bias"]

Optional. If provided, each check must be from the known bias taxonomy: recency_bias, confidence_overweighting, length_bias, agent_reputation_bias, evidence_neglect, majority_deference, format_preference. Unknown bias types trigger a warning but do not block execution.

[ESCALATION_THRESHOLD]

Confidence level below which the judge must recommend human review instead of selecting an agent output

0.70

Must be a float between 0.0 and 1.0. Default to 0.65 if not specified. Judge must compare its own arbitration confidence against this threshold. If arbitration confidence is below threshold, escalation_recommended must be true regardless of agent confidence scores.

PROMPT PLAYBOOK

Implementation Harness Notes

How to wire the LLM Arbitration Judge into a production agent pipeline with validation, retries, logging, and human escalation.

The arbitration judge prompt is not a standalone chatbot. It is a decision function inside a larger agent orchestration layer. In production, the judge receives structured conflict records from an upstream conflict detector, not raw agent chat logs. The harness must validate that all required fields—agent outputs, evidence references, confidence scores, and the specific points of disagreement—are present before the judge prompt is assembled. Missing context is the most common cause of arbitration failure, so the harness should reject incomplete conflict records and request resubmission from the upstream detector rather than allowing the judge to guess.

Wire the judge as a synchronous decision step with a strict timeout and a single-attempt retry on validation failure. After the judge returns a verdict, the harness must validate the output schema: a selected_output field, a reasoning block, confidence_calibration, and an audit_trail array. If the output fails schema validation, retry once with the validation errors injected into the [CONSTRAINTS] block. If the retry also fails, escalate to a human review queue with the raw conflict record and both failed judge outputs attached. For high-risk domains—healthcare, finance, legal—configure the harness to require human approval on any verdict where the judge's confidence falls below the [RISK_LEVEL] threshold, regardless of schema validity.

Log every arbitration decision with the full input conflict record, the judge's output, the schema validation result, and the final action taken (accepted, retried, escalated). This audit trail is essential for judge bias detection and calibration against human preference data. Run periodic eval batches where human reviewers score a sample of judge decisions against the same conflict records. Track agreement rate, overconfidence patterns, and any drift in the judge's selection behavior. If the judge consistently favors one agent class or one output style, recalibrate the [CONSTRAINTS] and [EXAMPLES] blocks rather than tuning the model. The harness should make these blocks configurable without changing the core prompt template.

IMPLEMENTATION TABLE

Expected Output Contract

Defines the required fields, types, and validation rules for the arbitration judge's output. Use this contract to parse, validate, and store the judge's decision before surfacing it to downstream systems or human reviewers.

Field or ElementType or FormatRequiredValidation Rule

arbitration_id

string (UUID v4)

Must be a valid UUID v4 string. Reject if missing or malformed.

selected_output_id

string

Must match exactly one agent_output_id from the [AGENT_OUTPUTS] input array. Reject if null, empty, or not found in the input set.

decision_rationale

string

Must be non-empty and contain at least one explicit reference to an evidence item from [SHARED_EVIDENCE] or a specific agent output claim. Reject if generic or purely subjective.

confidence_score

number (0.0 to 1.0)

Must be a float between 0.0 and 1.0 inclusive. Reject if outside range. If below [MIN_CONFIDENCE_THRESHOLD], trigger escalation workflow.

evidence_alignment

array of objects

Each object must have 'claim' (string), 'source_agent_id' (string), 'evidence_id' (string|null), and 'verdict' (enum: supported|contradicted|unsupported). Reject if any required field is missing or verdict is invalid.

disagreement_summary

string

Must concisely describe the core point of disagreement between agents. Reject if empty or if it restates the decision without explaining the conflict.

escalation_required

boolean

Must be true if confidence_score < [MIN_CONFIDENCE_THRESHOLD] or if evidence_alignment contains any 'contradicted' verdicts. Reject if boolean logic is inconsistent with other fields.

audit_trail

array of strings

If present, each string must be a timestamped log entry in ISO 8601 format prefixed with the step name. Null allowed. Reject if format is inconsistent.

PRACTICAL GUARDRAILS

Common Failure Modes

What breaks first when an LLM acts as an arbitration judge and how to guard against it.

01

Position Bias: Favoring the First Argument

What to watch: The judge systematically prefers the first agent's output presented in the context window, ignoring the merits of later arguments. Guardrail: Randomize agent order in the prompt, run multiple arbitration passes with different orderings, and flag decisions that flip when order changes.

02

Eloquence Over Evidence

What to watch: The judge selects the more fluently written or confident-sounding output, even when it contains factual errors or weaker evidence. Guardrail: Require the judge to extract and compare explicit evidence claims before scoring, and use a separate fact-checking pass against shared source material.

03

False Compromise Synthesis

What to watch: Instead of selecting the correct output, the judge hallucinates a new 'middle ground' answer that blends elements from both agents but introduces new errors. Guardrail: Constrain the output to selection-only mode when a clear winner must be chosen, and add a separate synthesis path with explicit attribution rules when merging is allowed.

04

Confidence Miscalibration

What to watch: The judge assigns high confidence scores to incorrect decisions, especially when both agents are wrong in the same way or share the same blind spot. Guardrail: Calibrate judge confidence against a golden dataset with known disagreements, and implement a confidence threshold below which the decision escalates to human review.

05

Instruction Leakage and Agent Deference

What to watch: The judge defers to an agent because it recognizes the agent's role description or system prompt as authoritative, rather than evaluating the output quality. Guardrail: Strip agent identifiers and role metadata before arbitration, and blind the judge to which agent produced which output.

06

Missing Audit Trail

What to watch: The judge produces a final answer without recording which evidence was used, why the losing agent was rejected, or what tie-breaking logic was applied. Guardrail: Require structured output fields for winning_agent, rejection_reasons, evidence_cited, and confidence_score in every arbitration response.

IMPLEMENTATION TABLE

Evaluation Rubric

Criteria for testing the LLM Arbitration Judge before production deployment. Each row defines a pass standard, a failure signal, and a concrete test method. Run these checks against a golden dataset of known conflicts with human-annotated preferences.

CriterionPass StandardFailure SignalTest Method

Selection Accuracy

Judge selects the same output as the human preference label in >= 90% of test cases

Selection matches minority human label or is marked 'undecided' when a clear preference exists

Run against a golden conflict dataset with 3+ human annotators; measure exact match and Cohen's kappa

Evidence Grounding

Every reason in the audit trail cites a specific claim, field, or source from the agent outputs

Audit trail contains unsupported assertions, hallucinated agent positions, or references to missing outputs

Parse audit trail with regex for citation markers; verify each citation exists in the input agent outputs

Confidence Calibration

Self-reported confidence score correlates with actual correctness (Brier score < 0.15)

High-confidence selections (>0.9) are wrong more than 10% of the time, or low-confidence selections (<0.5) are right more than 80%

Bucket selections by confidence decile; plot calibration curve; compute Expected Calibration Error (ECE)

Bias Resistance

Selection rate for any single agent position is within 10% of uniform distribution when agent outputs are of equal quality

Judge consistently favors Agent A over Agent B when outputs are semantically equivalent or randomly ordered

Swap agent position order in prompt; measure selection rate delta; run counterfactual pairs with identical content

Abstention Discipline

Judge returns 'undecided' when agent outputs are semantically equivalent or when evidence is genuinely insufficient

Judge fabricates distinctions to force a selection, or abstains when one output is clearly superior

Create test pairs with identical meaning but different wording; create pairs with one clearly wrong output; measure precision and recall of abstention

Schema Compliance

Output parses as valid JSON matching the [OUTPUT_SCHEMA] with all required fields present and correctly typed

Output is malformed JSON, missing required fields, contains extra keys, or uses wrong types for selection or confidence

Validate with JSON Schema validator; check field presence, type correctness, and enum membership for selection field

Audit Trail Completeness

Audit trail includes: agent positions summarized, key disagreement points, evidence used, reasoning chain, and final selection

Audit trail is empty, contains only the final selection, or omits the reasoning that led to the decision

Check for minimum required sections with keyword presence; verify reasoning chain length > 0 and contains agent references

Latency Budget

Judge completes arbitration within [MAX_LATENCY_MS] milliseconds for 95th percentile of requests

P95 latency exceeds budget by more than 20%, or timeouts occur on > 1% of requests

Load test with representative conflict payloads; measure P50, P95, P99 latency; track timeout rate

ADAPTATION OPTIONS

Adapt This Prompt

How to adapt

Use the base prompt with a single frontier model. Remove the audit trail and confidence calibration sections. Replace structured output requirements with a simple text request: "Explain which agent output is better and why." Test with 5-10 synthetic disagreements.

Watch for

  • Position bias (preferring Agent A because it appears first)
  • Verbose justifications that don't match the actual selection
  • No way to detect when the judge is wrong
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.