Inferensys

Prompt

Multi-Source Claim Verification Prompt

A practical prompt playbook for using Multi-Source Claim Verification Prompt in production AI workflows.
Developer designing multi-agent workflow on laptop, architecture diagram on screen, casual home office setup with afternoon light.
PROMPT PLAYBOOK

When to Use This Prompt

Defines the precise job-to-be-done, ideal user, required context, and operational boundaries for the Multi-Source Claim Verification Prompt.

This prompt is designed for a single, high-stakes task: assessing whether a specific claim is supported, contradicted, or unaddressed by a provided set of evidence passages. It is a calibration instrument, not a conversational agent. The ideal user is an AI engineer or product developer building a fact-checking pipeline, a RAG system with a verification guardrail, or an internal tool that must flag unsubstantiated statements before they reach a user. The required context is a pre-retrieved set of evidence passages and a single, atomic claim to verify. This prompt belongs in the narrow window after retrieval and before any answer generation, publication, or decision record is created. It is not a substitute for a retrieval query generator, a general question-answering prompt, or a human editorial review process in domains where safety or compliance are paramount.

You should use this prompt when the cost of an unverified claim is high—for example, in financial analysis, medical information systems, legal research, or any product where user trust depends on demonstrated accuracy. The prompt is structured to produce a machine-readable verification verdict with per-source support levels, an aggregate confidence score, and a narrative explanation of agreement or disagreement patterns. This structured output is designed to be consumed by downstream logic: a high-confidence 'contradicted' verdict can block a response, while an 'unaddressed' verdict can trigger a new retrieval loop or a human review queue. The prompt assumes that the evidence passages are already retrieved and relevant; it does not perform its own retrieval or assess the quality of the retrieval step. If your passages are noisy, off-topic, or insufficient, the prompt will faithfully report that the claim is unaddressed, which is the correct and safe behavior.

Do not use this prompt as a general-purpose fact-checker that searches the web or relies on the model's internal knowledge. It is explicitly designed to be evidence-grounded, meaning it must only reason over the provided passages. Using it without supplying evidence will produce unreliable results. Do not use it to verify multiple claims in a single call; the atomic design ensures that each claim gets a focused assessment, and batching claims will degrade the per-claim analysis. Finally, do not treat the output as a final, publishable verdict in high-stakes domains without human review. The prompt is a powerful filter and triage tool, but it is not a replacement for editorial judgment, domain expertise, or legal and medical review. The next step after reading this section should be to review the prompt template and understand the required input variables, then study the implementation harness to see how validation, retries, and human-in-the-loop escalation are wired around the prompt.

PRACTICAL GUARDRAILS

Use Case Fit

Where the Multi-Source Claim Verification Prompt delivers reliable results and where it introduces unacceptable risk. Use this guide to decide if the prompt fits your pipeline before you invest in integration.

01

Good Fit: Structured Verification Pipelines

Use when: you have a claim to verify and a pre-retrieved set of source passages. The prompt excels at producing a structured verdict with per-source support levels, aggregate confidence, and agreement patterns. Guardrail: ensure sources are already retrieved and deduplicated before calling this prompt. Do not use it for open-ended research without bounded evidence.

02

Bad Fit: Real-Time Fact Checking Without Retrieved Evidence

Avoid when: you expect the model to search its own knowledge or the open web for sources. This prompt requires explicit source passages as input. Without them, the model may hallucinate citations or rely on outdated training data. Guardrail: always pair this prompt with a retrieval step. If retrieval is unavailable, route to a human reviewer instead.

03

Required Inputs: Claim and Source Passages

What to watch: missing or malformed inputs cause the prompt to produce low-confidence verdicts or fabricate support levels. The prompt needs a clear claim string and an array of source passages with identifiers. Guardrail: validate input shape before calling the model. Reject empty source arrays and claims shorter than a minimum length threshold.

04

Operational Risk: Overconfidence on Ambiguous Claims

What to watch: the model may assign high confidence to a verdict when sources are vague, contradictory, or only partially relevant. This creates false certainty in downstream systems. Guardrail: calibrate confidence thresholds against a golden dataset of known-true and known-false claims. Flag any verdict above 0.85 confidence for human review if the claim domain is high-risk.

05

Operational Risk: Source Dependence Blind Spots

What to watch: the model cannot detect when multiple sources derive from the same original report or share a common error. This produces pseudo-corroboration. Guardrail: add a source-independence metadata field to each passage. If independence is unknown, downgrade the aggregate confidence score and flag the verdict for analyst review.

06

Pipeline Fit: Post-Retrieval, Pre-Publication

Use when: this prompt sits between retrieval and user-facing output in a fact-checking or content moderation pipeline. It is not a user-facing prompt. Guardrail: treat the output as a machine-readable verdict, not a final explanation for end users. Map verdicts to user-facing messages in application code, and log all verification results for audit.

PROMPT PLAYBOOK

Copy-Ready Prompt Template

A reusable prompt template for verifying claims against multiple sources, producing structured verdicts with per-source support levels and calibrated confidence scores.

This template is the core instruction set for a multi-source claim verification workflow. It accepts a claim to verify, a set of source passages with metadata, and optional calibration examples that anchor the model's confidence scale. The prompt is designed to produce structured JSON output suitable for downstream automated processing, human review queues, or audit logging. Replace every square-bracket placeholder with your data before sending the prompt to the model. The template includes explicit instructions for handling source disagreement, insufficient evidence, and edge cases where the claim is partially supported.

text
You are a claim verification system. Your task is to assess whether a claim is supported by the provided source passages.

## INPUT
Claim to verify: [CLAIM]

Source passages:
[SOURCE_PASSAGES]

Calibration examples:
[CALIBRATION_EXAMPLES]

## OUTPUT SCHEMA
Return a JSON object with the following structure:
{
  "verdict": "SUPPORTED" | "PARTIALLY_SUPPORTED" | "UNSUPPORTED" | "CONTRADICTED" | "INSUFFICIENT_EVIDENCE",
  "aggregate_confidence": 0.0-1.0,
  "confidence_rationale": "string explaining what drives the confidence level",
  "per_source_assessment": [
    {
      "source_id": "string matching the source identifier provided",
      "support_level": "FULLY_SUPPORTS" | "PARTIALLY_SUPPORTS" | "NEUTRAL" | "PARTIALLY_CONTRADICTS" | "FULLY_CONTRADICTS" | "NO_RELEVANT_INFORMATION",
      "explanation": "string explaining how this source relates to the claim",
      "relevant_excerpts": ["string excerpts from the source that inform this assessment"]
    }
  ],
  "agreement_pattern": "UNANIMOUS_SUPPORT" | "MAJORITY_SUPPORT" | "MIXED" | "MAJORITY_CONTRADICTION" | "UNANIMOUS_CONTRADICTION" | "INSUFFICIENT_DATA",
  "agreement_explanation": "string describing the pattern of agreement or disagreement across sources",
  "limitations": ["list of factors that limit the reliability of this verification"],
  "requires_human_review": true | false
}

## CONSTRAINTS
- Base your assessment ONLY on the provided source passages. Do not use external knowledge.
- If no source contains relevant information, use verdict INSUFFICIENT_EVIDENCE.
- If sources directly contradict each other, reflect this in the agreement_pattern and per_source_assessment. Do not fabricate consensus.
- Use the calibration examples to anchor your confidence scale: a confidence of 0.9 should mean the same level of certainty as in the provided high-confidence calibration example.
- Mark requires_human_review as true if: sources conflict, confidence is below 0.7, the claim involves [HIGH_RISK_DOMAINS], or evidence is insufficient for a definitive verdict.
- For partial support, explain exactly which parts of the claim are supported and which are not.
- Extract relevant_excerpts verbatim from the source passages. Do not paraphrase or summarize in this field.

## RISK LEVEL
[RISK_LEVEL]

## INSTRUCTIONS
1. Read the claim carefully. Identify all factual assertions within it.
2. For each source passage, determine whether it contains information relevant to each assertion.
3. Assess the support level for each source independently before determining the aggregate verdict.
4. If calibration examples are provided, use them to calibrate your confidence scores.
5. Return ONLY the JSON object. No additional text before or after.

Adaptation guidance: The [CLAIM] placeholder accepts a single statement or a structured object with sub-claims. For multi-assertion claims, consider splitting into separate verification passes. The [SOURCE_PASSAGES] placeholder should contain source objects with at minimum an id and text field; add authority_score, recency, or source_type fields if your pipeline pre-scores sources. The [CALIBRATION_EXAMPLES] placeholder is optional but strongly recommended—provide at least one known-true claim with its sources and one known-false claim to anchor the model's confidence scale. The [HIGH_RISK_DOMAINS] placeholder should be replaced with a comma-separated list of domains that trigger mandatory human review, such as "medical claims, legal interpretations, financial projections." The [RISK_LEVEL] placeholder accepts "LOW", "MEDIUM", or "HIGH" and should be set based on your application's tolerance for verification errors. For production pipelines, always validate the output JSON against the schema before allowing the result to reach downstream consumers or decision points.

IMPLEMENTATION TABLE

Prompt Variables

Each variable must be validated before the prompt is sent. Missing or malformed inputs are the most common cause of verification failures in production.

PlaceholderPurposeExampleValidation Notes

[CLAIM]

The statement to verify across multiple sources

The Acme 5000 processor achieves 2.3x throughput compared to the previous generation

Required. Must be a single declarative sentence. Reject if empty, multi-claim, or interrogative. Parse check: ends with period, no question mark.

[SOURCES]

Array of source passages to check the claim against

[{"source_id": "src-1", "text": "...", "date": "2024-03-15", "authority": "vendor"}, ...]

Required. Minimum 2 sources. Each object must have source_id and text fields. Reject if fewer than 2 sources or if any text field is empty. Schema check: valid JSON array of objects.

[SOURCE_AUTHORITY_MAP]

Pre-assigned authority tier for each source

{"src-1": "high", "src-2": "medium", "src-3": "low"}

Optional. If provided, every source_id in [SOURCES] must have an entry. Allowed values: high, medium, low, unknown. Schema check: object with string keys and enum values. Null allowed.

[VERIFICATION_THRESHOLD]

Minimum aggregate confidence score to return a supported verdict

0.7

Required. Float between 0.0 and 1.0. Default 0.6 if not specified. Parse check: numeric, in range. Reject if below 0.0 or above 1.0.

[KNOWN_TRUE_CLAIMS]

Calibration set of claims known to be true for confidence reference

[{"claim": "...", "expected_support": "supported"}, ...]

Optional. Used to calibrate the model's support scoring. Each entry must have claim and expected_support fields. Expected support values: supported, partially_supported, unsupported, contradicted. Null allowed.

[KNOWN_FALSE_CLAIMS]

Calibration set of claims known to be false for confidence reference

[{"claim": "...", "expected_support": "contradicted"}, ...]

Optional. Used to detect overconfidence on false claims. Same schema as [KNOWN_TRUE_CLAIMS]. Null allowed.

[OUTPUT_SCHEMA]

Expected JSON structure for the verification output

{"verdict": "string", "aggregate_confidence": "float", "per_source_support": [{"source_id": "string", "support_level": "string", "explanation": "string"}], "agreement_pattern": "string"}

Required. Must be a valid JSON Schema object or example structure. Parse check: valid JSON. Reject if unparseable. Used to enforce output format compliance.

[REQUIRE_CITATION_SPANS]

Whether to require exact text spans from sources that support or contradict the claim

Required. Boolean. When true, the output must include citation_spans with start and end character offsets per source. When false, explanations without spans are acceptable. Validation: must be true or false.

PROMPT PLAYBOOK

Implementation Harness Notes

How to wire the Multi-Source Claim Verification Prompt into a production verification pipeline with validation, retries, logging, and human review.

The Multi-Source Claim Verification Prompt is designed to operate as a stateless verification step within a larger fact-checking or RAG pipeline. It expects a claim and a set of pre-retrieved source passages as input, and it returns a structured verdict with per-source support levels, aggregate confidence, and an explanation of agreement or disagreement patterns. This prompt does not perform retrieval itself—it assumes the calling application has already gathered candidate evidence and formatted it into the [SOURCES] placeholder. In production, you will typically call this prompt after a retrieval step and before presenting a verified answer to the user or writing results to an audit log.

Integration pattern: Wrap the prompt in a function that accepts a claim string and a sources array of objects with source_id, text, and optional credibility_score fields. Construct the prompt by injecting these into the [CLAIM] and [SOURCES] placeholders. The model should return a JSON object matching the [OUTPUT_SCHEMA] you define—typically including verdict (supported, partially_supported, contradicted, insufficient_evidence), per_source_support (an array mapping each source_id to a support_level and rationale), aggregate_confidence (a float 0.0–1.0 or categorical label), and explanation (a summary of agreement or disagreement patterns). Validation layer: Before accepting the output, validate that every source_id in the response matches an input source, that aggregate_confidence falls within the expected range, and that the verdict is consistent with the per-source support levels. If validation fails, retry once with the error message appended to the prompt context. If retry also fails, escalate to a human review queue with the claim, sources, and partial output attached.

Model choice and latency: For high-throughput pipelines, use a fast instruction-tuned model (e.g., GPT-4o-mini, Claude 3.5 Haiku) with strict JSON mode enabled. For high-stakes verification where nuanced disagreement detection matters, route to a more capable model (e.g., GPT-4o, Claude 3.5 Sonnet) and accept the latency trade-off. Logging and audit: Log every verification call with the claim, source IDs, model output, validation result, and final disposition. This audit trail is essential for calibration analysis—you can compare model verdicts against known-true and known-false claims over time to measure drift. Calibration harness: Maintain a golden dataset of claims with ground-truth labels. Run the prompt against this dataset weekly, compute precision/recall per verdict category, and set alert thresholds for degradation. Human review triggers: Automatically escalate to human review when: (a) aggregate_confidence falls in a configured gray zone (e.g., 0.4–0.6), (b) the verdict is contradicted with high-stakes subject matter, (c) validation fails after retry, or (d) the explanation indicates sources are in direct conflict without a clear resolution path.

What to avoid: Do not use this prompt as a standalone truth oracle. It verifies claims against provided sources only—it cannot detect whether the sources themselves are wrong, outdated, or fabricated. Always pair it with source authority assessment and freshness checks upstream. Do not skip the validation layer; malformed JSON or hallucinated source IDs are common failure modes in production. Do not treat aggregate_confidence as a calibrated probability unless you have measured calibration against your own labeled data. Finally, do not expose raw verification outputs to end users without a presentation layer that translates verdicts and confidence into appropriate user-facing language and actions.

PRACTICAL GUARDRAILS

Common Failure Modes

Multi-source claim verification breaks in predictable ways. Each failure mode below includes a concrete detection signal and a guardrail you can implement before the prompt reaches production.

01

False Consensus from Corroborating Sources

What to watch: Multiple sources agree on a claim, but all derive from the same upstream origin (syndication, shared press release, or copied content). The model treats them as independent confirmation and inflates confidence. Guardrail: Add a source-independence check step that clusters sources by origin, author, or publication network before counting corroboration. Flag clusters as single-evidence points.

02

Source Recency Blindness

What to watch: The model treats all retrieved sources as equally current, producing a verification verdict based on outdated evidence that has since been superseded. This is especially dangerous for fast-moving topics like security vulnerabilities or regulatory changes. Guardrail: Require explicit publication-date extraction per source. Add a temporal-relevance rule in the prompt that downgrades or excludes sources older than a domain-appropriate threshold unless no newer source exists.

03

Silent Evidence Omission

What to watch: The model ignores sources that contradict the majority view or the most authoritative source, producing a clean verdict that hides real disagreement. This creates false certainty and suppresses minority-but-correct evidence. Guardrail: Add an explicit contradiction-surfacing instruction. Require the output to list every source that disagrees with the final verdict, with the specific conflicting claim quoted. Test with known-disagreement cases.

04

Authority Override Without Justification

What to watch: A single high-authority source (e.g., a government database or official report) overrides multiple lower-authority sources that contain more recent or more specific evidence. The model defers to authority ranking rather than evidence quality. Guardrail: Separate authority scoring from evidence evaluation in the prompt. Require the model to explain when it prioritizes authority over conflicting specific evidence, and flag these decisions for human review in high-stakes domains.

05

Claim Scope Mismatch

What to watch: The claim being verified is broad or ambiguous, but sources only address narrow aspects. The model extrapolates partial support into a full verification verdict, treating evidence for a subset as evidence for the whole. Guardrail: Add a claim-decomposition step before verification. Break the claim into atomic sub-claims, verify each independently, and require explicit scope notes when a source only partially addresses a sub-claim.

06

Confidence Calibration Drift

What to watch: The model produces confidence scores that don't correlate with actual verification accuracy. High confidence on wrong verdicts, low confidence on correct ones, or uniform mid-range scores that provide no signal. Guardrail: Calibrate against a golden dataset of known-true and known-false claims before deployment. Add a calibration instruction that maps evidence strength to specific confidence tiers, and log confidence-vs-outcome in production for ongoing drift detection.

IMPLEMENTATION TABLE

Evaluation Rubric

Score each dimension on a 1-5 scale before shipping the Multi-Source Claim Verification Prompt. Use this rubric in an automated eval harness or human review queue.

CriterionPass StandardFailure SignalTest Method

Per-Source Support Classification

Every source in [SOURCES] receives exactly one label: SUPPORTS, REFUTES, PARTIAL, or NO_EVIDENCE

Missing source, ambiguous label, or hallucinated source ID

Parse output JSON; assert len(labels) == len([SOURCES]); validate enum membership

Aggregate Verdict Accuracy

Aggregate verdict matches ground-truth label on a held-out calibration set of 50 known-true and known-false claims

Verdict flips on known claims; confidence exceeds 0.9 on false claims

Run against calibration set; measure accuracy and calibration error

Explanation Grounding

Every sentence in the explanation references at least one source passage or explicitly states no evidence was found

Explanation contains unsupported factual assertions or fabricates source content

Human review or LLM-as-judge with grounding check; flag unsupported sentences

Confidence Calibration

Reported confidence score correlates with actual correctness (Spearman rho > 0.6 on calibration set)

High confidence on wrong verdicts; low confidence on correct verdicts

Compute rank correlation between confidence and binary correctness across calibration set

Disagreement Handling

When sources disagree, output explicitly describes the conflict and which sources support each side

Conflicting sources are ignored, harmonized without evidence, or reported as unanimous

Inject known-disagreement test cases; check for conflict description and correct side assignment

Abstention Trigger

Returns VERDICT: INSUFFICIENT_EVIDENCE when fewer than [MIN_SOURCES] sources contain relevant evidence

Returns a confident verdict based on zero or one weak source

Test with empty retrieval set and single low-relevance passage; assert abstention

Output Schema Compliance

Output is valid JSON matching [OUTPUT_SCHEMA] with all required fields present and correctly typed

Missing fields, type mismatches, or unparseable JSON

Schema validation in test harness; reject on first parse or schema error

Citation Format Consistency

Every source reference uses the format specified in [CITATION_FORMAT] with source ID and excerpt span

Free-text citations, missing excerpt spans, or invented source IDs

Regex check against expected citation pattern; cross-reference source IDs against input [SOURCES]

ADAPTATION OPTIONS

Adapt This Prompt

How to adapt

Start with the base prompt and a small set of 5-10 known-true and known-false claims. Remove the calibration section and simplify the output schema to just verdict, confidence, and explanation. Use a single model call without retries.

code
You are a claim verifier. Given a [CLAIM] and [SOURCES], determine if the claim is SUPPORTED, REFUTED, or UNVERIFIABLE. Return JSON with verdict, confidence (0-1), and a brief explanation.

Watch for

  • Overconfidence on single-source verification
  • Missing the UNVERIFIABLE category entirely
  • No distinction between "source doesn't mention" and "source contradicts"
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.