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.
Prompt
Evidence Reconciliation Prompt for Contradictory Sources

When to Use This Prompt
Define the job, reader, and constraints for the Evidence Reconciliation Prompt.
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.
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.
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.
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.
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.
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.
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.
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.
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.
textYou 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.
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.
| Placeholder | Purpose | Example | Validation 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. |
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.
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.
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.
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.
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.
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.
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.
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.
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.
| Criterion | Pass Standard | Failure Signal | Test 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 |
Enabling Efficiency, Speed & Accuracy
Intelligent Analysis, Decision & Execution
We build AI systems for teams that need search across company data, workflow automation across tools, or AI features inside products and internal software.
Talk to Us
Search across company data
Give teams answers from docs, tickets, runbooks, and product data with sources and permissions.
Useful when people spend too long searching or get different answers from different systems.

Automate internal workflows
Use AI to route work, draft outputs, trigger actions, and keep approvals and logs in place.
Useful when repetitive work moves across multiple tools and teams.

Add AI to products and internal tools
Build assistants, guided actions, or decision support into the software your team or customers already use.
Useful when AI needs to be part of the product, not a separate tool.
Adapt This Prompt
How to adapt
Start with the base 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.
codeYou 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

About the author
Prasad Kumkar
CEO & MD, Inference Systems
Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.
His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.
Partnered with leading AI, data, and software stack.
How We Work
Custom AI workflows for your Business
One-fit-all AI don't work for modern businesses. At Inferensys, we aim to understand your business & custom requirements; which we use to define most efficient agentic workflows, the data, and the tools for your business.
01
Review the use case
We understand the task, the users, and where AI can actually help.
Read more02
Pick the right approach
We define what needs search, automation, or product integration.
Read more03
Build the first useful version
We implement the part that proves the value first.
Read more04
Improve from there
We add the checks and visibility needed to keep it useful.
Read moreThe first call is a practical review of your use case and the right next step.
Talk to Us