This prompt is designed for evaluation platform teams who need to align an LLM judge's scoring behavior against a set of human-annotated ratings. The core job-to-be-done is producing a calibration mapping that reveals systematic over-scoring, under-scoring, or dimension-specific drift, so that automated evaluation scores can be trusted as a reliable proxy for human judgment. The ideal user is an MLOps engineer, evaluation lead, or AI quality architect who already has a batch of scored outputs with both LLM judge scores and human reference labels, and who needs to quantify the gap between them before shipping an automated evaluation pipeline.
Prompt
LLM Judge Calibration Against Human Ratings Prompt Template

When to Use This Prompt
Define the calibration job, the required inputs, and the boundaries where this prompt is the right tool versus when you need a different approach.
Use this prompt when you have a stable rubric, a consistent judge prompt, and a representative sample of human-annotated examples spanning the full scoring range. It works best for Likert-scale, categorical, or numeric scoring dimensions where alignment can be measured through distribution comparison, mean offset, and agreement coefficients. The prompt expects per-dimension calibration metrics, so your input data must include dimension-level scores from both the judge and human raters. If you only have overall scores without dimension breakdowns, or if your human labels are binary pass/fail rather than graded, consider the Score Threshold Calibration Prompt instead.
Do not use this prompt when the judge prompt itself is still under active revision, when the human annotation set is too small to produce statistically meaningful alignment metrics (typically fewer than 50 examples per score bucket), or when the rubric definitions have shifted between the time of human annotation and judge scoring. In those cases, invest first in Calibration Set Construction or Judge Instruction Rewriting prompts. Also avoid this prompt for real-time score adjustment during inference; it produces an offline calibration analysis meant for judge improvement and monitoring, not a live scoring wrapper. For production score normalization at runtime, pair this analysis output with the Score Normalization Prompt Across Multiple LLM Judges.
Use Case Fit
Where the LLM Judge Calibration prompt delivers value and where it introduces risk. Use this to decide whether to deploy, adapt, or choose a different approach.
Good Fit: Stable Human Rating Pipelines
Use when: you have a consistent team of human annotators producing ratings on a defined rubric over multiple evaluation cycles. Guardrail: verify inter-rater reliability among humans before calibrating the judge. A judge cannot align to a moving target.
Good Fit: Multi-Dimensional Scoring with Drift Concerns
Use when: you score outputs across several dimensions and need to detect if the judge starts over-scoring 'helpfulness' while under-scoring 'safety.' Guardrail: run per-dimension alignment metrics, not just aggregate scores. A judge can appear calibrated overall while drifting badly on one axis.
Bad Fit: No Human Baseline Available
Avoid when: you lack a set of human-rated examples to serve as the calibration anchor. Guardrail: invest in building a reference dataset first. Calibration against an arbitrary or synthetic baseline produces misleading confidence in judge quality.
Bad Fit: Rapidly Changing Evaluation Rubric
Avoid when: the scoring rubric is under active revision and human raters haven't stabilized on the new criteria. Guardrail: freeze the rubric and collect at least one full rating cycle before calibrating. Otherwise, calibration chases a moving definition of 'correct.'
Required Inputs
Must have: a set of examples with both human ratings and LLM judge scores, the evaluation rubric used by both, and per-dimension score breakdowns. Guardrail: validate that the human ratings cover the full score range. Calibration fails when all examples cluster at the top or bottom of the scale.
Operational Risk: Silent Calibration Decay
Risk: the judge remains calibrated at deployment but drifts as input distributions shift in production. Guardrail: schedule recurring calibration checks against fresh human-rated samples. Treat calibration as a continuous monitoring task, not a one-time setup step.
Copy-Ready Prompt Template
A reusable prompt template for calibrating an LLM judge's scoring behavior against a set of human-annotated examples.
This section provides the core prompt for aligning an LLM judge with human rating distributions. The template is designed to be dropped into an evaluation harness where it receives a batch of scored examples and produces a calibration analysis. It does not assume a specific scoring scale or rubric—those are injected via the [RUBRIC] and [SCORING_SCALE] placeholders. The prompt instructs the model to act as a calibration analyst, comparing its own hypothetical scores against provided human scores to identify systematic biases, per-dimension drift, and confidence intervals.
textYou are a calibration analyst for an LLM-based evaluation system. Your task is to compare your own scoring behavior against a set of human-annotated examples and produce a calibration report. ## INPUT DATA You will receive a set of examples. Each example contains: - An input that was evaluated. - A human rating with per-dimension scores. - The human rater's brief justification. [RATED_EXAMPLES] ## YOUR TASK For each example, first independently score it according to the provided rubric. Then compare your score to the human score. After processing all examples, produce a calibration analysis. ## RUBRIC [RUBRIC] ## SCORING SCALE [SCORING_SCALE] ## OUTPUT FORMAT Produce a JSON object with the following structure: { "per_example_analysis": [ { "example_id": "string", "my_scores": { "[DIMENSION_NAME]": number }, "human_scores": { "[DIMENSION_NAME]": number }, "score_delta": { "[DIMENSION_NAME]": number }, "discrepancy_category": "judge_over_score" | "judge_under_score" | "aligned" | "rubric_ambiguity" | "edge_case", "explanation": "string" } ], "calibration_summary": { "overall_alignment": "strongly_aligned" | "moderately_aligned" | "weakly_aligned" | "misaligned", "mean_delta_per_dimension": { "[DIMENSION_NAME]": number }, "systematic_bias_detected": boolean, "bias_description": "string or null", "confidence_interval_95_per_dimension": { "[DIMENSION_NAME]": [number, number] }, "most_problematic_dimension": "string or null", "recommended_calibration_actions": ["string"] }, "discrepancy_distribution": { "judge_over_score_count": number, "judge_under_score_count": number, "aligned_count": number, "rubric_ambiguity_count": number, "edge_case_count": number } } ## CONSTRAINTS - Score independently before comparing. Do not anchor on the human score. - If the rubric is ambiguous for a specific example, flag it as "rubric_ambiguity" rather than forcing alignment. - Report systematic bias only when a pattern is clear across multiple examples, not from a single discrepancy. - Confidence intervals should reflect the variance in your score deltas, not a fixed assumption. - If fewer than [MIN_EXAMPLES_FOR_CALIBRATION] examples are provided, set overall_alignment to "insufficient_data" and omit statistical fields.
To adapt this template, replace the square-bracket placeholders with your specific configuration. [RUBRIC] should contain the full evaluation criteria your judge uses, including dimension definitions and anchor examples. [SCORING_SCALE] must define the numeric range and what each value represents. [RATED_EXAMPLES] is the calibration dataset—inject it as structured text or JSON, ensuring each example has a stable example_id. [DIMENSION_NAME] placeholders in the output schema should be replaced with your actual dimension keys. [MIN_EXAMPLES_FOR_CALIBRATION] should be set to a threshold below which statistical claims are unreliable; 20–30 is a reasonable default for initial calibration. The output schema is designed for direct ingestion by a downstream calibration dashboard or automated threshold adjustment system. If your judge uses a different discrepancy taxonomy, modify the discrepancy_category enum before use.
Prompt Variables
Required inputs for the LLM Judge Calibration prompt. Each placeholder must be populated before the prompt is sent. Validation checks prevent silent misalignment caused by missing or malformed data.
| Placeholder | Purpose | Example | Validation Notes |
|---|---|---|---|
[HUMAN_RATINGS] | Ground-truth scores from human annotators, structured per item and dimension. | {"item_1": {"accuracy": 4, "tone": 3}} | Schema check: must be a JSON object where each key maps to a flat object of dimension:score pairs. Scores must be numeric and within the defined scale range. Null values not allowed. |
[JUDGE_OUTPUTS] | Raw LLM judge scores and justifications for the same items. | {"item_1": {"accuracy": 5, "tone": 2, "justification": "..."}} | Schema check: must contain the same item keys and dimension keys as [HUMAN_RATINGS], plus a justification field per item. Mismatched keys trigger a pre-flight error. |
[DIMENSIONS] | List of evaluation dimensions to calibrate. | ["accuracy", "tone", "completeness"] | Parse check: must be a non-empty array of strings. Each dimension must appear in both [HUMAN_RATINGS] and [JUDGE_OUTPUTS]. Missing dimensions abort calibration. |
[SCORE_RANGE] | The numeric scale used by both human raters and the judge. | {"min": 1, "max": 5} | Schema check: must have integer min and max fields. All scores in [HUMAN_RATINGS] and [JUDGE_OUTPUTS] must fall within this range. Out-of-range scores are flagged as data errors. |
[CALIBRATION_THRESHOLD] | Acceptable mean absolute error between judge and human scores per dimension. | {"accuracy": 0.5, "tone": 0.7} | Schema check: must be a JSON object with the same keys as [DIMENSIONS] and numeric values. Thresholds <= 0 are invalid. Used to flag dimensions requiring judge instruction updates. |
[CONFIDENCE_LEVEL] | Confidence level for interval reporting. | 0.95 | Parse check: must be a float between 0.8 and 0.99. Values outside this range produce a warning but do not block execution. Defaults to 0.95 if omitted. |
[MIN_SAMPLE_SIZE] | Minimum number of rated items required per dimension before calibration is considered reliable. | 30 | Parse check: must be a positive integer. If the number of items in [HUMAN_RATINGS] is below this threshold, the output includes a low-confidence flag and recommends collecting more data. |
Implementation Harness Notes
How to wire the calibration prompt into an evaluation pipeline with validation, retries, logging, and human review gates.
The calibration prompt is not a one-shot report generator. It should sit inside a pipeline that feeds it batches of human-annotated examples paired with LLM judge outputs, collects the structured calibration results, and routes them to downstream consumers: dashboards, alerting systems, judge instruction updaters, and human review queues. The harness is responsible for data preparation, invocation, output validation, and action routing.
Input assembly. Before calling the prompt, assemble a batch of [NUM_EXAMPLES] records, each containing the original input, the LLM judge's score and justification, the human rating, and optional metadata such as difficulty tier, topic category, and annotator ID. Stratify the batch to cover score boundaries, edge cases, and underrepresented rating regions. If the calibration set construction prompt is available upstream, use its output to ensure coverage. Pass the batch as [CALIBRATION_EXAMPLES] in a structured format (JSON array) alongside [JUDGE_NAME], [EVALUATION_DIMENSIONS], and [CONFIDENCE_LEVEL] for interval calculations.
Invocation and retry logic. Call the prompt with a model that supports structured output (GPT-4o, Claude 3.5 Sonnet, or equivalent). Set response_format to json_schema with the expected output shape: per-dimension alignment metrics, systematic bias flags, confidence intervals, and a severity summary. If the output fails schema validation, retry once with the validation errors appended as [PREVIOUS_ERRORS]. If the second attempt fails, log the failure and escalate to a human reviewer rather than silently accepting a malformed calibration report. Do not retry more than twice—calibration data is too sensitive for guesswork.
Post-processing and routing. After validation, extract the per-dimension alignment metrics and compare them against [DRIFT_THRESHOLDS]. If any dimension exceeds the threshold, route the calibration result to the judge instruction rewriting prompt for targeted fixes. If systematic over-scoring or under-scoring is detected, flag the judge for severity analysis. Log every calibration run with a timestamp, batch ID, judge version, and alignment scores to enable drift monitoring over time windows. Store raw outputs for auditability.
Human review gates. Calibration is high-stakes evaluation infrastructure. If the confidence interval width on any dimension exceeds [MAX_ACCEPTABLE_WIDTH], or if the alignment metrics show a statistically significant shift from the previous calibration window, require human review before updating judge instructions or score thresholds. The human reviewer should see the calibration report, the raw example pairs, and the proposed actions. Automate the routing but not the decision.
Expected Output Contract
Fields returned by the calibration prompt. Validate each field before storing results or feeding them into downstream dashboards.
| Field or Element | Type or Format | Required | Validation Rule |
|---|---|---|---|
calibration_id | string (UUID v4) | Must match ^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ | |
judge_id | string | Must be non-empty and match a known judge identifier in the evaluation platform | |
calibration_timestamp | string (ISO 8601 UTC) | Must parse as valid datetime; must not be in the future | |
per_dimension_alignment | array of objects | Array length must equal number of evaluation dimensions in the rubric; each object must contain dimension_name, human_mean, judge_mean, mean_difference, correlation_coefficient, and confidence_interval_95 | |
dimension_name | string | Must match a dimension name from the active evaluation rubric exactly (case-sensitive) | |
human_mean | number | Must be within the rubric's defined score range; null not allowed | |
judge_mean | number | Must be within the rubric's defined score range; null not allowed | |
mean_difference | number | Must equal judge_mean minus human_mean within 0.001 tolerance; sign indicates over-scoring (positive) or under-scoring (negative) | |
correlation_coefficient | number | Must be between -1.0 and 1.0 inclusive; values below 0.5 require a low_correlation_warning flag | |
confidence_interval_95 | array of two numbers | Must contain exactly two numbers [lower, upper]; lower must be less than upper; interval must contain the mean_difference | |
systematic_bias_flags | array of strings | Each entry must be one of: over_scoring, under_scoring, leniency_drift, severity_drift, scale_compression, scale_expansion, none_detected; empty array allowed only if none_detected is present | |
overall_alignment_score | number | Must be between 0.0 and 1.0 inclusive; computed as 1.0 minus mean absolute mean_difference normalized by score range | |
sample_size | integer | Must be greater than 0; must match the number of calibration pairs provided in the input | |
calibration_quality | string | Must be one of: strong, adequate, weak, unreliable; determined by overall_alignment_score thresholds (>=0.9 strong, >=0.75 adequate, >=0.6 weak, <0.6 unreliable) | |
recommended_actions | array of strings | Must contain at least one action if calibration_quality is weak or unreliable; valid actions: adjust_judge_instructions, recalibrate_thresholds, increase_sample_size, investigate_dimension, human_review_required, no_action_needed |
Common Failure Modes
What breaks first when calibrating LLM judges against human ratings, and how to guard against it.
Scale Compression and Central Tendency
What to watch: LLM judges often avoid extreme scores, clustering ratings around the middle of the scale while human raters use the full range. This masks real quality differences and inflates agreement on mediocre outputs. Guardrail: Include anchor examples at each score point in the judge prompt, explicitly instruct the judge to use the full scale, and validate score distribution spread against human reference distributions before trusting alignment metrics.
Position Bias in Pairwise and List Judgments
What to watch: When comparing multiple outputs, LLM judges systematically favor the first or last position regardless of quality. This corrupts preference data and champion-challenger decisions. Guardrail: Randomize output order per evaluation, run duplicate judgments with reversed positions, and flag cases where position predicts the winner more strongly than content features.
Length and Verbosity Confounds
What to watch: Judges conflate longer, more verbose outputs with higher quality, inflating scores for wordy but incorrect responses. This is especially dangerous in groundedness and factual accuracy evaluations. Guardrail: Include length-normalized reference scores in calibration data, explicitly instruct the judge to penalize unnecessary verbosity, and monitor correlation between output length and score across evaluation batches.
Rubric Ambiguity Drift Over Time
What to watch: Judge interpretation of rubric criteria shifts as the model encounters new output patterns, causing silent calibration decay even when the prompt text hasn't changed. Guardrail: Maintain a fixed holdout set of scored examples from the calibration window, run them weekly, and trigger recalibration when holdout scores deviate beyond a statistical threshold.
Overfitting to Surface Features
What to watch: Judges latch onto formatting, keyword presence, or stylistic markers instead of substantive quality, producing scores that look consistent but fail on adversarial examples or format variations. Guardrail: Include counterexamples in calibration sets where surface features are strong but substance is weak, and test judge sensitivity by varying formatting while holding content constant.
Human Reference Label Noise Propagation
What to watch: Noisy, inconsistent, or biased human reference labels train the judge to replicate human errors rather than true quality standards, amplifying annotation problems across automated evaluation. Guardrail: Audit calibration set inter-annotator agreement before judge alignment, flag examples with low human consensus for exclusion or adjudication, and measure whether judge errors correlate with human disagreement patterns.
Evaluation Rubric
Criteria for testing whether the LLM judge calibration prompt produces trustworthy alignment metrics before shipping to production evaluation pipelines.
| Criterion | Pass Standard | Failure Signal | Test Method |
|---|---|---|---|
Alignment metric accuracy | Correlation coefficient between judge scores and human ratings is within 0.05 of ground-truth correlation on a held-out calibration set | Correlation differs by more than 0.05 or direction flips | Compare prompt output correlation against pre-computed human-judge correlation from calibration dataset |
Per-dimension score distribution match | Mean absolute error between judge score distribution and human rating distribution is below 0.15 per dimension | Any dimension shows MAE above 0.15 or systematic over/under-scoring pattern | Kolmogorov-Smirnov test per dimension; flag dimensions where p < 0.05 |
Systematic bias detection | Prompt correctly identifies at least 80% of known bias patterns injected into calibration test cases | Known bias pattern goes undetected or false positive rate exceeds 20% | Inject synthetic bias patterns into test inputs and verify detection in output |
Confidence interval calibration | 90% confidence intervals contain the true human rating at least 85% of the time across test samples | Coverage rate below 80% or intervals consistently too narrow/wide | Check interval coverage against held-out human labels; compute empirical coverage rate |
Over-scoring pattern flagging | Prompt correctly flags dimensions where judge mean score exceeds human mean by more than 0.5 points | Over-scoring dimension missed or flagged when difference is below threshold | Provide inputs with known over-scoring gaps; verify flag presence/absence matches threshold |
Under-scoring pattern flagging | Prompt correctly flags dimensions where judge mean score is below human mean by more than 0.5 points | Under-scoring dimension missed or flagged when difference is below threshold | Provide inputs with known under-scoring gaps; verify flag presence/absence matches threshold |
Output schema compliance | All required fields present with correct types; calibration mapping contains every dimension from input | Missing field, type mismatch, or dimension omitted from mapping | Validate against [OUTPUT_SCHEMA] using JSON Schema validator; check dimension completeness |
Edge case handling with sparse data | Prompt produces calibration mapping with appropriate uncertainty warnings when fewer than 10 samples exist for a score range | Confident mapping produced from insufficient data or prompt crashes on sparse input | Provide calibration set with deliberately sparse score ranges; check for uncertainty language and non-null output |
Enabling Efficiency, Speed & Accuracy
Intelligent Analysis, Decision & Execution
We build AI systems for teams that need search across company data, workflow automation across tools, or AI features inside products and internal software.
Talk to Us
Search across company data
Give teams answers from docs, tickets, runbooks, and product data with sources and permissions.
Useful when people spend too long searching or get different answers from different systems.

Automate internal workflows
Use AI to route work, draft outputs, trigger actions, and keep approvals and logs in place.
Useful when repetitive work moves across multiple tools and teams.

Add AI to products and internal tools
Build assistants, guided actions, or decision support into the software your team or customers already use.
Useful when AI needs to be part of the product, not a separate tool.
Adapt This Prompt
How to adapt
Add structured schema validation, retry logic for malformed outputs, and logging of every calibration run. Use a calibration set of 100+ human-annotated examples stratified by difficulty tier and score range. Include per-dimension alignment metrics, systematic over/under-scoring detection, and confidence intervals.
Wire the prompt into an evaluation pipeline that runs calibration checks on a schedule (daily or per-release). Store calibration results in a time-series database for drift monitoring. Add alerting when alignment drops below a configured threshold.
Prompt snippet
codeAnalyze the calibration sample of [SAMPLE_SIZE] examples across [DIMENSIONS]. For each dimension: - Compute mean judge score and mean human score - Calculate alignment error (judge_mean - human_mean) - Flag systematic bias if |alignment_error| > [BIAS_THRESHOLD] - Report 95% confidence interval on the error estimate Output strictly as: {"dimensions": [{"name": "[DIM]", "judge_mean": [FLOAT], "human_mean": [FLOAT], "alignment_error": [FLOAT], "systematic_bias_detected": [BOOLEAN], "confidence_interval_95": [LOWER, UPPER]}], "overall_alignment_score": [FLOAT], "recommendations": ["[ACTION]"]}
Watch for
- Silent format drift when model outputs valid JSON with wrong field names
- Calibration set staleness as product outputs evolve
- Missing human review for edge cases where judge and human disagree significantly
- Alert fatigue from overly sensitive thresholds

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.
Partnered with leading AI, data, and software stack.
How We Work
Custom AI workflows for your Business
One-fit-all AI don't work for modern businesses. At Inferensys, we aim to understand your business & custom requirements; which we use to define most efficient agentic workflows, the data, and the tools for your business.
01
Review the use case
We understand the task, the users, and where AI can actually help.
Read more02
Pick the right approach
We define what needs search, automation, or product integration.
Read more03
Build the first useful version
We implement the part that proves the value first.
Read more04
Improve from there
We add the checks and visibility needed to keep it useful.
Read moreThe first call is a practical review of your use case and the right next step.
Talk to Us