This prompt is built for teams embedding automated verification into content pipelines where every factual assertion must be traced to a source. Use it when you have a model-generated output or human-authored content that needs claim-by-claim auditing against a known reference document. The ideal user is an AI engineer, QA lead, or compliance reviewer who is integrating a verification gate into a CI/CD pipeline, a content management system, or a regression test suite. The required context is a complete, authoritative reference document and a target text to audit. The job-to-be-done is not to generate new answers, but to produce a structured, evidence-backed audit report that measures deviation from a known source of truth.
Prompt
Reference-Backed Claim Verification Prompt Template

When to Use This Prompt
Defines the ideal job-to-be-done, user, and context for the Reference-Backed Claim Verification Prompt, and clarifies when not to use it.
This is not a RAG answer-generation prompt. It is a post-hoc verification tool. Do not use it when you need the model to synthesize an answer from multiple retrieved documents, when no single authoritative reference exists, or when the goal is open-ended creative generation. It is also a poor fit for real-time chat moderation where latency constraints preclude a detailed claim-by-claim analysis. If your workflow requires evaluating whether a response is helpful, tonally appropriate, or stylistically consistent without a ground-truth reference, use a rubric-based LLM judge instead. This prompt assumes that deviation from the reference is measurable and that unsupported claims are failures.
Before wiring this into a production pipeline, ensure you have a reliable method for providing the reference document in the prompt context. If the reference is too long for a single context window, you must implement a chunking and reconciliation strategy outside the prompt. The output of this prompt should feed into a structured logging system, a human review queue for flagged claims, or an automated gate that blocks publication when the confidence score falls below a defined threshold. Start by running this against a golden dataset of known-correct and known-incorrect claim sets to calibrate your confidence thresholds before relying on it in production.
Use Case Fit
Where the Reference-Backed Claim Verification Prompt Template delivers reliable, auditable results—and where it creates risk, cost, or operational drag without the right supporting infrastructure.
Good Fit: Evidence-Heavy Content Pipelines
Use when: you are generating or reviewing content where every factual claim must be traceable to a source document. Guardrail: Require the prompt to output claim-level source spans, not just document-level citations, so downstream reviewers can verify without re-reading entire documents.
Good Fit: Pre-Publication Fact-Checking
Use when: human editors need a structured audit trail before content goes live. Guardrail: Route all claims flagged with confidence: low or evidence: insufficient to a human review queue before publication. Never auto-publish unverified claims.
Bad Fit: Real-Time Chat Without Source Access
Avoid when: the model must respond in sub-second latency without a pre-loaded reference corpus. Risk: The prompt will either hallucinate citations or produce evidence: insufficient for most claims, degrading user experience. Guardrail: Use a lighter factuality check or abstention prompt instead.
Bad Fit: Subjective or Opinion-Based Content
Avoid when: the output is analysis, interpretation, or creative work without a single authoritative reference. Risk: The prompt will penalize legitimate interpretation as unsupported or force false precision. Guardrail: Switch to a rubric-based evaluation prompt that scores reasoning quality rather than reference alignment.
Required Inputs: Reference Document and Claim Set
What you must provide: a complete reference text and the claims to verify. Partial references produce false negatives. Guardrail: Validate that the reference is loaded in full before invoking the prompt. Truncated context is the top cause of incorrect unsupported flags.
Operational Risk: Reference Drift Over Time
What to watch: reference documents change, but verification prompts may run against stale versions. Guardrail: Version-lock references with a hash or timestamp, and trigger re-verification when the source document updates. Stale references produce audit failures that look like model errors.
Copy-Ready Prompt Template
A production-ready prompt template for verifying claims against reference evidence with confidence scores and human-review flags.
This template is designed to be dropped directly into your evaluation harness. It instructs the model to extract every factual claim from a target text, locate supporting or contradicting evidence in a provided reference, and produce a structured audit report. The output includes per-claim verdicts, explicit source spans, confidence scores, and a clear flag for claims that require human review. Replace every square-bracket placeholder with your actual inputs before sending this to the model. The template assumes you have already retrieved or provided the reference material; it does not perform retrieval itself.
textYou are a meticulous claim verification auditor. Your task is to compare a target text against a reference document and produce a structured audit report. ## INPUT **Target Text:** [INPUT_TEXT] **Reference Document:** [REFERENCE_TEXT] ## INSTRUCTIONS 1. Extract every discrete factual claim from the Target Text. A claim is a statement that can be verified as true, false, or unverifiable against the Reference Document. 2. For each claim, search the Reference Document for evidence that supports, contradicts, or fails to address the claim. 3. Assign a verdict to each claim: - **SUPPORTED**: The Reference Document contains explicit evidence confirming the claim. - **CONTRADICTED**: The Reference Document contains explicit evidence that conflicts with the claim. - **UNVERIFIABLE**: The Reference Document does not contain sufficient evidence to confirm or contradict the claim. 4. Assign a confidence score from 0.0 to 1.0 for each verdict, where 1.0 means the evidence is unambiguous and directly on point. 5. For SUPPORTED and CONTRADICTED claims, include the exact source span from the Reference Document that serves as evidence. 6. Flag any claim for human review if: - The confidence score is below [CONFIDENCE_THRESHOLD] - The claim involves [HIGH_RISK_DOMAINS] - The evidence is ambiguous or requires specialized interpretation ## OUTPUT FORMAT Return a JSON object with the following structure: { "audit": { "target_text_id": "[TEXT_ID]", "reference_document_id": "[REF_ID]", "total_claims_extracted": <integer>, "claims": [ { "claim_id": <integer>, "claim_text": "<exact claim from target text>", "verdict": "SUPPORTED | CONTRADICTED | UNVERIFIABLE", "confidence": <float 0.0-1.0>, "evidence_span": "<exact quote from reference> | null", "evidence_location": "<section or paragraph reference> | null", "reasoning": "<brief explanation of verdict>", "requires_human_review": <boolean>, "human_review_reason": "<reason if flagged> | null" } ], "summary": { "supported_count": <integer>, "contradicted_count": <integer>, "unverifiable_count": <integer>, "human_review_count": <integer>, "overall_reliability_score": <float 0.0-1.0> } } } ## CONSTRAINTS - Do not fabricate evidence. If the Reference Document does not address a claim, mark it UNVERIFIABLE. - Do not omit claims. Extract every factual assertion, including implicit ones. - Do not paraphrase claim_text. Use the exact wording from the Target Text. - If the Target Text contains no factual claims, return an empty claims array with total_claims_extracted set to 0. - If the Reference Document is empty or missing, mark all claims as UNVERIFIABLE with confidence 0.0.
Adaptation guidance: Replace [INPUT_TEXT] with the content you want to audit, and [REFERENCE_TEXT] with your ground-truth document. Set [CONFIDENCE_THRESHOLD] to a value like 0.7 for moderate sensitivity or 0.9 for high precision. [HIGH_RISK_DOMAINS] should be a comma-separated list such as medical advice, legal interpretation, financial projections. The [TEXT_ID] and [REF_ID] fields are for your own traceability. If your model does not reliably produce valid JSON, pair this prompt with a structured output API parameter or a post-generation JSON repair step. For regulated domains, always route flagged claims to a human reviewer before any downstream action.
Prompt Variables
Each placeholder must be populated before the prompt is sent to the model. Validation notes describe what the model expects and how to prevent common input failures.
| Placeholder | Purpose | Example | Validation Notes |
|---|---|---|---|
[CLAIM_TEXT] | The full text containing assertions to verify against the reference | The new pricing model reduces costs by 15% for enterprise customers. | Must be non-empty string; max 5000 chars; strip leading/trailing whitespace; reject if only punctuation or whitespace |
[REFERENCE_DOCUMENT] | The authoritative source text against which claims are checked | Q3 2024 Pricing Update: Enterprise tier base cost reduced from $100/seat to $85/seat effective November 1. | Must be non-empty string; should contain factual statements; flag if reference is shorter than claim text; reject if identical to claim text |
[CLAIM_SCHEMA] | JSON schema defining the expected output structure for each extracted claim | {"claim_id": "string", "claim_text": "string", "verification_status": "enum", "evidence_span": "string", "confidence": "float"} | Must be valid JSON; must include verification_status enum with values SUPPORTED, UNSUPPORTED, CONTRADICTED, UNVERIFIABLE; must include confidence field with range 0.0-1.0 |
[CONFIDENCE_THRESHOLD] | Minimum confidence score required before a claim can be auto-marked as verified | 0.85 | Must be float between 0.0 and 1.0; values below 0.7 produce high false-positive rates; values above 0.95 may cause excessive human-review flags; default 0.8 if not specified |
[MAX_CLAIMS] | Upper limit on number of claims extracted from the input text | 15 | Must be positive integer; recommended range 5-25; exceeding 25 risks token overflow in evidence-span extraction; set lower for latency-sensitive pipelines |
[REQUIRE_EVIDENCE_SPAN] | Boolean flag controlling whether the model must quote the exact reference text supporting each claim | Must be boolean true or false; when true, model must return exact substring from reference; when false, model may paraphrase evidence location; set true for audit and compliance workflows | |
[HUMAN_REVIEW_TRIGGERS] | Array of conditions that force a claim into a human-review queue regardless of confidence | ["CONTRADICTED", "UNVERIFIABLE", "confidence < 0.7"] | Must be valid JSON array of strings; allowed values: SUPPORTED, UNSUPPORTED, CONTRADICTED, UNVERIFIABLE, or confidence threshold expressions; empty array disables forced review; null defaults to CONTRADICTED and UNVERIFIABLE only |
Implementation Harness Notes
How to wire the Reference-Backed Claim Verification prompt into an application or evaluation pipeline with validation, retries, and human review gates.
The Reference-Backed Claim Verification prompt is designed to operate as a structured audit step inside a content pipeline, not as a standalone chat interaction. The typical integration point is after a model generates content and before that content reaches a human reviewer or end user. The harness must supply the prompt with a complete [CLAIMS_LIST] extracted from the generated output, a [REFERENCE_TEXT] containing the authoritative source material, and a [VERIFICATION_SCHEMA] that defines the expected JSON output shape. The prompt returns a claim-level audit with confidence scores, evidence spans, and flags for human review. This output should be treated as a machine-readable signal, not a final decision.
Validation and retry logic is critical because the prompt produces structured JSON that downstream systems consume. Implement a JSON schema validator that checks for required fields (claim_id, verdict, confidence, evidence_span, explanation, requires_human_review) and correct types before accepting the response. If validation fails, retry up to two times with the same inputs and an added instruction to fix the specific schema error. After two retries, escalate the entire batch to a human review queue. For high-throughput pipelines, consider batching claims into groups of 5-10 to keep individual prompt calls fast and retry scope small. Log every verification attempt with the model name, prompt version, input claims, raw output, validation result, and retry count for auditability.
Model choice and tool integration depend on the risk level of the content domain. For low-risk content (e.g., internal documentation drafts), a fast model like GPT-4o-mini or Claude Haiku with temperature set to 0 is sufficient. For regulated domains (e.g., clinical summaries, financial reports, legal content), use a more capable model like GPT-4o or Claude Sonnet, set temperature=0, and route all requires_human_review: true claims to a dedicated review interface. If your pipeline already uses retrieval-augmented generation, the [REFERENCE_TEXT] should be the same retrieved context that the generation model used, ensuring consistency between what the model saw and what gets verified. Do not use this prompt as a substitute for source retrieval—it verifies claims against provided evidence, it does not search for evidence independently.
Human review integration is the most important architectural decision. Claims flagged with requires_human_review: true and confidence below 0.7 should appear in a review queue with the original claim, the reference evidence span, and the model's explanation pre-filled. The reviewer should be able to confirm, overturn, or amend the verdict with a single click, and that human decision should be logged as ground truth for future eval calibration. Over time, track the rate of human overrides by claim type and evidence source to identify systematic weaknesses in either the generation model or the verification prompt. If the override rate exceeds 15% for any category, that's a signal to update the verification prompt, improve the reference material, or add few-shot examples for that claim type.
Evaluation and monitoring should run continuously, not just at deployment time. Maintain a golden dataset of 50-100 claim-reference pairs with known-correct verdicts, and run the verification prompt against this dataset weekly or on every prompt version change. Measure precision, recall, and F1 for each verdict category (SUPPORTED, UNSUPPORTED, CONTRADICTED). Track confidence calibration by comparing predicted confidence against actual correctness—a well-calibrated prompt should have high confidence for correct verdicts and low confidence for errors. Set an alert if F1 drops below 0.85 or if the human override rate spikes after a model or prompt update. This prompt is a product component, and it needs the same operational rigor as any other production service.
Expected Output Contract
Defines the structured JSON payload the model must return for each claim verification. Use this contract to validate responses before they enter downstream pipelines or human review queues.
| Field or Element | Type or Format | Required | Validation Rule |
|---|---|---|---|
verification_id | string (UUID v4) | Must match regex pattern for UUID v4. Reject if missing or malformed. | |
claim_text | string | Must be a non-empty string exactly matching the claim under review. Reject if null or empty. | |
verification_status | enum: supported | contradicted | unsupported | partially_supported | Must be one of the four allowed enum values. Reject on any other string or null. | |
confidence_score | number (0.0 to 1.0) | Must be a float between 0.0 and 1.0 inclusive. Reject if out of range, non-numeric, or null. Flag for human review if below 0.7. | |
source_evidence | array of objects | Must be a non-empty array if status is supported or partially_supported. Each object must contain source_id, excerpt, and relevance fields. Reject if array is empty when evidence is required. | |
source_evidence[].source_id | string | Must match a source_id provided in the [REFERENCE_SOURCES] input. Reject if source_id is not found in the input set. | |
source_evidence[].excerpt | string | Must be a non-empty string containing the verbatim text from the source. Reject if empty or if excerpt cannot be located in the referenced source via substring match. | |
source_evidence[].relevance | enum: direct | indirect | contextual | Must be one of the three allowed enum values. Reject on any other string or null. | |
contradiction_details | object or null | Required when status is contradicted. Must contain conflicting_excerpt and explanation fields. Allow null for non-contradicted claims. Reject if present but missing required sub-fields. | |
missing_information | array of strings | List of specific facts or context missing from sources that prevented full verification. Allow empty array. Reject if contains null or non-string elements. | |
human_review_required | boolean | Must be true if confidence_score is below [CONFIDENCE_THRESHOLD] or if verification_status is unsupported. Reject if false when conditions for escalation are met. | |
review_reason | string or null | Required when human_review_required is true. Must contain a non-empty explanation of why escalation is needed. Allow null when human_review_required is false. |
Common Failure Modes
Reference-backed claim verification fails in predictable ways. These are the most common production failure modes and the practical checks that catch them before they reach users.
Source-claim misalignment
What to watch: The model cites a source that exists but doesn't actually support the claim. The citation looks plausible but the evidence span is about a different topic, a different entity, or a different time period. Guardrail: Require span-level grounding in the prompt—ask the model to quote the exact sentence from the source that supports each claim. Run a secondary groundedness check comparing the claim to the quoted span.
Confidence inflation on weak evidence
What to watch: The model assigns HIGH confidence to claims backed by thin, tangential, or outdated sources. This happens when the prompt rewards finding any source rather than finding the right source. Guardrail: Add explicit confidence calibration rules to the prompt—require the model to assess source authority, recency, and directness before assigning confidence. Log cases where confidence is HIGH but source quality is LOW for human review.
Silent omission of unsupported claims
What to watch: The model drops claims it can't verify instead of flagging them as UNVERIFIED. The output looks clean but hides information gaps that the user needed to know about. Guardrail: Structure the output schema to require an explicit entry for every input claim, even when no evidence is found. Use a required status field with values like VERIFIED, UNVERIFIED, CONTRADICTED, and NO_EVIDENCE_FOUND.
Hallucinated source metadata
What to watch: The model fabricates plausible-looking titles, authors, dates, or URLs when it can't find a real source. This is especially dangerous in regulated domains where fabricated citations create audit trail problems. Guardrail: Require the model to mark whether each source was provided in the input context or retrieved externally. For externally retrieved sources, run a separate verification step that checks existence before the output reaches the user.
Context window truncation breaking verification
What to watch: Long documents or many claims push the reference material out of the context window mid-verification. The model starts verifying claims against nothing or against stale context, producing confident but wrong results. Guardrail: Chunk the verification task by claim group rather than processing all claims in one request. Add a context-presence check at the start of each chunk to confirm the reference material is still in-window before verification begins.
Ambiguous claims passing verification
What to watch: Vague or poorly scoped claims match loosely against reference material because the model interprets both generously. A claim like 'the system is fast' matches a source saying 'response times improved' even though no speed measurement exists. Guardrail: Add a claim specificity pre-check before verification. Reject or flag claims that lack measurable criteria, specific entities, or time boundaries. Require the model to state what specific evidence would be needed to verify the claim before searching for it.
Evaluation Rubric
Criteria for testing the Reference-Backed Claim Verification prompt before production deployment. Each row defines a pass standard, a failure signal to watch for, and a concrete test method.
| Criterion | Pass Standard | Failure Signal | Test Method |
|---|---|---|---|
Claim Extraction Completeness | All factual claims in [INPUT_TEXT] are extracted; no claim is invented | Extracted claims include statements not present in the source text | Diff extracted claims against a human-annotated claim list for 20 samples |
Source Evidence Grounding | Every claim marked as VERIFIED includes a direct quote from [REFERENCE_MATERIAL] that supports it | VERIFIED claim has a quote that is paraphrased, tangential, or from a different source | Spot-check 10 VERIFIED claims per output; confirm quote exists verbatim in reference |
Unsupported Claim Detection | Claims without evidence in [REFERENCE_MATERIAL] are marked UNSUPPORTED, not VERIFIED or REFUTED | Claim with no reference evidence is incorrectly marked VERIFIED | Inject 5 claims absent from reference into test input; check all are flagged UNSUPPORTED |
Refutation Accuracy | Claims directly contradicted by [REFERENCE_MATERIAL] are marked REFUTED with the contradicting evidence quoted | REFUTED claim cites evidence that does not actually contradict the claim | Insert 3 claims with known contradictions; verify REFUTED label and quote accuracy |
Confidence Score Calibration | CONFIDENCE scores of 0.9+ only appear when evidence is explicit and unambiguous | CONFIDENCE of 0.95 assigned to a claim supported by weak or ambiguous evidence | Run 50 claims with known evidence quality; check correlation between score and evidence strength |
Output Schema Compliance | Output is valid JSON matching [OUTPUT_SCHEMA] with all required fields present and correctly typed | Missing claims array, malformed confidence field, or extra unexpected top-level keys | Validate output against JSON Schema in CI; reject any parse failure or schema violation |
Abstention on Non-Factual Content | Opinions, speculation, and subjective statements are marked EXCLUDED or omitted from claims list | Opinion statement extracted as a factual claim and assigned a VERIFIED or REFUTED label | Include 5 opinion sentences in test input; verify none appear as factual claims in output |
Human Review Escalation | Claims with CONFIDENCE below [ESCALATION_THRESHOLD] appear in human_review_queue with reason | Low-confidence claim missing from human_review_queue or present without explanation | Set threshold to 0.7; verify all claims below threshold appear in queue with non-empty reason field |
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
Start with the base template and a small set of 5–10 known claims. Remove the [OUTPUT_SCHEMA] block and ask for a simple JSON list of claim, verdict, and evidence_summary. Use a single reference document passed inline.
codeVerify each claim in [CLAIMS_LIST] against [REFERENCE_TEXT]. Return JSON: [{"claim": "...", "verdict": "supported|unsupported|contradicted", "evidence_summary": "..."}]
Watch for
- Missing schema checks leading to inconsistent JSON shapes
- Overly broad instructions that produce narrative instead of structured output
- No confidence scoring, making it hard to triage borderline cases

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