Inferensys

Prompt

Evidence Reconciliation Prompt for Contradictory Sources

A practical prompt playbook for using Evidence Reconciliation Prompt for Contradictory Sources in production AI workflows.
Developer doing prompt engineering on laptop, prompt variations visible on screen, casual coding session.
PROMPT PLAYBOOK

When to Use This Prompt

Define the job, reader, and constraints for the Evidence Reconciliation Prompt.

This prompt is for knowledge-base teams and RAG application developers who need to systematically reconcile factual disagreements across multiple source documents. The core job-to-be-done is producing a structured reconciliation table that maps claims to their supporting sources, identifies which claims are disputed, and flags irreconcilable differences without fabricating false consensus. The ideal user is an engineer or product manager building a decision-support system, research assistant, or compliance review tool where users must see contradictions rather than have them silently resolved.

Use this prompt when you have a retrieval set containing sources that directly contradict each other on material facts—for example, conflicting financial figures in two earnings reports, contradictory clinical trial outcomes, or opposing technical specifications in vendor documentation. The prompt requires pre-retrieved source passages as input, along with a clear specification of the factual dimensions to reconcile. It is not suitable for single-source analysis, general summarization, or scenarios where sources agree. Do not use this prompt when the contradictions are matters of opinion rather than verifiable fact, or when the sources are not authoritative enough to warrant structured reconciliation. The output is a machine-readable reconciliation table, not a narrative answer, making it appropriate for downstream processing, audit trails, and user-facing comparison UIs.

Before deploying this prompt, ensure you have a retrieval pipeline that can surface contradictory passages, not just top-k relevant results. The prompt assumes you have already identified that disagreement exists; it does not perform contradiction detection from scratch. Pair this prompt with an evidence conflict detection step upstream and a human review queue for irreconcilable flags. In regulated domains such as healthcare, finance, or legal, always route outputs flagged as irreconcilable to a subject-matter expert before they reach end users. The reconciliation table should be treated as an intermediate artifact, not a final answer.

PRACTICAL GUARDRAILS

Use Case Fit

Where the Evidence Reconciliation Prompt delivers value and where it introduces risk. Use these cards to decide if this prompt fits your workflow before integrating it into a production pipeline.

01

Good Fit: Multi-Source RAG with Known Disagreements

Use when: your retrieval pipeline returns passages from different documents that directly contradict each other on factual claims. Guardrail: The prompt excels at producing a reconciliation table that maps claims to sources, flags disputed items, and identifies irreconcilable differences without fabricating consensus.

02

Good Fit: Audit and Compliance Review Workflows

Use when: you need a structured artifact showing exactly which sources support which claims, for internal review or regulatory evidence packets. Guardrail: The output format is designed for human review queues and audit trails, not for direct user-facing answers without oversight.

03

Bad Fit: Single-Source or Consensus-Heavy Domains

Avoid when: your retrieval set contains only one authoritative source or when the domain requires a single definitive answer. Guardrail: This prompt intentionally surfaces disagreement. Using it where consensus is expected will produce noise and false flags that erode user trust.

04

Bad Fit: Real-Time or Latency-Sensitive Applications

Avoid when: you need sub-second response times or are operating in a synchronous user-facing chat where reconciliation tables add friction. Guardrail: This prompt is designed for asynchronous review queues, batch processing, or internal tooling where thoroughness matters more than speed.

05

Required Inputs: Ranked Passages with Source Metadata

Risk: feeding raw, unranked retrieval results produces noisy reconciliation tables with false contradictions from irrelevant passages. Guardrail: Pre-filter and rank passages before invoking this prompt. Include source identifiers, dates, and authority metadata so the model can assess credibility alongside factual alignment.

06

Operational Risk: False Equivalence Between Sources

Risk: the model may present two contradictory sources as equally valid when one is clearly more authoritative or current. Guardrail: Include explicit instructions in the prompt to weight sources by recency and authority, and add a post-generation review step that checks for inappropriate neutrality on settled facts.

PROMPT PLAYBOOK

Copy-Ready Prompt Template

A reusable prompt template with square-bracket placeholders for reconciling contradictory evidence across multiple sources.

The prompt below is designed to be copied directly into your application or evaluation harness. It instructs the model to produce a structured reconciliation table that maps claims to their supporting and contradicting sources, identifies disputed facts, and flags irreconcilable differences. Every placeholder is wrapped in square brackets and must be replaced with concrete values before the prompt is sent to the model. The template assumes you have already retrieved a set of potentially contradictory passages and need the model to surface disagreements rather than silently harmonize them.

text
You are an evidence reconciliation analyst. Your task is to examine a set of source passages that may contain contradictory claims and produce a structured reconciliation report.

## INPUT SOURCES
[SOURCES]

## CLAIMS TO VERIFY
[CLAIMS]

## OUTPUT SCHEMA
Return a JSON object with the following structure:
{
  "reconciliation_table": [
    {
      "claim": "string (the claim being examined)",
      "supporting_sources": [
        {
          "source_id": "string",
          "excerpt": "string (the specific text that supports the claim)",
          "support_strength": "direct | indirect | weak"
        }
      ],
      "contradicting_sources": [
        {
          "source_id": "string",
          "excerpt": "string (the specific text that contradicts the claim)",
          "contradiction_type": "direct_negation | alternative_fact | scope_disagreement | framing_disagreement"
        }
      ],
      "disputed": true | false,
      "resolution_notes": "string (explain whether the contradiction can be resolved by scope, recency, authority, or context, or if it is irreconcilable)"
    }
  ],
  "irreconcilable_differences": [
    {
      "claim": "string",
      "source_a_id": "string",
      "source_a_position": "string",
      "source_b_id": "string",
      "source_b_position": "string",
      "reason_irreconcilable": "string"
    }
  ],
  "overall_assessment": "string (summary of the evidence landscape, degree of consensus, and confidence in any conclusions)"
}

## CONSTRAINTS
- Do not fabricate consensus where sources genuinely disagree.
- If a claim has no supporting or contradicting evidence in the provided sources, mark it as disputed: false with empty arrays and note the absence of evidence in resolution_notes.
- Preserve the exact wording of excerpts; do not paraphrase.
- If sources disagree on scope, recency, or framing rather than direct facts, capture that in contradiction_type and resolution_notes.
- Do not introduce external knowledge. Work only with the provided [SOURCES].
- If [RISK_LEVEL] is "high", append a human_review_required: true flag to the output and include a summary of what a reviewer should verify.

## RISK LEVEL
[RISK_LEVEL]

## EXAMPLES
[EXAMPLES]

To adapt this template, start by replacing [SOURCES] with your retrieved passages, each tagged with a unique source_id and the full passage text. Replace [CLAIMS] with the specific factual assertions you need to verify across those sources—these may come from a prior extraction step or from user-submitted statements. Set [RISK_LEVEL] to "high" for regulated, safety-critical, or customer-facing workflows to force a human-review flag in the output. The [EXAMPLES] placeholder should contain one or two worked examples showing the expected reconciliation behavior, especially for cases where sources genuinely conflict. After generating the output, validate the JSON structure against the schema, check that every claim in the input appears in the reconciliation_table, and verify that no source_id references are hallucinated. For high-risk deployments, route outputs with irreconcilable_differences to a human reviewer before any downstream consumption.

IMPLEMENTATION TABLE

Prompt Variables

Required inputs for the Evidence Reconciliation Prompt. Each placeholder must be populated before the prompt is assembled and sent. Validation notes describe how to programmatically verify that the input is well-formed before incurring inference cost.

PlaceholderPurposeExampleValidation Notes

[SOURCES]

Array of source objects, each containing an id, text, and optional metadata such as date or author.

[{"id":"src_1","text":"The release date is March 3.","date":"2025-01-15"},{"id":"src_2","text":"The release date is March 10.","date":"2025-02-01"}]

Must be a non-empty array. Each object requires a non-empty id and text field. Reject if array length is 0 or any text field is null or whitespace-only.

[CLAIM_LIST]

Explicit list of factual claims to check across sources. If null, the prompt extracts claims automatically.

["Product X launch date", "Pricing tier for enterprise"]

If provided, must be an array of non-empty strings. If null, the prompt must include instructions for claim extraction. Validate array type and string length > 0.

[OUTPUT_SCHEMA]

JSON schema or structured format description that defines the reconciliation table shape.

{"type":"object","properties":{"reconciliation_table":{"type":"array","items":{"type":"object","properties":{"claim":{"type":"string"},"sources_supporting":{"type":"array"},"sources_contradicting":{"type":"array"},"resolution_status":{"type":"string","enum":["agreement","disputed","irreconcilable","single_source"]}}}}}}

Must be valid JSON. Parse the schema before prompt assembly. Reject if JSON.parse fails. Ensure required fields are present: claim, sources_supporting, sources_contradicting, resolution_status.

[CONFLICT_THRESHOLD]

Minimum number of conflicting sources required to flag a claim as disputed rather than treating the minority as an outlier.

2

Must be a positive integer. Default to 1 if not provided. Validate type is number and value >= 1. If set too high, genuine conflicts may be suppressed.

[MAX_SOURCES_PER_CLAIM]

Upper bound on how many source IDs to include per claim row to prevent output bloat.

5

Must be a positive integer. Default to 10 if not provided. Validate type is number and value >= 1. Truncation behavior should be documented in the prompt instructions.

[NEUTRALITY_INSTRUCTION]

Optional override for how the model should describe irreconcilable differences. Default is neutral, evidence-only language.

"Do not imply one source is correct. State only that sources disagree and present each side's evidence without resolution."

If provided, must be a non-empty string. Validate string length > 0. If null, the prompt uses a default neutrality policy. Test that the instruction does not introduce bias toward one source type.

[CITATION_FORMAT]

Format string or instruction for how source references should appear in the reconciliation table.

"[id]"

Must be a non-empty string. Validate that the format includes a reference to the source id field. Common formats: "[id]", "(Source: id)", or "id". Test that the model consistently applies the format.

PROMPT PLAYBOOK

Implementation Harness Notes

How to wire the Evidence Reconciliation Prompt into a production application with validation, retries, and human review gates.

The Evidence Reconciliation Prompt is designed as a structured analysis step within a larger RAG or document-intelligence pipeline, not as a standalone chat interaction. It expects pre-retrieved source passages that have already been identified as potentially contradictory. The application layer is responsible for assembling the [SOURCES] array, injecting the [CLAIM_OR_QUESTION], and parsing the reconciliation table output. This prompt works best when it follows an upstream conflict detection step that flags which passages disagree, so the reconciliation prompt receives a focused set of contradictory sources rather than an undifferentiated retrieval dump.

Input assembly requires mapping each source to a structured object with source_id, source_label, passage_text, and optional metadata fields (date, authority score, retrieval rank). The application should deduplicate near-identical passages before calling this prompt to avoid wasting tokens on redundant evidence. Model choice matters: use a model with strong instruction-following and structured output capabilities (GPT-4o, Claude 3.5 Sonnet, or Gemini 2.0 Flash with JSON mode enabled). For high-stakes domains (legal, medical, financial), prefer models with lower hallucination rates on structured extraction tasks and always enable temperature=0 or a low value (0.1–0.2) to maximize output stability. Tool use is not required for this prompt—it is a pure text-in, structured-text-out operation—but you may wire it as a tool if your agent framework requires tool-call formatting.

Output validation is critical because the reconciliation table drives downstream decisions. Implement a post-generation validator that checks: (1) every source_id in the output exists in the input source list, (2) no source is omitted from the reconciliation table unless explicitly marked as irrelevant with a reason, (3) the reconciliation_status field uses only the allowed enum values (confirmed, disputed, irreconcilable, insufficient_evidence), (4) every disputed or irreconcilable claim includes specific evidence excerpts from both sides, and (5) the output is valid JSON matching the expected schema. If validation fails, retry once with the validation errors appended to the prompt as [PREVIOUS_VALIDATION_ERRORS]. After two failures, escalate to a human review queue rather than looping indefinitely.

Logging and observability should capture: the input source count, the number of claims analyzed, the distribution of reconciliation statuses, validation pass/fail, retry count, and latency. Store the full prompt and response for audit trails, especially in regulated workflows. Human review gates are required when: (1) the prompt flags claims as irreconcilable, (2) the confidence score for any claim falls below a configurable threshold (e.g., <0.7), (3) the output contains insufficient_evidence for a claim the user needs resolved, or (4) the validator rejects the output twice. The review interface should display the original sources side-by-side with the reconciliation table, highlighting disputed claims for rapid human judgment.

Integration patterns: wire this prompt as a synchronous step in a request-response pipeline for interactive applications (latency target <5 seconds), or as an asynchronous batch job for document review workflows. For RAG systems, place this prompt after retrieval and before answer generation—the reconciliation table informs the final answer prompt about which claims are settled versus disputed. Avoid using this prompt on sources that are not genuinely contradictory; it will fabricate disagreements to satisfy the task framing. Pre-filter with a lightweight contradiction detection prompt or embedding similarity threshold before invoking reconciliation. Do not skip the human review gate for irreconcilable claims in customer-facing or decision-support applications—presenting unresolved contradictions as settled facts causes more harm than admitting uncertainty.

PRACTICAL GUARDRAILS

Common Failure Modes

Evidence reconciliation prompts fail in predictable ways when handling contradictory sources. These are the most common production failure modes and the guardrails that prevent them.

01

False Consensus Forcing

What to watch: The model fabricates agreement between sources that actually disagree, smoothing over contradictions to produce a clean answer. This is the most dangerous failure mode because it produces confident, wrong outputs that pass casual review. Guardrail: Require the prompt to explicitly list points of disagreement before any synthesis. Add an eval that checks whether every contradiction in the source set appears in the output. If sources disagree on a fact, the output must surface that disagreement, not resolve it silently.

02

Source Amnesia in Long Contexts

What to watch: When reconciling many sources, the model loses track of which claim came from which source, especially in the middle of long context windows. Claims get misattributed or orphaned, breaking the reconciliation table's accuracy. Guardrail: Structure the prompt to process sources one at a time before cross-referencing. Require claim-to-source mapping as an intermediate output step. Use a post-generation verification prompt that spot-checks random claim-source pairs against the original passages.

03

Asymmetric Source Weighting

What to watch: The model implicitly favors the first source, the longest source, or the most confidently written source, even when instructed to treat all sources equally. This produces a reconciliation that silently privileges one perspective. Guardrail: Randomize source order in the prompt. Add explicit instructions to compare source authority only on specified dimensions such as recency or primary-source status. Include an eval that measures whether each source's claims receive proportional representation in the output.

04

Irreconcilable Difference Avoidance

What to watch: When sources flatly contradict each other with no resolution path, the model hedges, equivocates, or produces a vague both-sides statement that avoids declaring the conflict irreconcilable. Users receive a false impression that the evidence is more coherent than it is. Guardrail: Require an explicit irreconcilable-differences section in the output schema. Add a refusal trigger: if the prompt detects direct factual contradiction with no tie-breaking evidence, it must flag the conflict as unresolved rather than synthesizing a middle ground.

05

Claim Drift During Reconciliation

What to watch: As the model maps claims across sources, it subtly rewords or generalizes claims to make them easier to compare, losing precision. A source that says revenue grew 3.2 percent gets mapped to revenue increased, which then gets incorrectly reconciled with a source claiming flat revenue. Guardrail: Require verbatim quote extraction before any paraphrasing or comparison. The reconciliation table must include exact source text alongside the normalized claim. Add an eval that measures semantic drift between source quotes and reconciled claims.

06

Missing Source Omission

What to watch: The model silently drops one or more sources from the reconciliation table, especially sources that are short, low-confidence, or contain only partial overlap with other sources. The output looks complete but omits evidence. Guardrail: Include a source-coverage check in the output: the prompt must list every provided source and confirm whether it contributed claims to the reconciliation. Add a post-generation eval that verifies the count of sources represented in the output matches the count of sources provided.

IMPLEMENTATION TABLE

Evaluation Rubric

Use this rubric to test the Evidence Reconciliation Prompt before shipping. Each criterion targets a specific failure mode: false consensus, missed contradictions, source misattribution, or incomplete reconciliation. Run these checks on a golden dataset of known contradictory source pairs.

CriterionPass StandardFailure SignalTest Method

Contradiction Detection Recall

All known contradictions in the golden set are surfaced in the reconciliation table

A known direct contradiction between two sources is missing from the output

Compare output contradiction count against labeled golden-set contradictions; require 100% recall

False Consensus Rate

Output does not claim agreement where sources explicitly disagree

Reconciliation table marks a disputed claim as Agreed or omits the conflict column

Inject source pairs with known disagreements; verify each disputed claim appears with Disputed status

Source Attribution Accuracy

Every claim in the reconciliation table maps to the correct source identifier

A claim is attributed to Source A when it originated in Source B

Parse claim-to-source mappings; cross-reference against golden-set attribution labels; require exact match

Irreconcilable Difference Flagging

Claims with no resolution path are explicitly marked Irreconcilable with a reason

An irreconcilable contradiction is marked Resolvable or left without a status

Inject source pairs with known irreconcilable facts; verify each flagged claim includes a non-empty reason field

Neutrality Score

Output describes each side of a dispute without favoring one source or using loaded language

One source is described with dismissive language or the other with preferential framing

Run an LLM judge with a pairwise neutrality prompt; require a score above the [NEUTRALITY_THRESHOLD]

Completeness of Claim Coverage

All material factual claims from both sources appear in the reconciliation table

A substantive claim from one source is absent from the output

Extract claims from each source independently; verify every extracted claim has a corresponding row in the output table

Schema Compliance

Output is valid JSON matching the [OUTPUT_SCHEMA] with all required fields present

Output is missing required fields, contains extra keys, or fails JSON parse

Validate output against the schema; reject on parse failure, missing required fields, or type mismatches

Citation Span Grounding

Each claim in the reconciliation table includes a verbatim quote or span reference from its source

A claim row contains a paraphrased summary without a direct source quote

Check that every claim row has a non-empty quote field containing text present in the source passage

ADAPTATION OPTIONS

Adapt This Prompt

How to adapt

Start with the base reconciliation prompt and a small set of 3–5 contradictory passages. Remove strict output schema requirements initially—accept a markdown table or structured paragraph. Use a frontier model with default temperature (0.0–0.2) for deterministic reconciliation.

code
You are reconciling contradictory evidence. For each claim in [CLAIM_LIST], indicate which sources support, dispute, or are silent on the claim. Flag any irreconcilable differences.

Sources:
[SOURCES]

Claims to check:
[CLAIMS]

Watch for

  • Model inventing consensus where none exists
  • Missing disputed claims because instructions are too broad
  • No flag for irreconcilable differences
  • Output format drift when source count varies
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.