Inferensys

Prompt

Evidence Sufficiency Assessment Report Prompt

A practical prompt playbook for using the Evidence Sufficiency Assessment Report Prompt in production verification pipelines to distinguish proven claims from those with insufficient evidence.
Wide-angle shot of a modern WeWork open floor plan with creative walls covered in AI system architecture diagrams, product team collaborating in standing desk area with industrial lighting.
PROMPT PLAYBOOK

When to Use This Prompt

Defines the job-to-be-done, ideal user, required context, and clear boundaries for the Evidence Sufficiency Assessment Report Prompt.

This prompt is for verification pipeline operators who need to classify claims by evidence sufficiency rather than just true or false. It is designed for a specific job-to-be-done: producing a structured report that separates 'proven true' from 'not enough evidence,' with gap analysis and false-confidence detection checks. The ideal user is an engineer or technical operator integrating this prompt into an automated fact-checking system, positioned after claim extraction and evidence retrieval, and before final verdict generation or human review routing. Use this when your system must explain why a claim remains unverified, not just that it does.

Do not use this prompt for binary true/false classification, for generating conversational answers to user questions, or for making final publishing decisions without human review. It is not a replacement for a RAG answer generation prompt, nor is it designed for real-time chat. The prompt assumes that claims have already been extracted and that evidence has already been retrieved and provided in the [EVIDENCE_SET] input. If you feed it raw documents or unprocessed user queries, it will fail silently by hallucinating evidence structures or misclassifying claims. The output is a machine-readable JSON report intended for downstream routing logic, audit logging, or reviewer dashboards, not for direct display to end users.

Before deploying this prompt, ensure your pipeline validates the output against the expected schema, checks for hallucinated evidence references, and routes any claim with a confidence score below your defined threshold to a human review queue. The prompt includes instructions for false-confidence detection, but it cannot replace a robust eval harness. Run regression tests with claims that have known evidence gaps to confirm the model correctly distinguishes 'insufficient evidence' from 'proven false.' If your use case involves regulated domains like healthcare or finance, always require human sign-off on the final report before any action is taken.

PRACTICAL GUARDRAILS

Use Case Fit

Where the Evidence Sufficiency Assessment Report prompt delivers reliable value and where it introduces operational risk.

01

Good Fit: Multi-Source Verification Pipelines

Use when: you have claims extracted from content and multiple evidence sources to compare. The prompt excels at classifying claims into 'proven true,' 'proven false,' or 'insufficient evidence' buckets with gap analysis. Guardrail: ensure each claim is atomic and source-attributed before feeding into this prompt; compound claims produce ambiguous sufficiency classifications.

02

Good Fit: Compliance and Audit Workflows

Use when: you need traceable evidence sufficiency documentation for regulators or auditors. The prompt produces structured reports with methodology disclosure, evidence chains, and confidence calibration. Guardrail: always include a human review step for claims classified as 'insufficient evidence' when regulatory thresholds require definitive answers.

03

Bad Fit: Real-Time or Low-Latency Systems

Avoid when: you need sub-second verification decisions. Evidence sufficiency assessment requires multi-source comparison, gap analysis, and confidence calibration, which adds latency. Guardrail: use this prompt in batch or async pipelines; for real-time needs, pre-compute sufficiency scores and cache results with freshness TTLs.

04

Bad Fit: Single-Source or No-Evidence Scenarios

Avoid when: you have only one evidence source or no evidence at all. The prompt cannot meaningfully assess sufficiency without multiple sources to compare and corroborate. Guardrail: route single-source claims to a simpler verification prompt; flag no-evidence claims upstream before they reach this assessment stage.

05

Required Inputs: Atomic Claims with Source Context

Risk: feeding the prompt vague or compound claims produces unreliable sufficiency classifications and false-confidence signals. Guardrail: pre-process claims through a claim extraction and decomposition prompt first. Each claim must be atomic, preserve original context, and include source provenance before sufficiency assessment begins.

06

Operational Risk: False Confidence in 'Insufficient Evidence' Classifications

Risk: the model may classify a claim as 'insufficient evidence' when evidence actually exists but wasn't retrieved, creating a false negative that downstream systems treat as definitive. Guardrail: implement a retrieval coverage check before assessment; log all evidence sources consulted and flag claims where retrieval breadth was constrained by budget or latency limits.

PROMPT PLAYBOOK

Copy-Ready Prompt Template

A reusable system prompt for generating an evidence sufficiency assessment report with calibrated thresholds and gap analysis.

This prompt template is designed to be pasted directly into your system prompt or a user message in your verification pipeline. It instructs the model to classify each claim by evidence sufficiency level, produce a structured report, and flag cases where false confidence might occur. Replace every square-bracket placeholder with actual values before execution. The template enforces a strict output schema, requires explicit reasoning for each classification, and includes a mandatory gap analysis section to prevent silent failures when evidence is missing.

text
You are an evidence sufficiency assessment engine. Your task is to evaluate a set of claims against provided evidence sources and produce a structured report classifying each claim by evidence sufficiency level.

## INPUT
Claims to assess:
[CLAIMS]

Available evidence sources:
[EVIDENCE_SOURCES]

## CLASSIFICATION THRESHOLDS
Use the following calibrated thresholds to classify each claim:
- **SUFFICIENT**: At least [MIN_CORROBORATION_COUNT] independent sources directly support the claim, no sources contradict it, and all supporting sources meet the minimum authority score of [MIN_AUTHORITY_SCORE].
- **PARTIAL**: At least one source supports the claim but the corroboration count is below [MIN_CORROBORATION_COUNT], or supporting sources have authority scores below [MIN_AUTHORITY_SCORE], or minor contradictions exist from sources with authority below [CONTRADICTION_TOLERANCE_THRESHOLD].
- **INSUFFICIENT**: No source directly supports the claim, or all supporting sources fall below the minimum authority score, or the evidence is tangential and does not address the claim's core assertion.
- **CONTRADICTED**: At least one source with authority score at or above [CONTRADICTION_TOLERANCE_THRESHOLD] directly contradicts the claim, and the contradicting source has equal or higher authority than any supporting source.

## OUTPUT SCHEMA
Return a valid JSON object with this exact structure:
{
  "report_id": "string",
  "generated_at": "ISO-8601 timestamp",
  "methodology": {
    "thresholds_applied": {
      "min_corroboration_count": number,
      "min_authority_score": number,
      "contradiction_tolerance_threshold": number
    },
    "evidence_scope": "string describing what evidence was available",
    "limitations": ["string array of known limitations"]
  },
  "claims_assessment": [
    {
      "claim_id": "string matching input claim identifier",
      "claim_text": "string",
      "classification": "SUFFICIENT | PARTIAL | INSUFFICIENT | CONTRADICTED",
      "confidence_score": number between 0.0 and 1.0,
      "supporting_sources": ["array of source identifiers that support"],
      "contradicting_sources": ["array of source identifiers that contradict"],
      "reasoning": "string explaining the classification with explicit reference to thresholds",
      "false_confidence_risk": "LOW | MEDIUM | HIGH",
      "false_confidence_note": "string explaining why false confidence might occur, or null if LOW"
    }
  ],
  "gap_analysis": {
    "claims_with_insufficient_evidence": ["array of claim_ids"],
    "missing_evidence_types": ["string array describing what kind of evidence would be needed"],
    "search_coverage_assessment": "string describing whether the available evidence set is representative or likely incomplete",
    "recommended_remediation": ["string array of actions to close evidence gaps"]
  },
  "aggregate_statistics": {
    "total_claims": number,
    "sufficient_count": number,
    "partial_count": number,
    "insufficient_count": number,
    "contradicted_count": number,
    "high_false_confidence_risk_count": number
  }
}

## CONSTRAINTS
[CONSTRAINTS]

## EVALUATION CRITERIA
Before returning the output, verify:
1. Every claim in the input appears in the claims_assessment array.
2. Every classification includes explicit reasoning that references the thresholds.
3. The gap_analysis section is never empty, even if all claims are SUFFICIENT.
4. False-confidence risk is HIGH when a claim is classified as SUFFICIENT but relies on a single source or sources with borderline authority scores.
5. No source is cited as supporting without a direct, quotable connection to the claim.
6. Confidence scores reflect evidence quality, not just classification certainty.

## RISK LEVEL
[RISK_LEVEL]

To adapt this template, start by defining your classification thresholds in your application layer and injecting them into the prompt. The [MIN_CORROBORATION_COUNT], [MIN_AUTHORITY_SCORE], and [CONTRADICTION_TOLERANCE_THRESHOLD] placeholders should be replaced with numeric values calibrated to your domain's evidence standards. For high-risk domains like healthcare or legal review, set [RISK_LEVEL] to HIGH and include additional constraints in [CONSTRAINTS] such as requiring human review for all PARTIAL and INSUFFICIENT classifications. The [CLAIMS] placeholder expects a pre-extracted, atomic claim set with unique identifiers; do not pass raw documents here. The [EVIDENCE_SOURCES] placeholder should contain structured source objects with identifiers, text excerpts, and pre-computed authority scores. Wire the output through a JSON schema validator before accepting it into your pipeline, and log any validation failures for retry or escalation.

IMPLEMENTATION TABLE

Prompt Variables

Required and optional inputs for the Evidence Sufficiency Assessment Report prompt. Each placeholder must be populated before the prompt is sent to the model. Validation notes describe how to programmatically check that the input is well-formed before execution.

PlaceholderPurposeExampleValidation Notes

[CLAIMS_LIST]

Array of extracted claims to assess for evidence sufficiency

[{"claim_id": "C1", "claim_text": "Revenue grew 22% YoY", "source_context": "Q4 earnings call transcript"}]

Must be valid JSON array. Each object requires claim_id (string), claim_text (non-empty string), and source_context (string or null). Reject if array is empty or any claim_text is whitespace-only.

[EVIDENCE_CORPUS]

Available evidence documents, passages, or data sources to match against claims

[{"source_id": "S1", "source_type": "financial_filing", "content": "...", "date": "2025-01-15", "authority_score": 0.85}]

Must be valid JSON array. Each object requires source_id, source_type, and content. authority_score must be float between 0 and 1 if present. Reject if content is empty string. Null allowed for content when source is cited but unavailable.

[SUFFICIENCY_THRESHOLDS]

Calibrated thresholds defining evidence sufficiency levels for classification

{"sufficient": 0.8, "partial": 0.5, "insufficient": 0.0}

Must be valid JSON object with numeric keys sufficient, partial, insufficient. Values must be descending floats between 0 and 1. Reject if sufficient <= partial or partial <= insufficient. Schema check required.

[DOMAIN_CONTEXT]

Domain-specific terminology, evidence standards, and regulatory expectations

"Financial audit: evidence must come from audited filings or official disclosures. Analyst estimates are not sufficient."

String or null. If null, model uses default general-purpose evidence standards. When present, must be non-empty string. No schema enforcement beyond type check.

[OUTPUT_SCHEMA]

Expected JSON schema for the assessment report output

{"type": "object", "properties": {"claim_id": {"type": "string"}, "sufficiency_level": {"enum": ["sufficient", "partial", "insufficient"]}, "evidence_gaps": {"type": "array"}}, "required": ["claim_id", "sufficiency_level"]}

Must be valid JSON Schema object. Required fields must include claim_id and sufficiency_level at minimum. Parse check before prompt assembly. Reject malformed schemas.

[CONFIDENCE_CALIBRATION]

Instructions for how the model should express confidence in its sufficiency assessments

"Report confidence as a float 0-1. Flag any assessment below 0.7 for human review. Do not round confidence scores."

String or null. If null, model uses default confidence expression. When present, must specify confidence format and human-review threshold. No schema enforcement; manual review of calibration logic recommended.

[FALSE_CONFIDENCE_CHECKS]

Rules for detecting when the model might be overconfident despite thin evidence

"If only one source supports a claim and that source has authority_score below 0.6, cap confidence at 0.5 regardless of model certainty."

String or null. If null, no additional false-confidence detection is applied. When present, must contain at least one concrete detection rule. Manual review of rule logic required before production deployment.

[REPORT_METADATA]

Metadata fields to include in the report header for traceability

{"pipeline_run_id": "run-2025-03-15-001", "model_version": "claude-3-opus-20240229", "generated_by": "evidence-sufficiency-v2"}

Must be valid JSON object. All fields optional but pipeline_run_id and model_version strongly recommended for audit trails. Null allowed for any field. Schema check: reject non-object types.

PROMPT PLAYBOOK

Implementation Harness Notes

How to wire the Evidence Sufficiency Assessment Report prompt into a verification pipeline with validation, retries, and human review gates.

The Evidence Sufficiency Assessment Report prompt is designed to sit downstream of claim extraction and evidence retrieval steps in a verification pipeline. It expects a structured input payload containing extracted claims, their associated evidence records, and source metadata. The prompt is not a standalone chat interaction—it should be called programmatically with a validated input schema, and its output should be parsed into a typed object before any downstream consumption. The primary integration points are the claim-evidence ingestion layer, the model inference call, the output validator, and the triage router that decides whether a claim proceeds to auto-verdict, human review, or insufficient-evidence flagging.

Wire the prompt into your application by constructing a strict input object with the following fields: claims (array of claim objects with claim_id, claim_text, claim_type, and domain), evidence_bundle (array of evidence records with evidence_id, source_id, source_authority_score, content_snippet, relevance_to_claim, and retrieval_timestamp), thresholds (object with sufficient_corroboration_count, minimum_authority_score, and contradiction_tolerance), and pipeline_metadata (object with run_id, model_version, and previous_verdict if this is a re-assessment). Before calling the model, validate that every claim has at least one evidence record mapped to it—empty evidence bundles should be caught at the application layer and routed directly to an 'insufficient evidence' disposition without consuming model tokens. After receiving the model response, parse the JSON output and run a schema validator that checks for required fields (claim_id, evidence_sufficiency_level, sufficiency_rationale, evidence_gaps, false_confidence_risk_flag). Any response that fails schema validation should trigger a single retry with the validation error message appended to the prompt as a correction hint. If the retry also fails, log the failure and escalate to a human review queue with the raw model output attached.

For model selection, use a model with strong JSON-following behavior and low refusal rates on analytical tasks—GPT-4o, Claude 3.5 Sonnet, or equivalent. Set temperature to 0 or a very low value (0.1 maximum) to reduce variance in sufficiency classifications. Implement structured output mode if your provider supports it (e.g., OpenAI's response_format with a JSON schema, or Anthropic's tool-use with a defined output schema). Log every inference call with the full prompt, response, parse status, and validator results to your observability platform. This trace is essential for debugging false-confidence detections and threshold calibration. For high-stakes domains (legal, healthcare, financial compliance), always route claims with evidence_sufficiency_level: "insufficient" or false_confidence_risk_flag: true to human review before any downstream action. Never auto-accept a 'sufficient' classification without spot-checking a sample of outputs against the evidence bundle—build a periodic human audit step into your pipeline to detect threshold drift and model overconfidence.

The most common production failure mode is threshold miscalibration: if sufficient_corroboration_count is set too low, the model will classify weakly-supported claims as sufficient; if set too high, legitimate claims will flood the human review queue. Start with conservative thresholds, run a calibration batch against a labeled dataset of known-sufficient and known-insufficient claims, and adjust thresholds based on false-positive and false-negative rates. A second failure mode is evidence-context truncation—if evidence snippets are too long, they will exceed the context window and get silently dropped. Implement a pre-flight context budget check that estimates token usage and truncates or summarizes evidence records before they reach the prompt. Finally, avoid using this prompt for real-time user-facing applications where latency expectations are under two seconds; the evidence assessment reasoning chain benefits from the model having time to compare multiple evidence records, and rushing it with short max_tokens limits degrades sufficiency classification accuracy.

IMPLEMENTATION TABLE

Expected Output Contract

Defines the fields, types, and validation rules for the Evidence Sufficiency Assessment Report. Use this contract to parse and validate the model's output before it enters downstream systems or human review queues.

Field or ElementType or FormatRequiredValidation Rule

report_id

string (UUID v4)

Must match UUID v4 regex. Reject if missing or malformed.

generated_at

string (ISO 8601)

Must parse as valid ISO 8601 datetime. Reject if in the future beyond a 5-minute clock skew tolerance.

claims

array of objects

Must be a non-empty array. Reject if null, empty, or not an array.

claims[].claim_id

string

Must be unique within the report. Reject on duplicate or missing values.

claims[].original_text

string

Must be a non-empty string. Reject if null or whitespace-only.

claims[].sufficiency_level

enum: SUFFICIENT | PARTIAL | INSUFFICIENT | CONTRADICTED

Must be one of the four defined enum values. Reject on any other string.

claims[].evidence_summary

string

Must be a non-empty string. If sufficiency_level is INSUFFICIENT, must contain a specific gap description.

claims[].confidence_score

number (0.0 to 1.0)

Must be a float between 0.0 and 1.0 inclusive. Reject if outside range or not a number.

PRACTICAL GUARDRAILS

Common Failure Modes

Evidence sufficiency reports fail when the model confuses absence of evidence with evidence of absence, or when confidence scores drift from actual evidence quality. These are the most common production failure patterns and how to catch them before they reach a reviewer.

01

False Confidence on Thin Evidence

What to watch: The model assigns 'Sufficient Evidence' or high confidence to a claim supported by a single low-authority source, a vague mention, or a source that only tangentially relates to the claim. This is the most dangerous failure mode because it produces believable but unsupported verdicts. Guardrail: Require the prompt to output an explicit evidence_gap_analysis field listing what was missing. Add a post-processing rule that downgrades any 'Sufficient' verdict to 'Insufficient' if the corroboration count is below 2 or if no source directly addresses the claim's core assertion.

02

Conflating 'Not Found' with 'False'

What to watch: When retrieval returns zero results or low-relevance passages, the model concludes the claim is false rather than unverifiable. This miscategorization creates audit-trail contamination because downstream systems treat 'False' as a definitive negative finding. Guardrail: Add a hard constraint in the prompt: 'If no source directly addresses the claim, the verdict MUST be Unsupported, never False.' Validate output by checking that every 'False' verdict has at least one contradicting source citation with an explicit contradiction explanation.

03

Evidence-Citation Drift

What to watch: The model cites a source that exists in the provided evidence set but the cited passage does not actually support the claim. The citation looks valid structurally but fails on content alignment. This is especially common with long documents where the model latches onto a keyword match rather than semantic support. Guardrail: Include a self-verification step in the prompt: 'For each cited source, quote the exact passage that supports or contradicts the claim. If no such passage exists, remove the citation.' Run a secondary eval that checks quoted passages against the claim using an NLI model or a second LLM call with strict comparison instructions.

04

Threshold Boundary Gaming

What to watch: When the prompt includes explicit confidence thresholds, the model learns to score claims just above or below the boundary to match expected distributions rather than reflecting actual evidence quality. Scores cluster near decision boundaries, making triage unreliable. Guardrail: Remove numeric threshold instructions from the primary classification prompt. Instead, ask the model to describe evidence quality in structured natural language fields first, then apply thresholds in deterministic post-processing code. Calibrate thresholds against a labeled golden set, not model self-assessment.

05

Source Authority Overweighting

What to watch: The model treats a single high-authority source as sufficient for all claims from that source, even when the source material is outdated, domain-irrelevant, or the claim requires multiple independent corroborations. Authority becomes a shortcut that bypasses actual evidence assessment. Guardrail: Add a source_recency and domain_relevance check per source in the prompt. Require the model to justify why a source is authoritative for this specific claim, not just in general. Flag any verdict that relies on a single source regardless of its authority level for human review.

06

Gap Analysis Hallucination

What to watch: When asked to describe what evidence is missing, the model invents plausible-sounding but non-existent evidence types, search queries, or source descriptions. The gap analysis reads well but does not reflect actual retrieval coverage or knowledge base contents. Guardrail: Constrain the gap analysis to only reference evidence types that were explicitly searched for and not found. Add a prompt rule: 'Do not speculate about evidence that might exist outside the provided source set. Only describe gaps relative to the search coverage documented in the retrieval log.' Validate gap statements against the actual retrieval query list.

IMPLEMENTATION TABLE

Evaluation Rubric

Use this rubric to test the Evidence Sufficiency Assessment Report before shipping. Each criterion targets a known failure mode: false confidence, missing gap analysis, or misclassification of 'not enough evidence' as 'proven true.' Run these checks against a golden set of claims with known evidence coverage.

CriterionPass StandardFailure SignalTest Method

Schema Compliance

Output is valid JSON matching the [OUTPUT_SCHEMA] with all required fields present and no extra keys

JSON parse error, missing required field, or unexpected field present

Validate output against JSON Schema; reject on parse failure or schema violation

Sufficiency Classification Accuracy

Each claim is classified into the correct sufficiency level (sufficient, insufficient, conflicting, no_evidence) per golden labels

Claim with known insufficient evidence classified as sufficient; claim with known sufficient evidence classified as no_evidence

Run against 20+ labeled claims; require >=90% exact match on sufficiency_level field

Evidence Gap Articulation

For claims classified as insufficient or no_evidence, the gap_analysis field specifies what evidence is missing and why available sources are inadequate

gap_analysis is null, empty string, or restates the claim without identifying specific missing evidence types

Assert gap_analysis is non-null and contains at least one specific evidence type descriptor for every insufficient or no_evidence claim

False-Confidence Detection

Confidence scores for insufficient-evidence claims are <=0.5 on a 0-1 scale; sufficient-evidence claims with strong sources score >=0.7

Insufficient-evidence claim receives confidence >=0.8; sufficient-evidence claim with multiple authoritative sources receives confidence <=0.4

Check confidence_score field against known-evidence-coverage labels; flag outliers beyond calibrated thresholds

Source Grounding Integrity

Every evidence item in the evidence_assessed array includes a source_id that maps to a provided source in [SOURCES]; no hallucinated sources

source_id references a source not present in [SOURCES]; evidence excerpt contains text not found in the referenced source

Cross-reference all source_id values against input source list; run substring match on evidence_excerpt against source text

Threshold Calibration Documentation

The threshold_rationale field explains why the evidence sufficiency threshold was set at the reported level for each claim domain

threshold_rationale is generic boilerplate reused across all claims; no domain-specific threshold justification present

Check threshold_rationale uniqueness across claims; assert domain-specific terminology appears when claim domain metadata is provided

Conflict Handling

Claims with conflicting evidence are classified as conflicting with both supporting and contradicting sources listed and explained

Conflicting claim classified as sufficient or insufficient without acknowledging contradiction; only one side of evidence presented

For golden conflicting claims, assert sufficiency_level equals conflicting and both supporting_evidence and contradicting_evidence arrays are non-empty

Abstention on Unverifiable Claims

Claims with zero available evidence receive sufficiency_level no_evidence and recommendation escalate_to_human_review set to true

Zero-evidence claim receives sufficiency_level insufficient with fabricated gap_analysis suggesting evidence might exist; escalate_to_human_review is false

For claims with empty [SOURCES] input, assert sufficiency_level is no_evidence and escalate_to_human_review is true

ADAPTATION OPTIONS

Adapt This Prompt

How to adapt

Use the base prompt with a simplified output schema. Focus on claim-level sufficiency classification (Sufficient / Insufficient / Contradicted) without requiring full evidence chain assembly. Accept plain-text or markdown output instead of strict JSON to speed up iteration.

Prompt modification

Replace [OUTPUT_SCHEMA] with: "Return a markdown table with columns: Claim ID, Claim Text, Sufficiency Level, Gap Summary." Remove [EVIDENCE_CHAIN] and [CONFIDENCE_CALIBRATION] sections. Set [CONSTRAINTS] to: "If evidence is ambiguous, mark as Insufficient rather than guessing."

Watch for

  • Overly broad sufficiency thresholds that mark everything as Sufficient
  • Missing gap analysis when evidence is thin
  • No distinction between 'no evidence found' and 'evidence is contradictory'
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.