Inferensys

Prompt

Claim-by-Claim Faithfulness Audit Prompt Template

A practical prompt playbook for decomposing generated answers into individual factual claims, checking each claim against provided evidence, and returning a structured audit with support verdicts. Designed for evaluation engineers and AI quality teams building grounding verification pipelines.
QA engineer performing AI quality assurance on laptop, test results visible, casual technical debugging session.
PROMPT PLAYBOOK

When to Use This Prompt

A practical guide for evaluation engineers and AI quality teams on when to deploy the claim-by-claim faithfulness audit in a production pipeline.

This prompt is for evaluation engineers and AI quality teams who need to verify whether a generated answer is fully supported by the provided evidence. Use it when you need a structured, claim-level audit that decomposes an answer into atomic factual statements and checks each one independently against source material. The ideal user is someone operating a RAG pipeline, summarization system, or content generation workflow who already has a candidate answer and a set of evidence passages and needs a machine-readable audit report before that answer reaches a user or a downstream system.

This is not a prompt for generating answers. It is a verification prompt that sits downstream from your generation step. You should use it when the cost of an unsupported claim is high—for example, in regulated domains, customer-facing factual products, or any system where hallucination directly erodes user trust. It is also the right tool when you need to calibrate human annotators, run regression tests on a golden dataset, or feed a production guardrail that blocks or flags unfaithful outputs. The prompt assumes you have already retrieved evidence and generated an answer; it does not perform retrieval or generation itself.

Do not use this prompt when you need a single holistic faithfulness score without claim-level granularity—use a rubric-based LLM judge instead. Do not use it when your evidence set is empty or when the answer is purely subjective, stylistic, or conversational with no factual claims to audit. Avoid this prompt if your latency budget is extremely tight and you cannot afford an extra model call per answer; in those cases, consider a lighter-weight classifier or a streaming guardrail. Finally, do not use this prompt as a substitute for human review in high-stakes decisions where regulatory or safety requirements mandate a person in the loop. The output is a structured audit, not a legal certification.

Before integrating this prompt, ensure you have a clear definition of what constitutes a 'claim' in your domain and a consistent evidence format. The prompt works best when evidence passages are self-contained and have stable identifiers. If your evidence is messy, truncated, or lacks provenance metadata, the audit quality will degrade. Start by running this prompt against a labeled calibration set to establish baseline agreement with human annotators, then integrate it into your evaluation harness or guardrail pipeline.

PRACTICAL GUARDRAILS

Use Case Fit

Where the Claim-by-Claim Faithfulness Audit prompt works, where it breaks, and what you must have in place before relying on it in a production evaluation pipeline.

01

Good Fit: Structured Evaluation Pipelines

Use when: you have a batch of answer-evidence pairs and need a repeatable, claim-level audit for offline evaluation, regression testing, or inter-annotator calibration. Guardrail: run this prompt inside an eval harness that logs verdicts per claim, not just a final score.

02

Bad Fit: Real-Time Guardrails

Avoid when: you need sub-second hallucination detection before a response is streamed to a user. Decomposing answers into claims and checking each against evidence adds latency. Guardrail: use a lightweight NLI classifier for real-time; reserve this prompt for async audit and batch QA.

03

Required Inputs

Must have: a complete generated answer and the exact evidence set provided to the generator. Missing or truncated evidence produces false 'unsupported' flags. Guardrail: validate that evidence payloads are complete and unredacted before running the audit.

04

Operational Risk: Claim Boundary Errors

What to watch: the model may split a single claim into fragments or merge distinct claims, causing misattribution. Guardrail: include few-shot examples of correct claim decomposition and validate claim count against expected answer complexity.

05

Operational Risk: Evidence Misalignment

What to watch: the audit may flag a claim as unsupported because the evidence is semantically equivalent but lexically different. Guardrail: calibrate with a 'partially grounded' tier and run inter-annotator agreement checks between model audits and human reviewers.

06

Not a Replacement for Human Review

What to watch: teams treating the audit output as ground truth without spot-checking. Model audits can miss subtle fabrications or over-flag stylistic paraphrasing. Guardrail: sample 10-20% of audits for human review, especially in regulated domains.

PROMPT PLAYBOOK

Copy-Ready Prompt Template

A reusable prompt template for decomposing a generated answer into claims and auditing each one against provided evidence.

This template is the core instruction set for the Claim-by-Claim Faithfulness Audit. It instructs the model to act as an evaluation auditor, decompose a generated answer into discrete factual claims, and check each claim against a provided evidence set. The prompt is designed to be copied directly into your evaluation harness, with square-bracket placeholders replaced by your application's runtime values before each call.

text
You are an evaluation auditor performing a claim-by-claim faithfulness audit. Your task is to decompose a generated answer into individual factual claims and verify each claim against the provided evidence.

## INPUT

**Generated Answer:**
[ANSWER]

**Evidence Set:**
[EVIDENCE]

**Audit Configuration:**
- Claim granularity: [GRANULARITY]
- Minimum support threshold: [SUPPORT_THRESHOLD]
- Output schema: [OUTPUT_SCHEMA]

## INSTRUCTIONS

1. **Decompose** the generated answer into discrete, atomic factual claims. Each claim must be a single verifiable statement. Do not combine multiple facts into one claim.

2. For each claim, **search the evidence set** for direct support, partial support, or contradiction. A claim is:
   - **FULLY_SUPPORTED**: The evidence contains explicit information that confirms the claim.
   - **PARTIALLY_SUPPORTED**: The evidence supports some aspects but not all, or supports a weaker version of the claim.
   - **UNSUPPORTED**: No relevant evidence exists for this claim.
   - **CONTRADICTED**: The evidence directly conflicts with the claim.

3. For each verdict, **cite the exact evidence span** that supports your determination. If no evidence exists, state "No relevant evidence found."

4. **Do not infer** support from related but distinct facts. If the evidence says "the system processes 500 requests per second" and the answer claims "the system handles 500 concurrent users," mark it UNSUPPORTED unless the evidence explicitly equates requests with users.

5. If the evidence set is empty or insufficient to evaluate any claims, return a single audit entry with verdict INSUFFICIENT_EVIDENCE and explain what is missing.

## OUTPUT FORMAT

Return a JSON object matching the schema below. Do not include commentary outside the JSON.

[OUTPUT_SCHEMA]

## CONSTRAINTS

[CONSTRAINTS]

Replace each placeholder before sending the prompt to the model. [ANSWER] should contain the full generated text under audit. [EVIDENCE] should contain the retrieved passages, documents, or source material formatted as plain text with clear source identifiers. [GRANULARITY] controls how finely the model splits claims—use sentence-level for coarse audits or atomic-fact for strict verification. [SUPPORT_THRESHOLD] defines the minimum evidence match required for FULLY_SUPPORTED, typically exact-match or semantic-equivalence. [OUTPUT_SCHEMA] should be a JSON schema defining the expected structure, such as an array of objects with claim_id, claim_text, verdict, evidence_citation, and rationale fields. [CONSTRAINTS] can include domain-specific rules, such as "Do not consider evidence from sources older than 2023" or "Mark any claim involving financial figures as requiring human review if partially supported."

Before deploying this template into a production evaluation pipeline, test it against a golden dataset of answer-evidence pairs with known faithfulness labels. Verify that the model's verdicts align with human annotators and that the decomposition step does not miss compound claims. For high-risk domains, always route CONTRADICTED and UNSUPPORTED verdicts to a human review queue before surfacing results to end users or downstream systems.

IMPLEMENTATION TABLE

Prompt Variables

Required inputs for the Claim-by-Claim Faithfulness Audit prompt. Validate each placeholder before sending to the model to prevent schema violations, hallucinated audits, and silent failures.

PlaceholderPurposeExampleValidation Notes

[GENERATED_ANSWER]

The full text output from the system under evaluation that will be decomposed into claims

The patient's blood pressure improved after starting lisinopril 10mg daily. No adverse effects were reported.

Must be non-empty string. Truncate if longer than model context window minus evidence and instruction tokens. Strip markdown fences before passing.

[EVIDENCE_PASSAGES]

One or more source documents or retrieved passages that should support the answer

PASSAGE 1: Patient started lisinopril 10mg on 2024-01-15. PASSAGE 2: BP readings decreased from 145/90 to 128/82 over 4 weeks.

Must contain at least one passage. Prepend passage IDs for traceability. Validate that evidence is from the same retrieval set used during answer generation, not a different snapshot.

[OUTPUT_SCHEMA]

The exact JSON schema the model must follow for each claim audit object

{"claim_text": "string", "support_verdict": "supported|partially_supported|unsupported|contradicted", "evidence_ids": ["string"], "evidence_quotes": ["string"], "confidence": 0.0-1.0, "explanation": "string"}

Validate schema is valid JSON and includes all required fields. Use strict mode parsing. Reject output that adds extra fields or omits required fields. Schema must match downstream ingestion contract.

[CLAIM_EXTRACTION_INSTRUCTIONS]

Rules for how to split the answer into atomic factual claims

Decompose into single-verifiable claims. Each claim must be independently checkable against evidence. Do not combine multiple facts into one claim.

Must be explicit about atomicity. Include negative example: 'The patient improved and tolerated treatment well' is two claims. Test with multi-clause sentences to verify splitting behavior.

[SUPPORT_VERDICT_DEFINITIONS]

Precise definitions for each support verdict level to calibrate model judgment

supported: All claim elements are directly stated in evidence. partially_supported: Some elements present, some missing. unsupported: No evidence found. contradicted: Evidence directly conflicts.

Definitions must be mutually exclusive. Include edge-case guidance for implicit vs explicit support. Calibrate with 3-5 annotated examples before production use. Inter-annotator agreement should exceed 0.7 kappa.

[EVIDENCE_LINKING_RULES]

Instructions for how to map claims to specific evidence passages and quotes

Cite passage IDs only. Include verbatim quote spans. If multiple passages support a claim, list all. If no passage supports, set evidence_ids to empty array and evidence_quotes to empty array.

Validate that evidence_ids reference actual passage IDs from [EVIDENCE_PASSAGES]. Reject hallucinated IDs. Quote spans must be substring-matchable against source passages for automated verification.

[CONFIDENCE_CALIBRATION_GUIDE]

Rules for assigning confidence scores to each support verdict

0.9-1.0: Direct verbatim support. 0.7-0.89: Strong inferential support. 0.5-0.69: Partial or ambiguous support. Below 0.5: Weak or no support. Never use 0.5 as a default.

Check for default-value bias (all scores at 0.5 or 1.0). Distribution should vary across claims. Calibrate against human confidence annotations on a held-out set before trusting automated scores.

[INTER_ANNOTATOR_CALIBRATION_EXAMPLES]

Few-shot examples showing correct claim decomposition and verdict assignment for calibration

Example 1: Answer 'Drug was effective' with evidence showing BP reduction. Verdict: partially_supported (effectiveness is an interpretation, BP reduction is a fact).

Include 3-5 examples covering supported, unsupported, contradicted, and partially_supported cases. Examples must use same domain as production data. Rotate examples if model overfits to calibration set.

PROMPT PLAYBOOK

Implementation Harness Notes

How to wire the claim-by-claim faithfulness audit prompt into a batch evaluation or production monitoring pipeline.

The claim-by-claim faithfulness audit prompt is designed to operate inside a structured evaluation harness, not as a one-off chat interaction. In production, you will typically run this prompt over hundreds or thousands of answer-evidence pairs, collect structured audit results, and aggregate verdicts into dashboards, regression gates, or inter-annotator calibration reports. The harness is responsible for feeding each pair through the prompt, parsing the JSON output, validating the schema, handling malformed responses, and recording per-claim verdicts for downstream analysis.

Start by defining a batch input schema: each record should contain a unique audit_id, the generated_answer text, and the evidence_passages array with passage_id and content fields. Wrap the prompt call in a retry loop with exponential backoff (3 attempts minimum) and a JSON schema validator that checks for required fields: claim_id, claim_text, verdict (one of supported, partially_supported, unsupported, contradicted), evidence_citation (array of passage_id and quote), and rationale. If validation fails, feed the raw response and the schema errors into a repair prompt that asks the model to fix the output structure without changing the verdicts. Log every raw response, parse failure, and repair attempt for traceability. For high-stakes audits in regulated domains, route all unsupported and contradicted verdicts to a human review queue before accepting them into the final report.

Model choice matters for this workflow. Use a model with strong instruction-following and JSON output discipline—GPT-4o, Claude 3.5 Sonnet, or Gemini 1.5 Pro are reasonable defaults. Avoid smaller or older models that drift toward narrative summaries instead of structured claim decomposition. Set temperature=0 for deterministic audits and response_format to JSON mode if the model supports it. For batch evaluation at scale, parallelize calls across multiple API keys or use a batch API endpoint to reduce cost and latency. Store results in a database with columns for audit_id, claim_id, verdict, evidence_citation, rationale, model_version, prompt_version, and timestamp so you can track drift across prompt iterations and model upgrades. Before shipping a new prompt version, run a regression test against a golden dataset of 50-100 annotated answer-evidence pairs and confirm that verdict agreement with human labels does not degrade.

PRACTICAL GUARDRAILS

Common Failure Modes

What breaks first when auditing faithfulness claim-by-claim and how to guard against it in production.

01

Claim Decomposition Misses Implicit Assertions

What to watch: The model treats compound sentences or presuppositions as single claims, missing embedded factual assertions that lack evidence support. For example, 'The CEO, who joined in 2020, announced the layoffs' contains two claims but is often audited as one. Guardrail: Pre-process answers with a dedicated claim extraction step before the audit prompt. Use few-shot examples showing how to split sentences at conjunctions, relative clauses, and appositives. Validate that the number of extracted claims matches sentence complexity expectations.

02

Evidence-Answer Semantic Drift

What to watch: The audit model accepts paraphrases or inferences as 'supported' when the evidence only implies or suggests the claim rather than directly stating it. This produces false-positive faithfulness scores. Guardrail: Include explicit instruction that 'supported' requires direct statement in evidence, not reasonable inference. Add calibration examples showing the boundary between supported paraphrase and unsupported extrapolation. Use a second verification pass for claims scored as 'partially supported' to catch drift.

03

Temporal and Numerical Imprecision

What to watch: Claims with dates, quantities, percentages, or version numbers are marked as supported when evidence contains approximately correct but imprecise values. 'Revenue grew 15%' marked supported when evidence says 'approximately 14-16% growth.' Guardrail: Add a precision tier to the audit schema: 'exact match,' 'approximate match,' and 'unsupported.' Require exact numerical or temporal alignment for regulated use cases. Flag approximate matches for human review when precision matters.

04

Cross-Source Contamination in Multi-Evidence Audits

What to watch: When multiple evidence passages are provided, the audit model incorrectly combines information from different sources to 'support' a claim that no single source substantiates. A claim about a product launch date is marked supported because one source mentions the product and another mentions the date. Guardrail: Require the audit to cite the specific source passage ID for each supported claim. Add a rule that support must come from a single coherent passage unless the claim explicitly synthesizes multiple sources. Test with deliberately conflicting evidence sets.

05

Negation and Polarity Reversal Blindness

What to watch: The audit model misses when an answer asserts the opposite of what evidence states—claiming 'the policy was approved' when evidence says 'the policy was rejected.' This is the most dangerous failure mode because it produces confident, wrong audit verdicts. Guardrail: Add explicit contradiction-checking instructions with polarity-reversal examples. Implement a separate contradiction detection pass before the main audit. Use a structured output field for 'contradiction_found' with required evidence excerpt when true.

06

Audit Model Over-Deference to Answer Text

What to watch: The audit model inherits the confident tone of the answer and defaults to 'supported' verdicts, especially when the answer is well-written or uses authoritative language. This creates systematic under-detection of unsupported claims. Guardrail: Calibrate with a balanced dataset containing equal numbers of supported and unsupported claims. Include adversarial examples where fluent but false claims are paired with contradictory evidence. Monitor support-rate distributions over time—unexpectedly high support rates signal deference drift.

IMPLEMENTATION TABLE

Evaluation Rubric

Run this rubric against a golden dataset of 50+ answer-evidence pairs with known faithfulness labels. Each criterion targets a specific failure mode observed in production grounding audits.

CriterionPass StandardFailure SignalTest Method

Claim Decomposition Completeness

Every factual assertion in [ANSWER] appears as a discrete claim in the output array. No claim is merged, skipped, or paraphrased into a different meaning.

Output claim count differs from golden-label claim count by more than 10%. A sentence containing two distinct facts is reported as a single claim.

Compare claim array length and text spans against human-annotated decomposition. Flag mismatches where a claim boundary is missing or fused.

Evidence Support Verdict Accuracy

Each claim receives a correct verdict of SUPPORTED, PARTIALLY_SUPPORTED, UNSUPPORTED, or CONTRADICTED when compared to the golden label for that claim.

A SUPPORTED claim is labeled UNSUPPORTED, or a CONTRADICTED claim is labeled SUPPORTED. Verdict disagreement on more than 5% of claims across the dataset.

Compute per-claim verdict agreement against human labels. Treat PARTIALLY_SUPPORTED vs UNSUPPORTED confusion as a partial miss. Require Cohen's kappa >= 0.8 against majority annotator.

Evidence Span Citation Precision

Each SUPPORTED or PARTIALLY_SUPPORTED claim cites a specific evidence passage or span from [EVIDENCE] that contains the supporting fact. The cited span is the minimal required excerpt.

Citation points to a passage that does not contain the claimed fact. Citation is missing for a SUPPORTED verdict. Citation is overly broad, exceeding 3 sentences without clear relevance.

For each SUPPORTED claim, verify the cited span is present in [EVIDENCE] and semantically entails the claim. Use substring match plus an independent entailment check.

Contradiction Detection

Every claim that directly conflicts with [EVIDENCE] is labeled CONTRADICTED with the conflicting evidence excerpt included.

A claim that inverts a fact from the evidence (e.g., 'increased' vs 'decreased') is labeled SUPPORTED or UNSUPPORTED instead of CONTRADICTED. Missing contradiction excerpt.

Inject 10 known contradiction pairs into the golden set. Require 100% recall on contradiction detection. Measure precision of contradiction excerpts against ground-truth conflicting spans.

Abstention on Unverifiable Claims

Claims that cannot be verified from [EVIDENCE] because the topic is absent are labeled UNSUPPORTED, not PARTIALLY_SUPPORTED. The output includes a null or empty evidence citation.

A claim about a topic entirely missing from [EVIDENCE] receives PARTIALLY_SUPPORTED with a weakly related citation. Model hallucinates a supporting passage.

Include 15 claims in the golden set where the topic is absent from evidence. Require UNSUPPORTED verdict rate >= 95%. Flag any non-null citation on these claims as a hallucination.

Output Schema Compliance

The output is valid JSON matching [OUTPUT_SCHEMA]. Every required field is present. Enum values match allowed sets exactly. No extra keys.

Missing required field. Enum value outside allowed set. Trailing text after JSON closing brace. Nested object where array is expected.

Validate output with a JSON Schema validator configured to reject additional properties. Run schema check as a pre-filter before any content evaluation. Fail the sample if schema validation fails.

Inter-Annotator Calibration Drift

Model verdicts remain stable across a holdout calibration set of 20 samples when the prompt or model version changes. No unexplained shift in SUPPORTED rate.

SUPPORTED rate shifts by more than 8 percentage points on the calibration set without a corresponding change in evidence quality. New model version over-triggers CONTRADICTED.

Run the prompt against a fixed calibration set on every change. Track per-verdict distribution. Alert if any verdict proportion moves outside the established control range from the baseline run.

ADAPTATION OPTIONS

Adapt This Prompt

How to adapt

Add schema validation, retry logic, structured logging, and a batch evaluation harness. Run the audit across a golden dataset of answer-evidence pairs with known faithfulness labels. Compare model verdicts against human annotations to measure inter-annotator agreement. Store claim-level verdicts for dashboard ingestion and drift monitoring.

Prompt modification

  • Add strict [OUTPUT_SCHEMA] with required fields: claim_id, claim_text, verdict, evidence_excerpt, confidence, rationale.
  • Include [CALIBRATION_EXAMPLES] with 3–5 labeled claim-evidence pairs covering supported, unsupported, and contradicted cases.
  • Add a [CONSTRAINTS] block: "Return ONLY valid JSON. No markdown fences. If evidence is ambiguous, set verdict to 'uncertain' and explain in rationale."
  • Wire the prompt into a retry loop: on schema validation failure, re-prompt with the validation error message appended to [CONTEXT].

Watch for

  • Silent format drift when the model wraps JSON in markdown fences despite instructions.
  • Confidence scores that don't correlate with actual correctness—calibrate against human labels.
  • Missing human review for high-severity flags (contradicted claims, safety-relevant content).
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.