Inferensys

Prompt

Contradiction Resolution Prompt for Competing Evidence

A practical prompt playbook for using Contradiction Resolution Prompt for Competing Evidence in production AI workflows.
Operations team reviewing AI workflow automation on laptop, workflow builder visible, casual office setup.
PROMPT PLAYBOOK

When to Use This Prompt

Define the job, reader, and constraints for the Contradiction Resolution Prompt.

This prompt is designed for RAG and multi-source research pipelines where retrieved evidence contains conflicting facts, dates, claims, or interpretations. The core job-to-be-done is to produce a structured conflict report that identifies specific contradictions, traces each claim to its source provenance, and recommends a resolution strategy—rather than letting the model silently choose one source or hallucinate a blended answer. The ideal user is an AI engineer or product developer building a system where downstream decisions depend on accurate evidence synthesis, such as legal research, clinical literature review, financial due diligence, or competitive intelligence. You need this prompt when your retrieval step returns documents that disagree and you cannot afford the model to paper over those disagreements with fluent but misleading prose.

The prompt requires several inputs to function correctly: a set of evidence passages with source identifiers, a specific question or claim being evaluated, and a defined output schema for the conflict report. You must also supply a risk level that controls whether the model recommends a resolution or simply flags the contradiction for human review. In high-stakes domains—healthcare, legal, compliance, safety—the resolution strategy field should be gated behind human approval. The prompt is not appropriate when all sources agree, when you need a single synthesized answer without provenance tracking, or when the contradiction is trivial and does not affect downstream decisions. Do not use this prompt for real-time chat where latency constraints prevent structured conflict analysis, or for tasks where the model lacks sufficient context to compare claims across sources.

Before deploying this prompt, ensure your retrieval pipeline preserves source metadata (document ID, date, author, authority tier) and that your application layer can enforce the human-review gate for high-risk resolutions. The prompt template includes placeholders for evidence, query, output schema, and risk level—adapt these to your domain's taxonomy and review workflow. After reading this section, proceed to the prompt template to copy the base structure, then review the implementation harness for guidance on validation, retries, and production wiring.

PRACTICAL GUARDRAILS

Use Case Fit

Where the Contradiction Resolution Prompt delivers value and where it creates risk. Use this to decide if the prompt fits your workflow before integrating it into a RAG pipeline or research system.

01

Good Fit: Multi-Source Research Synthesis

Use when: you have 3+ sources that disagree on facts, dates, or claims and need a structured conflict report. Guardrail: always include source provenance in the input so the model can attribute each contradiction to specific documents.

02

Bad Fit: Single-Source Factual Verification

Avoid when: you only have one source document and need to verify its claims against ground truth. This prompt requires competing evidence to produce a conflict report. Guardrail: use a fact-checking prompt with external retrieval instead of forcing a contradiction analysis on a single source.

03

Required Inputs: Source-Anchored Evidence Pairs

What to watch: the prompt fails silently when sources are unlabeled or evidence is paraphrased without provenance. Guardrail: each evidence item must include a source ID, publication date, and verbatim or near-verbatim text. Validate input structure before calling the model.

04

Operational Risk: High-Stakes Domains Without Review

Risk: in legal, clinical, or financial workflows, an unresolved contradiction can propagate into downstream decisions if the resolution recommendation is treated as authoritative. Guardrail: require human approval gating on all resolution recommendations before they enter a system of record or decision pipeline.

05

Operational Risk: Hallucinated Contradictions

Risk: the model may fabricate conflicts between sources that actually agree, especially when evidence is ambiguous or poorly grounded. Guardrail: add an eval step that checks each reported contradiction against the original source text and flags unsupported conflict claims.

06

Good Fit: Pre-Decision Briefing Workflows

Use when: analysts or decision-makers need a clear summary of where evidence diverges before making a judgment call. Guardrail: structure the output as a decision-support artifact with explicit uncertainty language, not as a final answer. Include a 'recommended resolution' field with confidence qualifiers.

PROMPT PLAYBOOK

Copy-Ready Prompt Template

A reusable prompt template for generating structured contradiction reports from competing evidence sources.

The following prompt template is designed to be copied directly into your prompt management system, IDE, or orchestration layer. It accepts a set of competing evidence passages and produces a structured conflict report that identifies contradictions, traces them to their sources, and recommends a resolution strategy. Every placeholder is enclosed in square brackets and must be replaced with real values before inference. The template is intentionally strict about output structure because downstream systems—review queues, logging pipelines, and audit tools—depend on consistent JSON.

text
You are a contradiction resolution analyst. Your task is to examine a set of evidence passages that may contain conflicting claims about the same topic. You must identify every contradiction, trace each conflicting claim to its source, assess the relative reliability of each source, and recommend a resolution strategy.

## INPUT EVIDENCE
[EVIDENCE_PASSAGES]

## TASK INSTRUCTIONS
1. Extract every factual claim from the evidence passages.
2. Group claims that address the same fact, date, figure, event, or assertion.
3. For each group where claims disagree, produce a contradiction entry.
4. For each contradiction, assess source reliability based on [RELIABILITY_CRITERIA].
5. Recommend a resolution strategy from the allowed list: [RESOLUTION_STRATEGIES].
6. Flag any contradiction that requires human review based on [RISK_LEVEL].

## OUTPUT SCHEMA
Return a single JSON object with this exact structure:
{
  "contradictions": [
    {
      "contradiction_id": "string",
      "claim_group": "string describing the disputed fact",
      "conflicting_claims": [
        {
          "claim_text": "string",
          "source_id": "string matching source identifier from evidence",
          "source_excerpt": "verbatim quote from source",
          "reliability_assessment": "string"
        }
      ],
      "resolution_strategy": "string from allowed list",
      "resolution_rationale": "string explaining why this strategy was chosen",
      "requires_human_review": boolean,
      "human_review_reason": "string or null"
    }
  ],
  "uncontested_claims": [
    {
      "claim_text": "string",
      "supporting_sources": ["source_id"]
    }
  ],
  "resolution_summary": "string summarizing overall findings and recommended actions"
}

## CONSTRAINTS
- Do not invent claims absent from the evidence.
- Do not resolve contradictions by preferring the most fluent or confident-sounding source.
- Every conflicting claim must include a verbatim source excerpt.
- If reliability cannot be assessed, mark the contradiction for human review.
- If [RISK_LEVEL] is "high," all contradictions require human review regardless of confidence.
- Return only valid JSON. No markdown fences, no commentary outside the JSON object.

To adapt this template, replace [EVIDENCE_PASSAGES] with your retrieved or provided source material, formatted with clear source identifiers that the model can reference in its output. Define [RELIABILITY_CRITERIA] based on your domain—common criteria include source recency, author expertise, publication venue, corroboration count, and primary vs. secondary status. Set [RESOLUTION_STRATEGIES] to a closed list such as ["prefer_most_recent", "prefer_primary_source", "prefer_majority_corroborated", "flag_for_human_review", "report_disagreement_without_resolution"]. Set [RISK_LEVEL] to "low", "medium", or "high" based on your domain's tolerance for automated resolution. For high-stakes domains like healthcare, finance, or legal, always set risk level to "high" and ensure a human reviews every contradiction before any downstream action is taken.

IMPLEMENTATION TABLE

Prompt Variables

Required and optional inputs for the Contradiction Resolution Prompt. Validate each variable before assembly to prevent runtime failures and ensure the model receives complete, well-formed conflict data.

PlaceholderPurposeExampleValidation Notes

[EVIDENCE_SET]

Collection of competing source passages, claims, or data points to analyze for contradictions.

Source A: 'The event occurred on March 12, 2024.' Source B: 'The event was documented on March 15, 2024.'

Required. Must contain at least two distinct sources. Validate that each source has a unique identifier and non-empty content. Reject if only one source is present.

[SOURCE_METADATA]

Provenance information for each source including author, date, authority level, and retrieval method.

Source A: {author: 'Internal Audit', date: '2024-03-12', authority: 'primary'}

Required per source. Validate that each source in [EVIDENCE_SET] has a corresponding metadata entry. Authority field must be one of: primary, secondary, tertiary, unknown. Date must parse as ISO 8601.

[TASK_DOMAIN]

Domain context for the analysis, used to calibrate contradiction severity and resolution strategies.

financial_audit

Required. Must match an approved domain enum. Use 'general' if no specific domain applies. Controls risk thresholds and required approval gates.

[CONTRADICTION_TYPES]

Taxonomy of contradiction categories the model should detect and classify.

factual_disagreement, temporal_conflict, definitional_mismatch, source_attribution_error

Optional. Defaults to standard taxonomy if omitted. If provided, each type must be a non-empty string. Validate against known contradiction type catalog.

[RESOLUTION_STRATEGIES]

Allowed resolution approaches the model may recommend.

majority_vote, authority_weighted, recency_priority, escalate_to_human

Optional. Defaults to all strategies if omitted. If provided, each strategy must be from the approved strategy enum. At least one strategy must be specified if domain is regulated.

[RISK_THRESHOLD]

Confidence or severity level above which human review is mandatory.

medium

Required for regulated domains. Must be one of: low, medium, high, critical. Controls whether the output includes an escalation flag. Defaults to 'high' if omitted in non-regulated domains.

[OUTPUT_SCHEMA]

Expected structure for the contradiction report output.

JSON schema with fields: contradiction_id, sources_involved, contradiction_type, severity, evidence_excerpts, resolution_recommendation, confidence_score, requires_human_review

Required. Must be a valid JSON Schema object. Validate that required fields include contradiction_id, sources_involved, and requires_human_review. Reject schemas missing escalation fields for regulated domains.

[MAX_CONTRADICTIONS]

Upper bound on the number of contradictions to report, preventing unbounded output.

10

Optional. Must be a positive integer between 1 and 50. Defaults to 20 if omitted. Use to control token costs and prevent analysis paralysis on large evidence sets.

PROMPT PLAYBOOK

Implementation Harness Notes

How to wire the Contradiction Resolution Prompt into a production RAG or research pipeline with validation, retries, and human review gating.

The Contradiction Resolution Prompt is not a standalone chat interaction; it is a pipeline stage that sits between evidence retrieval and final answer generation. In a typical RAG architecture, you retrieve multiple passages, detect that they conflict on key facts, and then invoke this prompt to produce a structured conflict report. The report becomes input to a downstream decision: either an automated resolution strategy (prefer the most recent source, prefer the highest-authority source) or a human review queue. Wire this prompt as a synchronous call within an async processing pipeline, with a strict timeout and a well-defined output schema that your application can parse and act on.

Start by defining the input contract. The prompt expects a [QUERY] describing the question or claim under investigation, a [SOURCES] array where each source object includes an id, text, date, and authority field, and a [CONFLICT_DESCRIPTION] summarizing the nature of the disagreement. On the application side, validate that [SOURCES] contains at least two entries with non-empty text fields before calling the model. If the retrieval step returns only one source or sources that agree, skip this prompt entirely and route directly to answer generation. For model choice, prefer a model with strong reasoning and structured output capabilities (e.g., Claude 3.5 Sonnet, GPT-4o) because the task requires careful comparison and nuanced judgment. Set temperature to 0 or near-zero to maximize consistency across runs. Implement a JSON schema validator on the response: the output must contain a conflicts array where each conflict has claim, source_positions (mapping source IDs to their stances), resolution_strategy, and recommended_resolution fields. If the model returns malformed JSON, retry once with the same prompt plus a brief repair instruction appended to the system message. If the second attempt fails, log the raw output and escalate to a human operator rather than silently proceeding with a broken conflict report.

Human review gating is the most critical harness decision. For high-stakes domains—legal, healthcare, finance, safety—configure the pipeline so that any conflict report with a resolution_strategy of manual_review_required or a confidence score below a configurable threshold (e.g., 0.8) automatically routes to a review queue. Do not auto-resolve conflicts in these domains. For lower-stakes applications, you can implement automated resolution rules: if the conflict is purely about recency and one source is significantly newer, auto-select the newer source; if the conflict is about authority and one source is a primary document while another is a secondary summary, auto-select the primary. Log every automated resolution decision with the full conflict report, the rule that fired, and the selected resolution for auditability. Instrument the harness with metrics: conflict detection rate, resolution strategy distribution, human review escalation rate, and end-to-end latency from retrieval to resolved answer. These metrics will tell you whether the prompt is catching real contradictions or generating noise, and whether your resolution rules are aligned with actual source quality.

PRACTICAL GUARDRAILS

Common Failure Modes

When resolving contradictions across competing evidence, these failures surface first in production. Each card identifies a specific breakdown and the guardrail that catches it before it reaches a user or downstream system.

01

False Consensus on Unresolvable Conflicts

What to watch: The model forces a resolution when sources genuinely conflict and no authoritative answer exists, fabricating a compromise that misrepresents the evidence. Guardrail: Require an explicit 'Unresolvable' conflict tier in the output schema. When confidence is low or sources are equally credible, the resolution strategy must default to 'Escalate for Human Review' rather than synthesizing a false consensus.

02

Source Authority Collapse

What to watch: The model treats all sources as equally credible, elevating an outdated blog post to the same weight as a primary regulatory filing or peer-reviewed study. Guardrail: Embed a source-authority tier list in the prompt instructions. Require the model to classify each source by type and recency before weighing claims. Flag outputs where low-authority sources drive the resolution.

03

Silent Evidence Omission

What to watch: The model drops a conflicting source entirely from the report rather than surfacing the contradiction, producing a clean but incomplete analysis. Guardrail: Require an explicit 'All Sources Accounted For' check in the output. Every source provided in the input must appear in the conflict report, even if its claim is ultimately rejected with a stated reason.

04

Temporal Conflation of Facts

What to watch: The model treats a 2019 statistic and a 2024 statistic as contradictory when they are simply time-shifted, or worse, merges them into a single ahistorical claim. Guardrail: Require date-stamping on every extracted claim. The prompt must instruct the model to compare timestamps before declaring a contradiction. Claims with non-overlapping time periods should be flagged as 'Temporal Variance' rather than 'Direct Conflict.'

05

Hallucinated Resolution Evidence

What to watch: To close a conflict, the model invents a bridging fact or cites a source that was never provided, creating a clean resolution built on fabricated ground. Guardrail: Enforce a strict grounding constraint: every sentence in the resolution section must be traceable to at least one provided source passage. Run a post-generation citation audit that flags unsupported claims for removal before the output is shown to a user.

06

Over-Deference to Recency

What to watch: The model defaults to 'the most recent source wins' even when the newer source is a low-credibility update or the older source is a foundational regulatory document that remains in force. Guardrail: Add a recency-vs-authority tiebreaker rule in the prompt. When a newer, low-authority source contradicts an older, high-authority source, the resolution strategy must flag the conflict for human review rather than auto-resolving in favor of the recent document.

IMPLEMENTATION TABLE

Evaluation Rubric

Use this rubric to evaluate the quality of the contradiction resolution output before shipping. Each criterion targets a specific failure mode common in evidence synthesis tasks. Run these checks programmatically where possible and escalate to human review for high-stakes domains.

CriterionPass StandardFailure SignalTest Method

Contradiction Completeness

All conflicting claims from [EVIDENCE_SET] are identified and paired in the conflict report

Output omits a known contradiction present in the source evidence or reports a non-existent conflict

Parse output JSON. Extract all claim pairs. Diff against a pre-labeled golden set of known contradictions from the same evidence. Flag missing pairs and hallucinated pairs.

Source Provenance Accuracy

Every conflicting claim includes a correct [SOURCE_ID] and a verbatim or near-verbatim quote from the source text

A claim is attributed to the wrong source, a quote is fabricated, or a [SOURCE_ID] is missing or invalid

For each claim in the output, verify the [SOURCE_ID] exists in the input manifest. Use substring or fuzzy match to confirm the quoted text appears in the referenced source passage.

Resolution Strategy Validity

The recommended resolution for each conflict is one of the allowed enum values: 'prefer_source', 'flag_for_review', 'report_disagreement', or 'insufficient_evidence'

Output uses an undefined resolution strategy or applies 'prefer_source' without specifying which source is preferred and why

Validate the 'resolution_strategy' field against the allowed enum. If 'prefer_source' is used, assert that 'preferred_source_id' is present and not null.

Evidence Grounding Score

Every resolution includes a 'rationale' field that references specific evidence from the sources, not just general plausibility

Rationale contains generic reasoning like 'Source A seems more reliable' without citing a concrete detail from Source A that supports its credibility

Use an LLM-as-judge check with a secondary prompt. Pass the output rationale and the original evidence to a judge model. Ask: 'Does this rationale cite a specific fact or detail from the evidence? Answer YES or NO.' Require YES.

Abstention on Unresolvable Conflicts

Conflicts where evidence is truly equal and contradictory are marked with resolution 'report_disagreement' or 'insufficient_evidence', not a forced choice

Output forces a 'prefer_source' resolution when the evidence weight is balanced or the contradiction is irreconcilable

For each conflict, calculate a simple balance score: count supporting evidence items for Claim A vs Claim B. If the difference is 0 or 1, flag any 'prefer_source' resolution for human review.

Output Schema Conformance

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

JSON is malformed, a required field like 'conflict_id' or 'claims' is missing, or an unexpected field is present

Validate the raw output string against the [OUTPUT_SCHEMA] using a JSON schema validator. Reject on any validation error. Do not attempt to repair automatically for this eval step.

No Fabricated Conflicts

The output contains zero conflicts where both claims are not directly supported by the provided [EVIDENCE_SET]

A conflict is reported between two claims, but one or both claims cannot be found in the source evidence

Extract all atomic claims from the output. For each claim, perform a fact-checking step: ask a secondary model 'Is this claim directly stated in the provided evidence? Answer with the source ID or NONE.' Flag any conflict where a claim returns NONE.

Human Review Gating for High-Stakes Domains

If [DOMAIN] is 'healthcare', 'legal', or 'finance', the output includes a top-level 'human_review_required' field set to true and a 'review_items' list

Output is produced for a high-stakes domain but 'human_review_required' is false or missing, or the 'review_items' list is empty

Check the [DOMAIN] input variable. If value is in the high-stakes list, assert output.human_review_required === true and output.review_items.length > 0. Fail the eval if not.

ADAPTATION OPTIONS

Adapt This Prompt

How to adapt

Use the base prompt with a single model call and no schema enforcement. Replace [OUTPUT_SCHEMA] with a plain-text description of the conflict report structure. Drop [CONFIDENCE_THRESHOLD] and [REVIEW_GATE] placeholders. Run on a small set of known contradictory document pairs to observe behavior.

Watch for

  • The model merging contradictions instead of surfacing them
  • Source attribution drifting or becoming vague
  • Missing structured fields when output is parsed downstream
  • Overconfident resolution recommendations without evidence
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.