Inferensys

Prompt

Factual Conflict Highlighting Prompt for Editors

A practical prompt playbook for using Factual Conflict Highlighting Prompt for Editors 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 job, user, and context for the Factual Conflict Highlighting Prompt, and clarifies when it should not be used.

This prompt is designed for editorial and fact-checking workflows where a human reviewer needs to quickly identify and assess contradictory passages within a single document or across a small set of provided sources. The ideal user is an editor, researcher, or analyst who is responsible for the final accuracy of a piece but is bottlenecked by the manual effort of cross-referencing statements. The required context is the full text of the document(s) to be reviewed. The prompt transforms this raw text into an annotated review packet, marking conflicting statements inline, adding margin notes, and packaging a structured context summary for the reviewer. Use this when the goal is to accelerate human review, not to make a final automated determination of truth.

This prompt is not a replacement for a human fact-checker and should not be used in fully automated pipelines where a contradiction flag triggers an automatic action, such as deleting content or issuing a public correction. It is a precision-recall tunable tool for highlighting likely conflicts before a human makes the final call. It is also not suitable for real-time contradiction detection in high-volume streaming data, as it is designed for a focused, document-level review. For that, consider a batched contradiction detection harness with a structured JSON output contract. The prompt is most effective on long-form, non-fiction content like research reports, investigative articles, legal filings, and technical documentation, where internal consistency is paramount.

Before using this prompt, ensure you have a clear policy for how a human reviewer should resolve a flagged conflict. The prompt's output is a starting point for investigation, not a verdict. A common failure mode is deploying this prompt without a downstream Standard Operating Procedure (SOP), leading to a backlog of flagged but unresolved contradictions. The next step after reading this section is to review the prompt template and adapt its [CONSTRAINTS] and [OUTPUT_SCHEMA] to match your specific editorial policy and the format of your review environment.

PRACTICAL GUARDRAILS

Use Case Fit

Where this prompt works and where it does not. Factual Conflict Highlighting is a precision-recall balancing act. Use it when you need structured, inline annotations for human editors; avoid it when you need a definitive binary verdict without human review.

01

Good Fit: Editorial Review Pipelines

Use when: You have a human editor who will review and act on the highlighted conflicts. The prompt produces annotated documents with inline markers and margin notes, which require human judgment to resolve. Guardrail: Always package the output with a reviewer context packet that includes the original sources and a summary of the conflict types found.

02

Bad Fit: Fully Automated Truth Determination

Avoid when: The system must make a final, unsupervised decision about which source is correct. This prompt highlights conflicts for review; it does not resolve them. Guardrail: Pair this prompt with a separate resolution or escalation prompt if downstream automation depends on a single source of truth.

03

Required Inputs: Source Pairs and Context Windows

What to watch: The prompt fails silently if source documents are truncated or lack sufficient surrounding context. A contradiction may appear false if the qualifying sentence is omitted. Guardrail: Enforce a minimum context window of 2-3 sentences around each extracted claim. Validate input length before calling the model.

04

Operational Risk: Highlight Density Drift

What to watch: Over time, the model may start highlighting stylistic differences or paraphrasing as conflicts, flooding editors with false positives. Or it may become too conservative and miss genuine contradictions. Guardrail: Implement a precision-recall dashboard. Run a weekly golden-set eval and adjust the system prompt's verbosity or strictness instructions if density drifts outside acceptable thresholds.

05

Operational Risk: Reviewer Fatigue and Blindness

What to watch: If the prompt highlights too many low-severity conflicts, editors will start skimming or ignoring all highlights, including critical ones. Guardrail: Add a severity scoring step before highlighting. Only surface 'High' and 'Critical' conflicts inline; move 'Low' severity items to an appendix to keep the primary document actionable.

06

Integration Point: Downstream Action Logging

What to watch: Without logging, there is no way to know if an editor accepted or dismissed a highlighted conflict, making it impossible to measure the system's true accuracy. Guardrail: Each inline marker must have a unique, stable ID. Integrate the annotation interface so that 'Accept', 'Dismiss', and 'Edit' actions are logged against that ID for continuous evaluation.

PROMPT PLAYBOOK

Copy-Ready Prompt Template

A reusable prompt template for annotating documents with inline conflict markers and reviewer context packets.

The prompt below is designed to be pasted directly into your model's system or user message. It instructs the model to act as an editorial assistant that highlights factual conflicts within a provided document. The template uses square-bracket placeholders for all dynamic inputs, such as the source text, the evidence set to compare against, and the desired output density. Replace each placeholder with your specific data before execution. This prompt is the core instruction set for a single-pass conflict highlighting task; it does not handle multi-turn refinement or evidence retrieval, which should be managed by your application harness.

text
You are an editorial fact-checking assistant. Your task is to read the provided [DOCUMENT] and compare its factual claims against the [EVIDENCE_SET]. Identify every statement in the document that directly contradicts, partially mismatches, or is temporally inconsistent with the evidence.

For each conflict found, you must produce an annotation in the following structured format:
- CONFLICT_ID: A unique identifier (e.g., C-001).
- DOCUMENT_EXCERPT: The exact conflicting text from the document.
- EVIDENCE_EXCERPT: The specific text from the evidence that contradicts it.
- CONFLICT_TYPE: One of [DIRECT_CONTRADICTION, PARTIAL_MISMATCH, TEMPORAL_INCONSISTENCY, NUMERICAL_DISAGREEMENT].
- SEVERITY: A rating of [HIGH, MEDIUM, LOW] based on the [SEVERITY_RUBRIC].
- REVIEWER_NOTE: A concise explanation of the conflict, written for a human editor.

[DOCUMENT]:
[INPUT_TEXT]

[EVIDENCE_SET]:
[EVIDENCE_TEXT]

[SEVERITY_RUBRIC]:
- HIGH: The conflict involves a core factual error that changes the meaning or could cause harm.
- MEDIUM: The conflict involves a secondary detail that is incorrect but does not change the main point.
- LOW: The conflict is a minor phrasing mismatch, date ambiguity, or typo-level discrepancy.

[CONSTRAINTS]:
- Do not flag stylistic differences or paraphrasing as conflicts.
- If no evidence exists for a claim, do not flag it as a contradiction. Only flag claims where the evidence actively disagrees.
- Limit the total number of annotations to a maximum of [MAX_HIGHLIGHTS]. Prioritize HIGH severity conflicts first.
- Output only the structured annotations, with no additional commentary before or after.

To adapt this template, start by defining your [EVIDENCE_SET]. This could be a single trusted document, a concatenation of multiple sources, or the output of a retrieval step. The quality of the highlighting depends entirely on the relevance and completeness of this evidence. Next, calibrate the [SEVERITY_RUBRIC] to match your editorial team's definition of impact. A financial report will have a different rubric than a celebrity news article. Finally, tune [MAX_HIGHLIGHTS] to control precision-recall trade-offs. A low number forces the model to surface only the most critical issues, reducing noise for reviewers. After pasting the prompt, always run it against a golden set of documents with known conflicts to validate that your rubric and constraints produce the expected highlight density and accuracy before deploying to your editorial workflow.

IMPLEMENTATION TABLE

Prompt Variables

Required and optional inputs for the Factual Conflict Highlighting Prompt. Each placeholder must be populated before the prompt is assembled and sent to the model. Validation notes describe how to programmatically check that the input is well-formed before incurring inference cost.

PlaceholderPurposeExampleValidation Notes

[SOURCE_DOCUMENT]

The full text of the primary document to be scanned for internal factual conflicts.

The defendant was in Chicago on March 3rd. Later that evening, the defendant boarded a flight from Denver to New York.

Non-empty string. Minimum 50 characters. Reject if only whitespace or markdown formatting without prose.

[CONFLICT_TYPES]

A list of contradiction categories the model should flag, such as direct contradiction, temporal inconsistency, or numerical disagreement.

["direct_contradiction", "temporal_inconsistency", "numerical_disagreement"]

Must be a valid JSON array of strings. Each string must match an allowed enum value defined in the system prompt. Reject if empty array.

[HIGHLIGHT_DENSITY]

A tuning parameter controlling how aggressively the model marks passages. Accepts 'high_precision', 'balanced', or 'high_recall'.

balanced

Must be one of the three allowed string values. Reject on case mismatch or unknown values.

[OUTPUT_SCHEMA]

The exact JSON schema the model must use for each conflict annotation, including fields for conflicting passages, conflict type, severity, and explanation.

{"type": "object", "properties": {"passage_a": {"type": "string"}, "passage_b": {"type": "string"}, "conflict_type": {"type": "string"}, "severity": {"type": "string"}, "explanation": {"type": "string"}}, "required": ["passage_a", "passage_b", "conflict_type", "severity", "explanation"]}

Must be a valid, parseable JSON Schema object. Required fields must include at minimum passage_a, passage_b, conflict_type, severity, and explanation. Reject if schema is not parseable by a standard JSON Schema validator.

[REVIEWER_CONTEXT_PACKET]

Optional metadata about the human reviewer, review deadline, or editorial policy that the model should include in its margin notes.

{"reviewer_role": "Senior Editor", "deadline": "2025-06-15", "style_guide": "AP Stylebook"}

If provided, must be a valid JSON object. Null allowed. If present, validate that reviewer_role is a non-empty string.

[FEW_SHOT_EXAMPLES]

Optional array of example input-output pairs demonstrating the desired highlighting behavior, edge cases, and severity calibration.

[{"input": "The report was filed on Monday. The report was filed on Tuesday.", "output": {"conflicts": [{"passage_a": "filed on Monday", "passage_b": "filed on Tuesday", "conflict_type": "direct_contradiction", "severity": "high", "explanation": "Two different days of the week are claimed for the same event."}]}}]

If provided, must be a valid JSON array of objects, each with 'input' (string) and 'output' (object with 'conflicts' array). Null allowed. Maximum 3 examples to avoid context window bloat.

PROMPT PLAYBOOK

Implementation Harness Notes

How to wire the Factual Conflict Highlighting prompt into an editorial review pipeline with validation, human-in-the-loop routing, and production safeguards.

The Factual Conflict Highlighting Prompt is designed to sit inside a document review pipeline, not as a standalone chat interaction. The typical integration pattern involves: (1) ingesting a source document, (2) splitting it into manageable chunks if it exceeds the model's context window, (3) running the prompt against each chunk or against paired chunks, (4) collecting inline conflict markers and margin notes, (5) validating the output schema, and (6) routing flagged passages to a human review queue. This harness must handle variable document lengths, enforce a consistent output contract, and avoid flooding reviewers with low-precision highlights.

Start by defining a strict output schema that the prompt must follow—typically a JSON array of conflict objects, each containing passage_a, passage_b, conflict_type (direct contradiction, temporal inconsistency, numerical disagreement, logical conflict), severity (high, medium, low), explanation, and source_location (section, paragraph index, or character offset). Implement a schema validator in your application layer that rejects malformed responses and triggers a retry. Use a model with strong instruction-following and JSON mode support (GPT-4o, Claude 3.5 Sonnet, or Gemini 1.5 Pro). For long documents, implement a sliding window or section-by-section approach: compare each section against every other section for cross-document contradictions, and run a self-contradiction pass within each section. Deduplicate overlapping findings by clustering conflicts on passage proximity and keeping the highest-severity instance. Log every prompt invocation with input hash, output, latency, and validation status for debugging and audit trails.

The most important production control is precision-recall tuning. The prompt includes a [HIGHLIGHT_DENSITY] parameter (low, medium, high) that controls how aggressively the model flags potential conflicts. At 'low' density, the model should only flag clear, material contradictions; at 'high' density, it surfaces borderline cases for human judgment. Wire this parameter to a user-facing control or an A/B test framework. Implement a human review interface that displays the original passages side-by-side with the model's conflict markers and explanation, and captures reviewer verdicts (confirmed, false positive, needs more context). Feed these verdicts back into an eval dataset for regression testing. Never auto-publish or auto-correct based on conflict highlights without human approval—this is a high-risk editorial workflow where incorrect conflict flags can damage credibility. Set a maximum highlight budget per document (e.g., 20 conflicts) to prevent reviewer fatigue, and if the model exceeds it, re-run with lower density or escalate the document for a full manual review.

IMPLEMENTATION TABLE

Expected Output Contract

Defines the strict JSON schema for the conflict highlighting prompt output. Use this contract to validate the model's response before passing it to the editorial UI or downstream review queue.

Field or ElementType or FormatRequiredValidation Rule

document_id

string

Must match the [DOCUMENT_ID] input exactly. Non-match triggers a retry or rejection.

highlights

array of objects

Array must not be null. If no conflicts found, return an empty array. Schema check: minItems=0.

highlights[].id

string

Must be unique within the array. Format: 'conflict-{uuid}' or sequential 'conflict-001'. Uniqueness check required.

highlights[].conflict_type

string (enum)

Must be one of: ['direct_contradiction', 'numerical_disagreement', 'temporal_inconsistency', 'logical_conflict', 'unsupported_claim']. Invalid enum value triggers a repair step.

highlights[].passage_a

object

Must contain 'text' (string) and 'span' (object with 'start' and 'end' integers). Span must be a valid substring index within [DOCUMENT_TEXT].

highlights[].passage_b

object

Must contain 'text' (string) and 'span' (object with 'start' and 'end' integers). Span must not overlap with passage_a span.

highlights[].severity

string (enum)

Must be one of: ['critical', 'major', 'minor']. If confidence is below [CONFIDENCE_THRESHOLD], severity must be downgraded to 'minor' or the highlight suppressed.

highlights[].reviewer_note

string

A concise explanation of the conflict for the human editor. Must not be an empty string. Length check: 20-300 characters.

PRACTICAL GUARDRAILS

Common Failure Modes

Factual conflict highlighting can go wrong in predictable ways. Here are the most common failure modes when marking contradictory passages for editorial review, along with practical mitigations.

01

Highlight Overload (Low Precision)

What to watch: The prompt marks too many passages as conflicts, including stylistic differences, paraphrasing, or rhetorical contrasts that aren't factual disagreements. Editors drown in false positives and start ignoring highlights. Guardrail: Add explicit negative examples of non-contradictions (paraphrases, scope differences, hedging) and tune the precision-recall threshold with a density cap—if highlights exceed 15% of document length, suppress low-confidence markers.

02

Missed Contradictions (Low Recall)

What to watch: Genuine factual conflicts slip through unmarked, especially when the contradiction spans non-adjacent sections, uses different terminology for the same entity, or involves implicit claims that require inference. Guardrail: Implement a two-pass approach—first extract all factual claims into a structured inventory, then run pairwise comparison across the full claim set rather than relying on the model to spot contradictions in a single linear read.

03

Context Window Truncation

What to watch: Long documents exceed the model's context window, causing contradictions between early and late sections to be missed entirely. The model highlights conflicts within each chunk but fails to compare across chunk boundaries. Guardrail: Chunk the document with overlapping claim extraction, maintain a running claim registry across chunks, and run a final cross-chunk contradiction pass before presenting highlights to editors.

04

False Equivalence Between Sources

What to watch: The prompt treats all source statements as equally authoritative, marking a peer-reviewed finding and an unsupported opinion as a symmetric conflict requiring resolution. Editors waste time reconciling claims that don't carry equal weight. Guardrail: Require source authority metadata as input, weight contradictions by source credibility, and suppress or downgrade conflict markers when one source lacks authority on the claim domain.

05

Temporal Context Collapse

What to watch: The prompt flags statements that were true at different points in time as contradictions—for example, a 2022 revenue figure in one section and a 2023 figure in another—without recognizing the temporal context. Guardrail: Require date anchoring for every factual claim before comparison. Add a temporal-awareness rule that statements with different effective dates are flagged as updates or timeline entries, not contradictions, unless the dates overlap.

06

Explanation Hallucination

What to watch: The prompt generates plausible-sounding but incorrect explanations for why two passages conflict, inventing relationships or evidence that don't exist in the source text. Editors trust the explanation and make wrong corrections. Guardrail: Constrain explanations to direct quotation from the conflicting passages only. Require the output to cite exact text spans for both sides of the conflict and prohibit the model from introducing external knowledge or inferred intent.

IMPLEMENTATION TABLE

Evaluation Rubric

Use this rubric to test the quality of the Factual Conflict Highlighting Prompt's output before integrating it into an editorial workflow. Each criterion includes a pass standard, a failure signal, and a concrete test method.

CriterionPass StandardFailure SignalTest Method

Conflict Recall

All seeded factual conflicts in the test document are identified and highlighted.

One or more known factual conflicts are missed in the output.

Run prompt against a golden document containing 10 pre-seeded factual conflicts. Assert count of highlighted conflicts equals 10.

Highlight Precision

At least 90% of generated highlights correspond to genuine factual conflicts, not stylistic differences or paraphrasing.

More than 10% of highlights flag paraphrased statements, subjective opinions, or consistent restatements as conflicts.

Human reviewer labels 100 random highlights from a test batch. Calculate precision: (true conflicts) / (total highlights). Must be >= 0.9.

Inline Marker Format

Every conflict marker is a valid JSON object matching the [OUTPUT_SCHEMA] and is correctly embedded inline.

A marker is malformed JSON, missing required fields like conflict_id or passage_a, or breaks the surrounding text structure.

Parse the entire output. Extract all marker strings. Validate each against the JSON schema. Assert zero parsing errors and zero missing required fields.

Margin Note Accuracy

Each margin note correctly identifies the conflicting passages by conflict_id and states the nature of the conflict without introducing new information.

A margin note references a non-existent conflict_id, misstates the content of a passage, or hallucinates a resolution.

For each margin note, verify the referenced conflict_id exists. Have a human reviewer check if the note's description faithfully represents the two highlighted passages.

Reviewer Context Packet Completeness

The context packet includes all required fields: conflict_summary, source_excerpts, conflict_type, and suggested_action.

The context packet is missing one or more required fields, or a field contains a null value where a string is expected.

Validate the context packet object against a JSON schema that defines all fields as required and non-null. Assert schema validation passes.

Conflict Type Classification

Each conflict is classified with a label from the allowed [CONFLICT_TYPES] list (e.g., direct_contradiction, temporal_mismatch).

A conflict is assigned a type not in the allowed list, or is assigned a generic 'other' type when a specific type applies.

Extract all conflict_type values from the output. Assert each value is present in the predefined allowed types list.

Highlight Density Control

The number of highlights does not exceed the [MAX_HIGHLIGHTS] parameter when set.

The output contains more highlights than the value specified in [MAX_HIGHLIGHTS].

Run the prompt with [MAX_HIGHLIGHTS] set to 5 on a document with 10 conflicts. Assert the output contains 5 or fewer highlights.

Source Fidelity

Highlighted passages are exact, verbatim quotes from the source document.

A highlighted passage contains altered wording, a paraphrase, or a truncated sentence that changes its meaning.

For 20 random highlights, use a script to check if the passage_a and passage_b strings are exact substrings of the original document text. Assert a 100% match rate.

ADAPTATION OPTIONS

Adapt This Prompt

How to adapt

Start with the base prompt and a single document. Remove the precision-recall tuning parameters and use a simple inline marker like [CONFLICT] before each flagged passage. Run on 5–10 editorial samples and manually review every highlight.

code
You are an editorial assistant. Read the following text and mark any passage that directly contradicts another passage in the same document. Insert [CONFLICT] before the conflicting sentence and add a brief note in brackets explaining the contradiction.

Text:
[DOCUMENT_TEXT]

Watch for

  • Over-flagging stylistic repetition as contradiction
  • Missing contradictions that require domain knowledge
  • No structured output, making downstream parsing brittle
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.