Inferensys

Prompt

Evidence Chain Construction Prompt for Audit

A practical prompt playbook for building traceable, step-by-step evidence chains that show how each claim was checked, against what source, and with what outcome, designed for compliance and governance teams.
Compliance officer monitoring AI compliance agent on laptop, policy dashboards visible, modern WeWork desk setup.
PROMPT PLAYBOOK

When to Use This Prompt

Defines the ideal scenario, user, and prerequisites for the evidence chain construction prompt, and clarifies when it should not be used.

This prompt is for compliance officers, audit teams, and governance engineers who need to produce a defensible, step-by-step record of how a set of claims was verified. It is designed for workflows where the output must survive external review, such as SOC 2 evidence collection, regulatory filings, or internal audit packages. The core job-to-be-done is constructing a transparent reasoning chain that links each discrete claim to its supporting or contradicting evidence, documents the verification outcome, and flags any gaps in the chain. The ideal user is someone who already has a structured list of claims and a set of candidate evidence documents, and now needs to produce the 'show your work' artifact that an auditor or reviewer can follow.

This prompt assumes that claim extraction and evidence retrieval have already been completed by upstream processes. The required inputs are a structured list of claims (each with a unique identifier and the original text) and a set of evidence passages (each with a source identifier, content, and metadata such as date or authority). Do not use this prompt for real-time RAG answer generation, where a user asks a question and expects an immediate answer with citations. It is also not suitable for initial claim extraction from raw documents or for evidence retrieval from a vector database. Those are separate, prerequisite steps. Using this prompt for those tasks will result in hallucinated claims, fabricated evidence, or a broken chain of reasoning.

The prompt is most effective when the verification logic must be explicit and reviewable, rather than when speed or conversational fluency is the priority. It is a poor fit for low-risk, high-volume, or latency-sensitive applications where a simple supported/unsupported flag is sufficient. Before using this prompt, ensure you have a reliable method for providing the claims and evidence as structured inputs, and plan for a human-in-the-loop review step for any verification gaps or contradictions the prompt identifies. The next section provides the copy-ready template you can adapt to your specific evidence standards and output schema.

PRACTICAL GUARDRAILS

Use Case Fit

Where the Evidence Chain Construction Prompt delivers traceable audit results and where it introduces operational risk.

01

Good Fit: Structured Compliance Audits

Use when: you need a step-by-step verification trail for every claim in a compliance document, showing exactly which source was checked and the outcome. Guardrail: The prompt excels when claims are pre-extracted and sources are pre-retrieved. Do not ask it to perform retrieval or claim extraction simultaneously.

02

Bad Fit: Real-Time or Low-Latency Systems

Avoid when: latency budgets are under two seconds or the number of claims exceeds 20 per request. Guardrail: Chain construction is token-heavy and reasoning-intensive. Batch claims and run asynchronously; this is a batch audit tool, not a synchronous user-facing check.

03

Required Inputs: Atomic Claims and Source Evidence

What to watch: The prompt fails silently if given vague claims or unprocessed documents. Guardrail: Inputs must include a list of atomic, self-contained claims and pre-segmented source passages with identifiers. Validate input shape before calling the model.

04

Operational Risk: Hallucinated Source Identifiers

What to watch: The model may generate plausible-looking but non-existent document IDs or section numbers. Guardrail: Post-process all source identifiers against a whitelist of valid IDs from your retrieval system. Reject any chain step referencing an unknown source.

05

Operational Risk: Incomplete Chain Coverage

What to watch: The model may skip claims or provide a summary instead of a step-by-step chain. Guardrail: Count the number of claims in the input and verify that each has a corresponding verification step in the output. Use a deterministic validator before accepting the chain as complete.

06

Bad Fit: Substituting for Human Judgment

What to watch: Teams may treat the evidence chain as a final sign-off rather than a structured draft for review. Guardrail: The prompt constructs a traceable argument, not a legal determination. Always route the output to a human reviewer for final sign-off, especially for high-risk compliance findings.

PROMPT PLAYBOOK

Copy-Ready Prompt Template

A production-ready system prompt for constructing traceable, step-by-step evidence chains that map each claim to its verification outcome.

This prompt template is designed to be pasted directly into your system instructions for an LLM tasked with audit-grade verification. It forces the model to construct an explicit chain of evidence for every claim, documenting what was checked, against which source, and with what result. This is not a summarization prompt; it is a structured reasoning scaffold that produces a machine-readable audit trail. Use it when downstream reviewers, compliance systems, or automated eval harnesses need to understand exactly how a conclusion was reached.

text
You are an evidence chain construction agent for audit and compliance workflows. Your sole task is to produce a traceable, step-by-step verification path for each claim provided.

## INPUT
You will receive:
- [CLAIMS]: A list of discrete, atomic claims to verify.
- [EVIDENCE_SET]: A collection of source documents with unique identifiers, such as [SOURCE_ID], [SOURCE_TEXT], and [SOURCE_METADATA].
- [VERIFICATION_POLICY]: Rules for evidence sufficiency, source authority, and required match types.

## OUTPUT_SCHEMA
Return a single JSON object with the key "evidence_chains", which is an array of objects. Each object must conform to this schema:
{
  "claim_id": "string (from input)",
  "claim_text": "string",
  "verification_status": "supported | contradicted | insufficient_evidence | not_applicable",
  "chain_steps": [
    {
      "step_number": "integer",
      "action": "string (e.g., 'searched evidence for keyword', 'compared numerical value', 'assessed source authority')",
      "source_used": "[SOURCE_ID] | null",
      "evidence_snippet": "string (direct quote or data point from source) | null",
      "finding": "string (concise statement of what this step determined)",
      "confidence": "high | medium | low"
    }
  ],
  "final_rationale": "string (summary connecting the chain to the final status)",
  "unresolved_gaps": ["string (description of missing evidence or ambiguities)"]
}

## CONSTRAINTS
- Every claim in [CLAIMS] must have a corresponding entry in the output array. Do not skip claims.
- For each chain step, you must cite a specific [SOURCE_ID] if evidence was used. If no evidence was found for a step, set "source_used" and "evidence_snippet" to null and explain the gap in "finding".
- Do not hallucinate sources. Only use [SOURCE_ID] values present in [EVIDENCE_SET].
- If [VERIFICATION_POLICY] specifies a minimum number of corroborating sources, you must document each corroborating source as a separate step.
- If sources contradict each other, you must add a step documenting the contradiction and explaining why one source was preferred, referencing [VERIFICATION_POLICY] rules on authority or recency.
- The "confidence" field reflects your certainty in that specific step's finding, not the overall claim.

## EXAMPLES
[EXAMPLES]

## RISK LEVEL
[RISK_LEVEL]

To adapt this template, replace the square-bracket placeholders with your specific data and policies. The [CLAIMS] placeholder should be populated with the output of an upstream claim extraction prompt to ensure atomicity. The [EVIDENCE_SET] must be a structured list of your retrieved documents, each with a unique, stable identifier to prevent citation hallucination. The [VERIFICATION_POLICY] is critical; it should define concrete rules like 'prefer peer-reviewed sources over news articles' or 'require two corroborating sources for financial figures.' The [EXAMPLES] placeholder should contain 1-2 few-shot examples of a complete, correct evidence chain to anchor the model's output format and reasoning depth. For high-risk domains, set [RISK_LEVEL] to 'high' and ensure a human-review step is enforced in your application harness before any output is finalized.

IMPLEMENTATION TABLE

Prompt Variables

Inputs the Evidence Chain Construction Prompt needs to work reliably. Validate these before sending the request to prevent silent failures and incomplete audit trails.

PlaceholderPurposeExampleValidation Notes

[CLAIMS_LIST]

The set of discrete, verifiable claims extracted from the source content that need evidence chain construction

Claim 1: Revenue grew 22% YoY. Claim 2: Customer churn decreased to 3.1%.

Must be an array of strings with unique claim IDs. Reject if claims are compound or contain multiple assertions. Validate claim boundaries are atomic before passing to this prompt.

[EVIDENCE_POOL]

The retrieved or provided evidence documents, passages, or data sources available for matching against claims

Source A: Q3 Earnings Report, p.4. Source B: Customer Success Metrics Dashboard, Oct 2024.

Must include source identifiers and content. Reject if evidence lacks provenance metadata. Validate that evidence pool is non-empty before constructing chains. Null evidence pool triggers explicit 'no evidence available' output.

[VERIFICATION_STANDARD]

The domain-specific evidence standard defining what constitutes sufficient proof for each claim type

Financial claims require audited statements or official filings. Statistical claims require primary data source with methodology.

Must be a non-empty string or structured object. Validate that standard is appropriate for claim domain. Missing or generic standards produce unreliable sufficiency judgments. Consider domain-specific standard templates.

[OUTPUT_SCHEMA]

The expected structure for the evidence chain output, defining required fields and their types

JSON schema with fields: claim_id, chain_steps (array of {step_number, action, source_id, evidence_quote, outcome}), chain_completeness (boolean), gaps (array of strings)

Must be a valid JSON Schema or TypeScript interface. Validate schema completeness: requires chain_steps, completeness flag, and gap documentation fields. Reject schemas that allow null evidence quotes without explicit null handling rules.

[CHAIN_DEPTH_LIMIT]

Maximum number of verification steps allowed per claim to prevent runaway chain construction

5

Must be a positive integer between 1 and 10. Validate before prompt assembly. Depth limits below 3 may produce incomplete chains for complex claims. Depth limits above 10 increase latency and cost without proportional accuracy gains.

[SOURCE_AUTHORITY_WEIGHTS]

Optional weighting rules for source credibility that influence chain step ordering and conflict resolution

Primary sources (audited filings) weight 1.0. Secondary sources (analyst reports) weight 0.6. Tertiary sources (news articles) weight 0.3.

If provided, must be a mapping of source categories to numeric weights between 0.0 and 1.0. Validate weight values are present for all source categories in evidence pool. Null allowed if authority weighting is handled upstream.

[REQUIRED_CITATION_FORMAT]

The format specification for evidence quotes and source references within chain steps

Direct quote in double quotes followed by (Source ID, Page/Line Reference, Date). Example: 'Revenue grew 22%' (SRC_A, p.4, 2024-10-15).

Must specify quote delimiters, source identifier format, and location reference format. Validate format string is parseable by downstream citation extraction. Ambiguous formats cause citation hallucination detection failures.

[MISSING_EVIDENCE_BEHAVIOR]

Instruction for how the prompt should handle claims where no evidence exists in the pool

Mark chain as incomplete, document specific missing evidence in gaps array, do not fabricate evidence quotes.

Must be one of: 'flag_and_continue', 'abort_claim', or 'escalate_for_review'. Validate this is set before prompt execution. Defaulting to 'flag_and_continue' without explicit configuration risks silent acceptance of unverified claims.

PROMPT PLAYBOOK

Implementation Harness Notes

How to wire the Evidence Chain Construction Prompt into a production audit pipeline with validation, retries, and human review gates.

The Evidence Chain Construction Prompt is not a standalone tool—it is a verification engine that must be embedded in a deterministic harness. For audit and compliance use cases, the harness must enforce that every claim receives a traceable verdict before the output is accepted. This means the application layer must manage claim ingestion, evidence retrieval, model invocation, output validation, and final packaging. The prompt itself handles the reasoning, but the harness owns the workflow integrity.

Begin by extracting claims upstream using a dedicated Claim Extraction prompt. Feed each claim individually (or in small batches of 3–5) into the Evidence Chain prompt along with retrieved evidence from your knowledge base, vector store, or document repository. The harness must track a claim_id through every step. After the model returns a chain, validate the output structurally: confirm that every claim in the input appears in the output with a non-null verification_status, that each evidence reference includes a retrievable source_id and chunk_id, and that the chain_steps array is non-empty. Reject and retry any response that fails structural validation. For high-stakes audits, implement a second-pass completeness check using a separate prompt that scores the chain for missing reasoning steps or unaddressed sub-claims.

Model choice matters here. Use a model with strong reasoning capabilities and long-context handling, such as GPT-4o or Claude 3.5 Sonnet, because evidence chains require multi-step logical threading. Set temperature=0 for deterministic outputs. Implement a retry loop with exponential backoff (1s, 2s, 4s) for malformed responses, capped at 3 attempts. After 3 failures, route the claim to a human review queue with the raw evidence and model attempts attached. Log every chain generation attempt—including the prompt version, model, retrieved evidence IDs, and validation results—to create an audit trail of the verification process itself. Never silently accept a partial or unvalidated chain in a compliance workflow.

For production deployment, consider batching claims by document or topic to reduce context-switching costs, but keep batches small enough that a single failure does not require reprocessing a large set. If your evidence retrieval system returns empty results, the harness should short-circuit and mark the claim as UNVERIFIABLE with a note that no evidence was found, rather than passing an empty context to the model and risking hallucinated justifications. Finally, build a human approval step for any chain where the model flags a contradiction or where confidence scores fall below your organization's threshold. The prompt produces the reasoning; the harness ensures that reasoning is complete, grounded, and reviewable.

IMPLEMENTATION TABLE

Expected Output Contract

Defines the exact structure, types, and validation rules for the evidence chain output. Use this contract to build a parser, validator, or retry harness before integrating the prompt into a production pipeline.

Field or ElementType or FormatRequiredValidation Rule

evidence_chain

array of objects

Must be a non-empty array. If no evidence is found, return a single object with status 'no_evidence' and an empty steps array.

evidence_chain[].claim_id

string

Must match the [CLAIM_ID] from the input claims list. Parse check: no orphaned claim IDs allowed.

evidence_chain[].verification_status

enum: supported | contradicted | insufficient_evidence | no_evidence

Must be one of the four allowed values. Schema check: reject any other string.

evidence_chain[].steps

array of objects

Must contain at least one step object. Each step represents a discrete check in the verification path.

evidence_chain[].steps[].step_number

integer

Must be a positive integer starting at 1 and incrementing sequentially. Parse check: no gaps or duplicates.

evidence_chain[].steps[].action

string

Must describe the verification action taken (e.g., 'retrieved_source', 'compared_quote', 'checked_date'). Free text but must not be empty or whitespace-only.

evidence_chain[].steps[].source_reference

string or null

Must be a [SOURCE_ID] from the provided source list, or null if the step does not reference a specific source. Parse check: reject references to source IDs not in the input set.

evidence_chain[].steps[].evidence_excerpt

string or null

Direct quote or data point from the source. Must be null if source_reference is null. If present, must be a verbatim excerpt bounded by 500 characters. Citation check: excerpt must be locatable in the referenced source.

evidence_chain[].steps[].outcome

string

Must describe the result of the step (e.g., 'claim_confirmed', 'date_mismatch_found', 'no_relevant_data'). Must not be empty.

evidence_chain[].chain_completeness

enum: complete | incomplete_missing_sources | incomplete_unresolved_steps

Must be one of the three allowed values. If 'incomplete', the final step must document the specific gap. Schema check: reject any other string.

evidence_chain[].final_confidence

number between 0.0 and 1.0

Must be a float. 0.0 indicates no confidence. 1.0 indicates full confidence. Validation check: if verification_status is 'insufficient_evidence', confidence must be <= 0.5.

PRACTICAL GUARDRAILS

Common Failure Modes

Evidence chain construction fails in predictable ways when moved from prototype to production. These are the most common failure modes and the operational guardrails that prevent them.

01

Phantom Evidence Citations

What to watch: The model generates plausible-looking source references, paragraph numbers, or quote fragments that do not exist in the provided evidence set. This is especially dangerous in audit contexts where fabricated citations create false confidence. Guardrail: Require exact string matching of all quoted text against source documents before accepting any citation. Implement a post-generation validator that rejects outputs containing quotes not found verbatim in the evidence payload.

02

Skipped Verification Steps

What to watch: The model collapses multiple verification steps into a single summary, omitting intermediate checks. A claim marked 'verified' may have only been checked against one source when three were required, or a contradiction check was silently skipped. Guardrail: Enforce a structured output schema with required fields for each verification step. Use a completeness validator that confirms every required step produced a non-null result before the chain is considered complete.

03

Evidence-to-Claim Mismatch Drift

What to watch: The model pairs a claim with evidence that is topically adjacent but does not actually address the specific assertion. Over multiple steps, drift compounds and the final verification report appears well-sourced while being substantively wrong. Guardrail: Include a dedicated relevancy check step that explicitly compares the semantic content of the claim against the evidence passage before accepting the pairing. Log relevancy scores for audit review.

04

Silent Null Evidence Handling

What to watch: When evidence retrieval returns zero results, the model may fabricate evidence, mark claims as 'unverifiable' without documentation, or skip the claim entirely. In batch pipelines, missing claims create false-negative verification gaps. Guardrail: Require an explicit 'no evidence found' output format with the search query documented and suggested alternative queries. Implement a coverage check that flags any input claim not addressed in the output.

05

Chain Completeness Collapse Under Token Pressure

What to watch: When many claims require verification in a single request, the model truncates evidence chains, drops source metadata, or merges verification steps to stay within output limits. Long chains become progressively less reliable. Guardrail: Split verification into bounded batches with a maximum claim count per request. Implement a chain-length validator that rejects outputs where the number of completed verification steps does not match the number of input claims.

06

False Corroboration from Redundant Sources

What to watch: The model treats multiple sources that all derive from the same original document as independent corroboration. A single press release syndicated across five outlets appears as five confirming sources, inflating confidence scores. Guardrail: Include a source provenance check that identifies shared origin, syndication, or citation chains. Require the model to flag when multiple sources trace back to a single root and adjust corroboration weight accordingly.

IMPLEMENTATION TABLE

Evaluation Rubric

Score each criterion on a pass/fail basis against a golden dataset of 20-50 known claim-evidence pairs. Run this rubric before shipping any change to the evidence chain construction prompt.

CriterionPass StandardFailure SignalTest Method

Chain Completeness

Every claim in [INPUT_CLAIMS] appears in the output chain with at least one evidence node

Claim present in input but missing from output chain

Parse output JSON, extract all claim IDs, diff against input claim list

Evidence Grounding

Every evidence node contains a non-empty [SOURCE_ID] and a direct quote or paraphrase from the source

Evidence node has null, empty, or hallucinated source ID; quote does not appear in referenced source

For each evidence node, retrieve source by ID and run substring or semantic match against quoted text

Step Traceability

Each step in the chain references the previous step's output or the original claim, forming an unbroken path

Step references a non-existent prior step or jumps from claim to conclusion without intermediate reasoning

Parse step dependency graph, check for dangling references and path continuity from claim to final verdict

Verdict Accuracy

Final verdict matches the ground-truth label in the golden dataset for each claim

Verdict contradicts ground truth (supported marked as unsupported, or vice versa)

Compare output verdict field to golden dataset label for each claim

Conflict Handling

When multiple sources disagree, output includes a conflict node documenting both positions with source IDs

Conflicting sources are silently dropped or one side is presented as consensus without acknowledgment

Inject golden pairs with known conflicts, check for presence of conflict node and dual-source citation

Uncertainty Expression

Claims with insufficient or ambiguous evidence receive a verdict of 'unverified' or 'insufficient evidence', not 'supported' or 'contradicted'

Insufficient evidence is rounded up to supported or down to contradicted without explicit gap documentation

Use golden pairs with known insufficient-evidence labels, verify verdict field and evidence gap documentation

Citation Format Validity

All source references match the required [CITATION_SCHEMA] format and contain resolvable identifiers

Citation uses wrong format, truncated ID, or identifier that cannot be resolved in the source registry

Validate all citation strings against regex or schema validator, attempt source registry lookup for each ID

No Fabricated Evidence

Zero evidence nodes contain fabricated quotes, invented source names, or hallucinated document sections

Output contains a quote or source that does not exist in the provided source set

For each evidence node, attempt exact match of quoted text in source; flag any quote with zero matches across all provided sources

ADAPTATION OPTIONS

Adapt This Prompt

How to adapt

Start with the base prompt and a single document. Remove strict schema enforcement; accept a paragraph-style chain. Use [CLAIM] and [SOURCE_DOCUMENT] as the only inputs. Skip completeness validation.

Prompt modification

code
For the claim: [CLAIM]
Using only the provided source: [SOURCE_DOCUMENT]
Walk through your verification step by step.

Watch for

  • Chains that skip steps or assert conclusions without showing evidence
  • Missing source quotes in the reasoning
  • Overconfident language when evidence is thin
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.