Inferensys

Prompt

Faithfulness Score Calibration Prompt

A practical prompt playbook for calibrating LLM judges against human-annotated faithfulness scores to reduce drift and align automated evaluation with human standards.
AI evaluator reviewing output quality on laptop, comparison metrics visible, casual evaluation session.
PROMPT PLAYBOOK

When to Use This Prompt

Define the job, reader, and constraints for calibrating a faithfulness judge against human-annotated ground truth.

This prompt is for evaluation leads and AI engineers who need to align an LLM judge's faithfulness scores with human ratings. The core job is calibration: you have a set of human-annotated examples where each AI output has a known groundedness score, and you need the LLM judge to produce scores that match the human distribution. Without calibration, LLM judges drift—scoring too leniently on some model versions, too harshly on others, or shifting their interpretation of the rubric over multiple evaluation runs. This prompt solves that by presenting few-shot calibration examples with human-annotated ground truth before the judge scores new items.

Use this prompt when you have at least 20–50 human-annotated calibration examples covering the full range of your groundedness rubric (e.g., scores 1–5). The calibration examples should include edge cases: partially supported claims, ambiguous evidence relationships, and outputs where the model correctly abstained. Do not use this prompt when you lack human annotations, when your rubric is still in draft, or when you need real-time scoring latency below 500ms—calibration adds token overhead. This prompt is also inappropriate for binary pass/fail gates; use the Pass/Fail Groundedness Gate Prompt instead.

The prompt works best as a pre-scoring step in batch evaluation pipelines. Run it once per evaluation session to establish judge alignment, then feed the calibrated judge your unlabeled outputs. Store the calibration examples in your eval dataset with versioned human annotations so you can detect when the judge's alignment drifts over time. If you change your groundedness rubric, you must update the calibration examples and re-run alignment—old calibration data will silently corrupt new scores. Always log the calibration examples used, the judge's raw scores, and the human reference scores for auditability.

PRACTICAL GUARDRAILS

Use Case Fit

Where the Faithfulness Score Calibration Prompt delivers value and where it introduces risk. This prompt is designed for evaluation leads who need to align LLM judges with human ratings, not for one-off hallucination checks.

01

Good Fit: Judge Alignment Pipelines

Use when: you have a pool of human-annotated examples and need to calibrate an LLM judge to match those ratings consistently across evaluation runs. Guardrail: always maintain a held-out calibration set that the judge never sees during prompt iteration to detect overfitting.

02

Bad Fit: Single-Prompt Groundedness Checks

Avoid when: you need a one-shot hallucination check on a single output. This prompt is over-engineered for ad-hoc use. Guardrail: use the Factual Consistency Check or Hallucination Detection prompts for point checks; reserve calibration prompts for judge alignment workflows.

03

Required Inputs

Must have: few-shot examples with human-annotated faithfulness scores, a defined scoring rubric with clear level descriptors, and source documents paired with generated outputs. Guardrail: never calibrate without at least 20–30 human-annotated examples; fewer samples produce brittle calibration that drifts under distribution shift.

04

Operational Risk: Calibration Drift

What to watch: LLM judge scores drifting away from human reference standards as models upgrade, prompts change, or input distributions shift. Guardrail: run calibration checks weekly against a fixed golden set and trigger re-calibration when agreement drops below your threshold.

05

Operational Risk: Annotation Quality Dependency

What to watch: garbage human annotations produce garbage calibration. Inter-annotator disagreement, inconsistent rubric application, or rushed labeling will bake noise into your judge. Guardrail: measure inter-annotator agreement before using annotations for calibration; discard examples where human raters disagree beyond your tolerance.

06

When to Escalate Beyond Prompting

What to watch: calibration prompts alone cannot fix fundamentally broken rubrics, poorly defined faithfulness criteria, or systemic judge bias. Guardrail: if calibration repeatedly fails, revisit the rubric design, annotation guidelines, or consider fine-tuning a dedicated judge model rather than prompt-engineering around a broken foundation.

PROMPT PLAYBOOK

Copy-Ready Prompt Template

A reusable prompt template with square-bracket placeholders for calibrating an LLM judge's faithfulness scores against human-annotated ground truth.

This template is the core of the calibration workflow. It provides a structured prompt that you can copy, adapt, and embed directly into your evaluation harness. The prompt instructs an LLM judge to score the faithfulness of a generated answer against a source document, but it does so by first presenting a set of few-shot examples with human-annotated scores. These examples act as the calibration anchor, teaching the judge what a '1', '3', or '5' means in your specific context before it scores the target item. The square-bracket placeholders are designed to be filled by your application code at runtime, pulling from a calibration dataset that you maintain and version alongside your prompt.

text
You are a strict faithfulness evaluator. Your task is to score how factually consistent a [GENERATED_ANSWER] is with a [SOURCE_DOCUMENT]. A score of 1 means the answer is completely unsupported or contradicts the source. A score of 5 means the answer is fully supported with no added or distorted information.

Before scoring the target, study these calibration examples. Each example includes a source, an answer, a human-annotated score, and a brief justification. Use these to calibrate your internal scoring scale.

[CALIBRATION_EXAMPLES]

---

Now, evaluate the following target item. Apply the same scoring standards you observed in the calibration examples.

[SOURCE_DOCUMENT]:
[SOURCE_TEXT]

[GENERATED_ANSWER]:
[ANSWER_TEXT]

[OUTPUT_SCHEMA]:
Return your evaluation as a single JSON object with the following keys:
- "faithfulness_score": An integer from 1 to 5.
- "justification": A string explaining the score, referencing specific claims and source evidence.
- "uncertainty_flags": An array of strings noting any ambiguous cases or borderline decisions.

[CONSTRAINTS]:
- Do not critique style, grammar, or helpfulness. Only evaluate factual consistency with the source.
- If the answer contains multiple claims, each unsupported claim should lower the score.
- A score of 3 is for answers that are partially supported but contain minor unsupported details or omissions.

To adapt this template, start by curating your [CALIBRATION_EXAMPLES]. This is the most critical variable. Each example should be a clear, concise block of text containing a source snippet, an answer, the human-annotated score, and a short justification. Aim for 3-5 examples that span the full range of your scoring rubric, especially the boundaries between scores (e.g., a clear '2' vs. a clear '3'). Store these examples in a version-controlled file or database so you can update them when you refine your rubric or discover judge drift. The [OUTPUT_SCHEMA] enforces a structured JSON response, which is essential for automated parsing in a CI/CD pipeline. If your evaluation harness uses a different schema, replace it, but always include a justification field for debugging. The [CONSTRAINTS] section is your defense against scope creep; it explicitly tells the judge to ignore style and focus solely on factual consistency, preventing conflation with quality or helpfulness metrics. Before deploying, run this prompt against a held-out set of human-annotated examples to measure the judge's alignment and set an acceptable error tolerance.

IMPLEMENTATION TABLE

Prompt Variables

Required inputs for the Faithfulness Score Calibration Prompt. Each variable must be populated before the prompt is assembled and sent to the judge model. Missing or malformed inputs are the most common cause of calibration drift.

PlaceholderPurposeExampleValidation Notes

[FEW_SHOT_EXAMPLES]

Array of human-annotated calibration examples, each containing a source text, a generated claim, and a human-assigned faithfulness score with rationale.

[{"source": "The report states Q3 revenue was $2.1B.", "claim": "Revenue reached $2.1 billion in the third quarter.", "human_score": 5, "human_rationale": "Exact match with minor paraphrasing."}]

Validate array length >= 3. Each object must have source, claim, human_score (integer 1-5), and human_rationale (non-empty string). Reject if any example is missing a field.

[RUBRIC_DEFINITION]

The scoring scale definition that maps integer scores to faithfulness criteria. This is the contract the judge must apply consistently.

1: Completely unsupported or contradicted. 3: Partially supported with minor errors. 5: Fully supported with no distortion.

Must define at minimum scores 1, 3, and 5. Each level must have a non-empty description. Reject if scale endpoints are missing or descriptions are identical across levels.

[SOURCE_TEXT]

The reference document or passage that the generated claim must be checked against. This is the ground truth for the faithfulness evaluation.

According to the clinical trial results published in NEJM, the treatment group showed a 12% reduction in adverse events compared to placebo over 24 weeks.

Must be a non-empty string. For multi-document evaluation, concatenate with clear document boundary markers. Null or empty string triggers immediate rejection before model call.

[GENERATED_CLAIM]

The AI-generated statement or output that needs to be scored for faithfulness against the source text.

The trial demonstrated a 12% decrease in adverse events for the treatment arm versus placebo across the 24-week study period.

Must be a non-empty string. If claim is identical to source text, flag for potential copy-paste evaluation rather than genuine generation. Null input triggers rejection.

[CALIBRATION_INSTRUCTIONS]

Behavioral instructions that tell the judge how to use the few-shot examples to anchor its scoring, including how to handle ambiguous cases.

Use the provided examples to calibrate your scoring. When a claim is partially supported, prefer the lower score if the distortion changes meaning. Explain your reasoning by referencing specific source text.

Must include explicit instruction to reference few-shot examples. Must specify tie-breaking behavior for borderline cases. Reject if instructions contradict the rubric definition.

[OUTPUT_SCHEMA]

The expected JSON structure for the judge's response, including field names, types, and constraints.

{"faithfulness_score": integer, "confidence": float 0-1, "rationale": string, "source_evidence": string, "distortion_flags": [string]}

Schema must include faithfulness_score (integer), confidence (float), and rationale (string). Reject judge output that omits required fields or returns wrong types. Parse check before downstream consumption.

[DRIFT_THRESHOLD]

The acceptable deviation between the judge's score and the human reference score on calibration examples before the judge is considered out of alignment.

0.5 mean absolute error across calibration examples

Must be a positive float. Typical range 0.3-0.7. If judge exceeds threshold on calibration examples, block production use and trigger recalibration workflow. Null allowed if calibration check is deferred.

PROMPT PLAYBOOK

Implementation Harness Notes

How to wire the Faithfulness Score Calibration Prompt into an evaluation pipeline with validation, retries, and human alignment checks.

The Faithfulness Score Calibration Prompt is designed to be embedded in an automated evaluation harness, not run as a one-off chat. The prompt takes a set of few-shot examples with human-annotated ground truth scores and uses them to calibrate the LLM judge before scoring new outputs. The harness must manage example selection, score extraction, validation, and alignment drift detection across evaluation runs. Treat this prompt as a calibration step that runs before each batch evaluation, not as a standalone scorer—the calibration examples establish the scoring contract for that session.

To wire this into an application, build a calibration runner that executes the prompt with a curated set of 5–15 human-annotated examples covering the full score range. Extract the numeric score from the model response using a strict regex or JSON parser—expect formats like Score: 4 or structured JSON with a faithfulness_score field. Validate that the extracted score falls within the defined scale (e.g., 1–5) and log any parse failures for review. Run the calibration prompt at the start of each evaluation batch and compare the judge's scores on held-out calibration examples against human ground truth. If the mean absolute error exceeds your threshold (commonly 0.5 on a 5-point scale), flag the judge for recalibration or human review before trusting batch results. Store calibration metadata—example IDs, human scores, judge scores, and drift metrics—alongside evaluation results for auditability.

Model choice matters here. Use a model with strong instruction-following and consistent scoring behavior, such as GPT-4, Claude 3.5 Sonnet, or Gemini 1.5 Pro. Avoid smaller or cheaper models for calibration unless you've validated their score stability across runs. Set temperature to 0 or near-zero to reduce variance. Implement a retry policy: if the model returns an unparseable score or refuses to score, retry once with the same prompt. If the second attempt fails, log the failure, exclude that item from batch results, and alert the evaluation pipeline owner. For high-stakes evaluation pipelines—such as those gating model releases or measuring production quality—require human review of calibration drift alerts and maintain a rotating set of calibration examples to prevent overfitting to a fixed few-shot set.

The calibration prompt should be versioned alongside your evaluation code. When you update the prompt, re-baseline against your human-annotated calibration set and document any score distribution shifts. If calibration scores drift after a model provider update, run a pairwise comparison between the old and new judge outputs on the same calibration set to diagnose whether the drift is systematic (requiring recalibration) or random (requiring a model rollback). Avoid running calibration once and caching the results indefinitely—recalibrate at the start of each evaluation run or at minimum daily for continuous monitoring pipelines. The next step after calibration is to feed the calibrated scoring instructions into your batch faithfulness evaluation prompt, using the same scale and criteria the judge just aligned to.

IMPLEMENTATION TABLE

Expected Output Contract

Each field the Faithfulness Score Calibration Prompt must return, with its required type, presence rules, and a concrete validation check you can run in your eval harness before accepting the score.

Field or ElementType or FormatRequiredValidation Rule

calibrated_faithfulness_score

float (0.0–1.0)

Must be a number; parse as float; reject if <0.0 or >1.0; reject if non-numeric string

score_rationale

string

Must be non-empty after trimming; length >= 20 characters; must reference at least one few-shot example ID from the prompt

confidence_level

string enum: [high, medium, low]

Must be exactly one of the allowed enum values; case-sensitive; reject any other value

alignment_with_human_anchor

float (0.0–1.0)

Must be a number; parse as float; reject if <0.0 or >1.0; must be present even if confidence is low

drift_flags

array of strings

If present, must be a JSON array; each element must be a non-empty string; null allowed if no drift detected

few_shot_exemplar_ids_used

array of strings

Must be a non-empty JSON array; each element must match an example ID provided in the prompt; reject if empty or contains unknown IDs

calibration_batch_id

string

Must be non-empty; must match the batch identifier supplied in [CALIBRATION_BATCH_ID]; reject on mismatch

human_review_recommended

boolean

Must be true if confidence_level is low or drift_flags is non-empty; validate logical consistency; reject if missing

PRACTICAL GUARDRAILS

Common Failure Modes

Faithfulness score calibration fails silently. These are the most common failure modes when aligning LLM judges with human groundedness ratings, and the practical checks that prevent them.

01

Judge Drift Across Evaluation Runs

What to watch: The LLM judge's scoring distribution shifts over time, even when the underlying model and prompt haven't changed. This happens because the judge latches onto surface patterns in the few-shot examples rather than the rubric definitions. Guardrail: Pin the calibration prompt with a fixed set of anchor examples that span the full score range. Run a distribution check before each eval batch—if the mean or variance of scores on anchor examples shifts by more than 0.3 on your scale, halt and recalibrate.

02

Human-Annotated Gold Set Contamination

What to watch: The few-shot examples used for calibration contain subtle annotation errors, inconsistent severity judgments, or rater fatigue artifacts. The LLM judge learns these errors and reproduces them systematically. Guardrail: Require double annotation with inter-rater reliability metrics for every example in the calibration set. Flag any example where annotators disagreed by more than one point on the scale. Remove or re-adjudicate before inclusion.

03

Score Compression Toward the Middle

What to watch: The judge avoids extreme scores, clustering outputs around 3 on a 1-5 scale. This masks real quality differences and makes pass/fail gating unreliable. Guardrail: Include calibration examples that demonstrate clear 1s and 5s with unambiguous reasoning. Add an explicit instruction: 'Do not default to the middle of the scale. Use the full range when evidence supports it.' Monitor score distribution entropy after each run.

04

Surface Fluency Confused with Faithfulness

What to watch: The judge rewards well-written, confident-sounding outputs even when they contain unsupported claims. Polished prose masks factual gaps. Guardrail: Include a counterexample pair in calibration where the fluent but unfaithful output receives a low score and the awkward but grounded output receives a high score. Add rubric language: 'Evaluate factual alignment with source material, not writing quality or tone.'

05

Partial Support Over-Scoring

What to watch: The judge assigns high faithfulness scores when only some claims are supported, ignoring unsupported or contradicted claims in the same output. Guardrail: Require the judge to enumerate each claim and score grounding individually before producing an aggregate score. Add a calibration rule: 'If any material claim is unsupported or contradicted, the maximum aggregate score is 2 on a 5-point scale.'

06

Source Length Bias in Scoring

What to watch: The judge penalizes outputs when the source document is long, because scanning fatigue causes it to miss supporting evidence buried in later passages. Guardrail: Chunk source material into manageable sections and require the judge to cite the specific passage that supports or contradicts each claim. If no passage is cited, treat the claim as unverified. Test calibration stability across short, medium, and long source documents.

IMPLEMENTATION TABLE

Evaluation Rubric

Use this rubric to calibrate an LLM judge's faithfulness scores against human-annotated ground truth. Each criterion targets a specific failure mode that causes judge drift in production.

CriterionPass StandardFailure SignalTest Method

Score alignment with human labels

Judge score is within ±0.5 of human score on ≥90% of calibration examples

Judge consistently overrates or underrates faithfulness relative to human baseline

Run judge against [CALIBRATION_SET] of ≥50 human-annotated examples; compute MAE and correlation

Few-shot example sensitivity

Adding or removing one few-shot example changes judge score by ≤0.3 on average

Judge score swings >0.5 when a single borderline example is added to the prompt

Ablation test: remove each few-shot example one at a time; measure score variance across [TEST_SAMPLE]

Hallucination detection recall

Judge flags ≥95% of known-hallucinated claims in [HALLUCINATION_TEST_SET]

Judge marks fabricated claims as grounded or assigns confidence ≥0.7 to false statements

Run judge on [HALLUCINATION_TEST_SET] with known ground-truth labels; compute recall and false-negative rate

Supported claim precision

Judge correctly identifies ≥90% of known-supported claims as grounded

Judge labels verifiably supported claims as unsupported or ambiguous

Run judge on [SUPPORTED_CLAIM_SET]; compute precision and false-positive rate

Ambiguous claim handling

Judge assigns confidence ≤0.6 to claims where human annotators disagreed

Judge assigns high confidence to claims with known inter-annotator disagreement

Select claims from [CALIBRATION_SET] with human agreement <0.7; verify judge confidence distribution

Score consistency across runs

Identical input produces identical score ±0.1 on 5 repeated runs with temperature=0

Score varies by >0.2 across identical runs due to nondeterminism

Run judge 5 times on [CONSISTENCY_SAMPLE] at temperature=0; compute max score deviation per example

Evidence-to-claim alignment reasoning

Judge provides specific evidence passage reference for every grounded or unsupported label

Judge outputs labels without citing which evidence passage supports or fails to support the claim

Parse judge output for [EVIDENCE_REFERENCE] field; verify non-null for all non-abstention labels

Abstention appropriateness

Judge abstains or assigns confidence=null when [INPUT_CONTEXT] is empty or irrelevant

Judge assigns grounded/ungrounded labels when no evidence is provided

Run judge on [NO_EVIDENCE_SET]; verify abstention rate ≥95%

ADAPTATION OPTIONS

Adapt This Prompt

How to adapt

Start with the base prompt and 3-5 few-shot examples covering clear grounded, unsupported, and contradicted cases. Use a simple 1-5 scale without detailed rubric anchors. Skip schema enforcement initially—accept natural-language scores and parse them loosely. Run against 20-30 known outputs and compare to human ratings to gauge rough alignment before investing in calibration infrastructure.

Watch for

  • Judge using the full 1-5 range vs. collapsing to 3 for everything
  • Few-shot examples leaking into scoring behavior in unintended ways
  • No baseline human agreement rate to compare against
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.