Inferensys

Prompt

Contradiction Extraction Prompt for Research Briefs

A practical prompt playbook for using Contradiction Extraction Prompt for Research Briefs 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

Defines the ideal scenario, required inputs, and clear boundaries for using the contradiction extraction prompt in research brief workflows.

This prompt is designed for analyst teams and AI systems that need to extract specific, contradictory claims from multiple source documents and produce a structured contradiction log. It is built for research brief workflows where evidence-backed reporting requires surfacing disagreements before synthesis. The primary job-to-be-done is transforming a set of topically related documents into an auditable, source-linked map of direct factual conflicts, enabling analysts to understand where the evidence diverges before they write a summary or recommendation.

The ideal user is an analyst, researcher, or AI pipeline operator who has already retrieved or collected a set of documents on the same topic and needs to identify where they directly conflict on factual claims. The prompt assumes the input documents share a common subject but may differ in conclusions, data, or reported findings. It is not designed to surface differences in scope, methodology, or framing—only direct contradictions where two or more sources cannot simultaneously be correct on a specific factual statement. The required inputs are a set of source documents with identifiers and a defined topic or question that bounds the extraction scope.

Do not use this prompt when the goal is to summarize consensus, rank sources by authority, or synthesize a unified answer from conflicting evidence. It is also inappropriate for single-document analysis, open-domain retrieval without pre-selected sources, or workflows where the output goes directly to end users without human review. The extracted contradictions require analyst verification before inclusion in a final brief, as the model may flag stylistic differences as conflicts or miss implicit contradictions that require domain expertise to detect. For downstream tasks like conflict resolution or evidence weighting, use this prompt's output as an intermediate artifact and pair it with the Conflict Resolution Decision Prompt or Source Reliability Weighting Prompt from this pillar.

Before running this prompt, ensure each source document has a stable identifier and that the document set is complete enough to surface meaningful contradictions. If the input set is too small or too homogenous, the prompt will return an empty or sparse log—which is a valid outcome, not a failure. After extraction, validate the output by spot-checking whether flagged contradictions are genuine direct conflicts rather than differences in scope, population, or timeframe. Common failure modes include flagging paraphrased agreement as contradiction, missing contradictions that require numerical comparison, and extracting contradictions on peripheral claims while missing central disputes. Wire the output into a human review queue before it reaches any synthesis or publishing step.

PRACTICAL GUARDRAILS

Use Case Fit

Where the Contradiction Extraction Prompt works, where it fails, and what you must provide before running it in a production harness.

01

Good Fit: Multi-Document Analyst Briefs

Use when: you have 3+ documents covering the same topic and need a structured log of direct factual conflicts. Why it works: the prompt forces pairwise comparison and explicit citation, which reduces hallucinated contradictions.

02

Bad Fit: Single-Source Summaries

Avoid when: only one document is provided or documents cover entirely different topics. Risk: the model may invent straw-man contradictions or misinterpret scope differences as factual conflicts. Guardrail: gate execution with a minimum document count check and topic-overlap threshold before calling the prompt.

PROMPT PLAYBOOK

Copy-Ready Prompt Template

A reusable prompt template for extracting and structuring contradictions from multiple research documents into a verifiable contradiction log.

This section provides the core prompt for the Contradiction Extraction workflow. The template is designed to be dropped into an AI harness that supplies the source documents, claim scope, and output schema. It forces the model to extract only direct contradictions—not differences in methodology, scope, or terminology—and to pair each contradiction with exact source citations. Use this template as the starting point; the surrounding harness should handle document chunking, citation resolution, and output validation before any contradiction log reaches an analyst.

text
You are a contradiction extraction specialist. Your task is to identify direct, specific contradictions between the provided source documents and produce a structured contradiction log.

## INPUT DOCUMENTS
[DOCUMENTS]

## CLAIM SCOPE
[CLAIM_SCOPE]

## INSTRUCTIONS
1. Read all provided documents carefully.
2. Identify claims where two or more documents make statements that cannot all be true at the same time.
3. A contradiction exists only when the statements are about the same specific fact, metric, event, or finding. Do not flag differences in:
   - Scope (e.g., one study covers US, another covers EU)
   - Methodology (e.g., different measurement techniques)
   - Time period (e.g., 2022 data vs. 2023 data) unless the temporal difference itself is the contradiction
   - Terminology or definitions unless they produce factual conflict
4. For each contradiction, extract the exact conflicting statements from each source.
5. Provide precise citations including document identifier and, where available, section or paragraph reference.
6. Classify the contradiction type using only these categories:
   - FACTUAL: Direct conflict on a verifiable fact or metric
   - INTERPRETATION: Same evidence, different conclusions
   - PREDICTION: Conflicting forecasts or projections
   - OMISSION: One source asserts a fact that another source should include but does not
7. Assign a severity rating: HIGH (material impact on conclusions), MEDIUM (notable but not decision-changing), LOW (minor discrepancy).
8. If no contradictions are found, return an empty log with a brief explanation of why.

## OUTPUT SCHEMA
Return a JSON object with this exact structure:
{
  "contradictions": [
    {
      "id": "string",
      "claim": "string (the specific disputed claim)",
      "type": "FACTUAL | INTERPRETATION | PREDICTION | OMISSION",
      "severity": "HIGH | MEDIUM | LOW",
      "positions": [
        {
          "source_id": "string",
          "citation": "string (section, paragraph, or page reference)",
          "statement": "string (exact quoted or closely paraphrased statement)",
          "position_summary": "string (one-sentence summary of what this source claims)"
        }
      ],
      "analysis": "string (brief explanation of why this is a contradiction, not a scope or methodology difference)",
      "resolvability": "RESOLVABLE | PARTIALLY_RESOLVABLE | UNRESOLVABLE",
      "resolution_note": "string or null (if resolvable, note what additional evidence or clarification would resolve it)"
    }
  ],
  "no_contradictions_found": false,
  "no_contradictions_explanation": null,
  "total_documents_reviewed": 0,
  "total_contradictions_found": 0
}

## CONSTRAINTS
- Do not fabricate contradictions. If documents agree or discuss different things, do not force a conflict.
- Do not cite a source for a claim it does not explicitly make.
- If a contradiction involves more than two sources, include all conflicting positions in the positions array.
- Keep statements under 200 words each; prefer direct quotes where possible.
- If [RISK_LEVEL] is HIGH, flag any contradiction that could affect safety, compliance, or regulatory standing with an additional "risk_flag": true field.

To adapt this template, replace [DOCUMENTS] with your pre-chunked and citation-mapped source passages. The [CLAIM_SCOPE] placeholder should describe the domain or specific claims under review—for example, 'clinical efficacy claims about Drug X' or 'market size estimates for the EV battery sector.' The [RISK_LEVEL] placeholder accepts HIGH, MEDIUM, or LOW and controls whether risk-flagging fields are activated. In your harness, inject these variables before sending the prompt. After receiving the output, validate the JSON structure, verify that each citation resolves to an actual document span, and run a secondary check: for each contradiction, confirm that the conflicting statements are about the same specific fact. If the output contains contradictions flagged as HIGH severity or with risk_flag set to true, route to human review before the contradiction log is finalized. Do not skip validation—models will occasionally flag paraphrased agreement as contradiction or miss implicit conflicts that require domain knowledge.

IMPLEMENTATION TABLE

Prompt Variables

Required inputs for the Contradiction Extraction Prompt. Each placeholder must be populated before the prompt is sent to the model. Missing or malformed inputs are the most common cause of false negatives (missed contradictions) and false positives (flagged agreements as conflicts).

PlaceholderPurposeExampleValidation Notes

[DOCUMENT_SET]

Collection of source documents to scan for contradictions. Each document must have a unique identifier and full text.

{"doc_id": "SRC-2024-03", "text": "The trial enrolled 1,200 patients..."}

Must be valid JSON array of objects with doc_id and text fields. Reject if empty or fewer than 2 documents. Validate doc_id uniqueness.

[CLAIM_FOCUS]

Optional topic or claim to scope contradiction extraction. Narrows the search to specific subject matter.

"efficacy of drug X in elderly populations"

If provided, must be a non-empty string under 500 characters. If null, extraction runs across all claims in the document set. Null allowed.

[CONTRADICTION_TYPES]

Taxonomy of contradiction categories the model should detect. Controls granularity of the output log.

["factual_disagreement", "methodological_conflict", "interpretation_divergence"]

Must be a JSON array of strings from the allowed enum. Reject unknown types. Default to all types if null.

[SOURCE_METADATA]

Optional metadata for each source document: recency, authority score, methodology notes. Used to weight contradictions.

{"SRC-2024-03": {"date": "2024-03-15", "authority": 0.85}}

If provided, keys must match doc_ids in [DOCUMENT_SET]. Authority scores must be floats between 0 and 1. Null allowed.

[OUTPUT_SCHEMA]

Expected structure for the contradiction log. Defines required fields and their types.

{"contradictions": [{"claim": "string", "source_a": "string", "source_b": "string", "type": "string", "excerpt_a": "string", "excerpt_b": "string"}]}

Must be a valid JSON Schema object. Reject if missing required contradiction fields. Validate against schema before returning to caller.

[CONFIDENCE_THRESHOLD]

Minimum confidence score for including a contradiction in the output. Filters borderline cases.

0.7

Must be a float between 0.0 and 1.0. Contradictions below this threshold are excluded from the log. Default 0.5 if null.

[MAX_CONTRADICTIONS]

Upper bound on the number of contradictions returned. Prevents unbounded output on large document sets.

20

Must be a positive integer. Model output must be truncated to this limit. Reject if 0 or negative. Default 50 if null.

PROMPT PLAYBOOK

Implementation Harness Notes

How to wire the Contradiction Extraction Prompt into an application or workflow.

The Contradiction Extraction Prompt is designed to be called programmatically as part of a research briefing pipeline. It expects a set of pre-segmented document passages, each with a stable identifier, and returns a structured contradiction log. The prompt is not a chat interface; it should be invoked with a strict system message and a single user turn containing the formatted input. The model should be configured with a low temperature (0.0–0.2) to maximize deterministic extraction, and the output must be validated against the expected JSON schema before it enters any downstream system.

Integration pattern: Place this prompt behind an API endpoint or a queue worker that receives a batch of passages. The caller must supply a [DOCUMENTS] array where each object includes id, text, and optional metadata (e.g., publication date, author, source type). The prompt template uses these fields to generate a contradiction log with claim_1, claim_2, source_1_id, source_2_id, conflict_type, and explanation fields. Validation layer: After the model responds, parse the JSON output and run a schema validator. Reject any output where source_1_id equals source_2_id (self-contradiction), where extracted claims are paraphrases rather than direct conflicts, or where conflict_type is not one of the allowed enum values (factual, methodological, interpretation, scope, temporal). Retry logic: If validation fails, re-invoke the prompt once with the validation errors appended as a [CORRECTION_NOTES] field. If the second attempt also fails, log the raw output and escalate for human review rather than silently accepting a malformed contradiction log.

Model choice and tool use: This prompt works best with models that have strong instruction-following and structured output capabilities (e.g., GPT-4o, Claude 3.5 Sonnet). Do not use a model that lacks reliable JSON mode for this task. If your platform supports native structured output or tool calling, define a tool schema matching the contradiction log format and require the model to call it; this reduces parsing errors. RAG integration: If passages are retrieved from a vector store or search index, ensure each passage carries its source identifier through the retrieval pipeline. The contradiction extraction step should run after retrieval and before synthesis, so that downstream answer generation can incorporate the conflict log. Logging and audit: Store every contradiction extraction result with the model version, prompt version, input passage IDs, and validation outcome. This audit trail is essential for debugging false positives and for compliance workflows where contradiction handling must be explainable.

Human review triggers: Automatically escalate to human review when the contradiction log exceeds a configurable threshold (e.g., more than 10 contradictions in a single batch), when conflict_type distribution is unexpectedly skewed, or when the model's finish reason indicates truncation or content filtering. For high-stakes domains such as legal or medical research briefs, require human sign-off on all extracted contradictions before they are presented to end users. What to avoid: Do not feed the entire document corpus into a single prompt call if it exceeds the model's context window; chunk the input and merge results with deduplication logic. Do not treat the contradiction log as ground truth without verification—always spot-check a sample against source passages. Finally, do not use this prompt as a substitute for source reliability assessment; pair it with a separate source authority scoring step to avoid flagging trivial disagreements between high-authority and low-authority sources as meaningful conflicts.

IMPLEMENTATION TABLE

Expected Output Contract

Define the exact shape, types, and validation rules for the contradiction extraction output. Use this contract to build a parser, validator, or retry guard before the output enters a downstream system or review queue.

Field or ElementType or FormatRequiredValidation Rule

contradiction_id

string (UUID v4)

Must be a valid UUID v4 string. Reject if missing or malformed.

claim_a

string

Must be a non-empty string under 500 characters. Must contain a direct quote or close paraphrase from [SOURCE_A].

claim_b

string

Must be a non-empty string under 500 characters. Must contain a direct quote or close paraphrase from [SOURCE_B].

source_a

object

Must contain 'document_id' (string) and 'passage_id' (string or null). 'document_id' must match an input document identifier.

source_b

object

Must contain 'document_id' (string) and 'passage_id' (string or null). 'document_id' must match an input document identifier and differ from source_a.document_id.

conflict_type

enum string

Must be one of: 'factual_contradiction', 'methodological_difference', 'interpretation_divergence', 'scope_mismatch', 'temporal_change'. Reject unknown values.

confidence_score

number (0.0–1.0)

Must be a float between 0.0 and 1.0 inclusive. Values below [MIN_CONFIDENCE_THRESHOLD] should trigger human review.

explanation

string

Must be a non-empty string under 300 characters. Must reference specific content from both claims without introducing new facts not present in the sources.

PRACTICAL GUARDRAILS

Common Failure Modes

What breaks first when extracting contradictions from research briefs and how to guard against it.

01

False Positives on Paraphrased Agreement

What to watch: The model flags passages as contradictory when they actually agree but use different terminology, scope, or framing. This inflates the contradiction log with noise and erodes analyst trust. Guardrail: Add a pre-check instruction requiring the model to verify that both passages address the same specific claim, population, timeframe, and condition before declaring a contradiction. Include few-shot examples of paraphrased agreement labeled as non-contradictions.

02

Missed Implicit Contradictions

What to watch: The model only catches explicit textual conflicts and misses contradictions that require inference—such as one source implying a causal relationship that another source's data would refute. Guardrail: Include a secondary extraction pass that asks the model to identify claims where the logical implications of Source A conflict with the stated findings of Source B, even if the surface language differs. Validate with human-annotated implicit contradiction test cases.

03

Scope and Methodology Mismatch Misclassification

What to watch: The model treats differences in study population, time period, or measurement methodology as factual contradictions rather than scope variations. This produces a contradiction log full of explainable differences instead of genuine disputes. Guardrail: Require the model to classify each extracted contradiction by type—factual, methodological, scope, temporal, or interpretive—and suppress or downgrade non-factual mismatches. Add a structured output field for contradiction type with a controlled enum.

04

Source Citation Drift and Hallucination

What to watch: The model attributes contradictory claims to the wrong source, fabricates quote-like text, or merges two sources into a single citation. This creates an audit trail that fails verification and undermines the entire brief. Guardrail: Enforce strict quote extraction with character-level source grounding. Require the model to copy the exact text span from each source document and include a verifiable location reference. Run a post-extraction citation verification step that checks each quoted span against the original document.

05

Over-Extraction and Low-Severity Noise

What to watch: The model extracts every minor discrepancy, producing an unmanageable contradiction log where high-impact disagreements are buried under trivial wording differences. Analysts ignore the output or waste time triaging noise. Guardrail: Add a severity rating instruction with clear criteria—impact on decision quality, source authority gap, and resolvability. Filter the output to only include contradictions above a defined severity threshold, or sort by severity so high-impact items surface first.

06

Forced Reconciliation of Genuine Disagreement

What to watch: The model attempts to explain away genuine contradictions by inventing reconciling factors—claiming methodological differences that don't exist or speculating about unstated temporal changes. This hides real conflicts that analysts need to see. Guardrail: Instruct the model to explicitly mark contradictions as unresolved when no documented scope, methodology, or temporal factor explains the disagreement. Add a resolvability field and require the model to state 'no reconciliation identified from provided sources' rather than fabricating one.

IMPLEMENTATION TABLE

Evaluation Rubric

Use this rubric to test whether the contradiction extraction prompt produces reliable, production-ready output before shipping. Each criterion targets a known failure mode for contradiction extraction in research briefs.

CriterionPass StandardFailure SignalTest Method

Direct Contradiction Detection

Extracted contradictions are direct factual conflicts, not differences in scope, methodology, or population

Output includes pairs labeled as contradictory that discuss different time periods, populations, or measurement methods without flagging the distinction

Run 10 known-scope-difference pairs through the prompt; expect 0 false positives

Source Citation Accuracy

Every contradiction pair includes exact source identifiers that match the input documents and can be traced back to specific passages

Citations reference documents not in the input set, use vague labels like 'Source A', or point to passages that do not contain the claimed statement

Spot-check 20 citations against source documents; require 100% match rate

Claim Pairing Precision

Each contradiction entry pairs exactly two claims that cannot both be true simultaneously

Entries pair a claim with a paraphrase of the same claim, pair claims that are compatible under different assumptions, or group three or more claims into one entry

Manual review of 30 contradiction pairs; target precision above 0.90

Completeness of Conflict Log

All genuine contradictions present in the source set are extracted, with recall above 0.85 on a labeled test set

Known contradictions from the test set are missing from the output, especially implicit contradictions requiring inference

Run against a golden dataset of 15 document sets with pre-labeled contradictions; measure recall

Structured Output Schema Compliance

Output strictly follows the defined [OUTPUT_SCHEMA] with all required fields present and correctly typed

Missing required fields, null values where non-nullable, extra fields not in schema, or string values where arrays are expected

Validate output against JSON Schema; require 100% structural compliance

Abstention on No-Conflict Inputs

Prompt returns an empty contradiction log or explicit 'no contradictions found' marker when source documents do not conflict

Prompt fabricates contradictions, reports stylistic differences as factual conflicts, or hallucinates claims not present in sources

Test with 5 document sets known to contain zero contradictions; expect empty or explicit null output

Uncertainty Flagging for Ambiguous Cases

Prompt marks borderline cases with a confidence indicator or uncertainty flag rather than silently including or excluding them

All contradiction entries appear with equal confidence; no distinction between clear-cut conflicts and ambiguous disagreements

Review output for presence of confidence field or uncertainty flag on at least 80% of ambiguous test cases

ADAPTATION OPTIONS

Adapt This Prompt

How to adapt

Use the base contradiction extraction prompt with a single model call and relaxed output validation. Accept plain-text structured logs instead of strict JSON. Focus on getting the extraction logic right before adding schema enforcement.

Add a preamble: You are an analyst assistant. Extract direct contradictions only. Ignore differences in scope, methodology, or time period unless they produce opposite factual claims.

Watch for

  • Extracting paraphrased agreement as contradiction
  • Treating scope differences (e.g., different populations) as factual conflicts
  • Missing implicit contradictions that require inference
  • Output format drift across multiple runs
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.