This prompt is designed for customer-facing AI product teams who need to present conflicting evidence to end users in a way that is clear, neutral, and actionable. It formats disagreements from multiple sources without overwhelming the user, attributes each position to its source, and offers paths to explore each side. Use this prompt when your application surfaces answers from a retrieval-augmented generation (RAG) pipeline, a research assistant, or a decision-support tool where sources disagree. It is not a conflict detection prompt; it assumes conflicts have already been identified and passed in as structured input. The primary harness concern is maintaining strict neutrality while helping users assess the credibility and weight of each position.
Prompt
Conflicting Evidence Presentation Prompt for User-Facing Answers

When to Use This Prompt
Defines the ideal scenario, required inputs, and boundary conditions for deploying the conflicting evidence presentation prompt in a user-facing application.
The prompt requires a pre-processed input containing the user's original question and a structured list of conflicting positions, each with its source citation and a brief summary of the evidence. Do not use this prompt when conflicts are implicit or unverified, when the user expects a single definitive answer, or when the application's risk tolerance requires a human to mediate the disagreement before any output reaches the user. In regulated domains such as healthcare or finance, this prompt should be paired with a human approval step and an evidence audit trail to ensure that the presentation of conflict does not inadvertently endorse a harmful or non-compliant position.
Before integrating this prompt, confirm that your upstream conflict detection and source reliability scoring are calibrated. The prompt will faithfully present whatever conflicts it receives, so garbage in means garbage out. Implement a validation step that checks the input for empty conflict lists, duplicate sources, or positions that lack source attribution. If the input fails validation, route to a fallback that informs the user that sources are being reviewed rather than presenting an incomplete or misleading conflict summary. The next step is to wire this prompt into your application harness with structured output parsing, retry logic for malformed responses, and logging that captures which conflicts were presented to which users.
Use Case Fit
Where the Conflicting Evidence Presentation Prompt delivers value and where it introduces risk. Use these cards to decide if this prompt fits your product surface before wiring it into a user-facing harness.
Good Fit: Decision-Support with Multiple Sources
Use when: users need to understand disagreement across sources before making a decision. The prompt structures conflicting positions, attributes each to its source, and avoids false consensus. Guardrail: always include source reliability signals so users can weigh evidence, not just count positions.
Bad Fit: Single-Answer Interfaces
Avoid when: the product surface expects one definitive answer without nuance. Presenting conflicting evidence in a chatbot or voice interface without visual structure overwhelms users. Guardrail: route to a summary prompt instead, or upgrade the UI to support expandable evidence cards before using this prompt.
Required Input: Ranked Evidence with Source Metadata
What to watch: the prompt cannot detect conflicts if it receives flat, unranked passages. It needs pre-scored evidence with recency, authority, and relevance signals. Guardrail: run an evidence ranking prompt upstream and pass scored passages with source attributes into this presentation prompt.
Operational Risk: False Balance
What to watch: presenting two sides equally when one position has overwhelming evidence creates misleading neutrality. The prompt may overcorrect for bias by giving equal weight to fringe claims. Guardrail: include explicit weighting instructions tied to evidence scores, and test with lopsided-evidence cases in eval.
Operational Risk: User Confusion from Unresolved Conflict
What to watch: users may expect the AI to resolve the conflict rather than present it. Leaving disagreement unresolved without clear next steps causes frustration. Guardrail: always include a path forward—options to explore each position, a recommendation with uncertainty, or an escalation to human review.
Required Input: Conflict Detection Results
What to watch: this prompt presents conflicts but does not detect them. Passing unanalyzed passages produces hallucinated disagreements or misses real contradictions. Guardrail: run a conflict detection prompt upstream and pass structured conflict pairs with source spans into this presentation prompt.
Copy-Ready Prompt Template
A ready-to-adapt prompt for presenting conflicting evidence to end users with clarity, neutrality, and actionable next steps.
This template structures how your application presents disagreement to users. It forces the model to acknowledge conflict explicitly, attribute each position to its source, and avoid synthesizing a false consensus. The placeholders let you inject your application's specific evidence set, user query, and output constraints. Use this as the core of a user-facing answer generation step, placed after your retrieval and conflict detection pipeline has identified contradictory passages.
textYou are an evidence-aware assistant. Your task is to answer a user's question when the provided sources contain conflicting information. ## USER QUESTION [USER_QUESTION] ## CONFLICTING EVIDENCE Below are source passages that disagree with each other. Each passage includes a source identifier and a reliability indicator. [EVIDENCE_BLOCK] ## OUTPUT INSTRUCTIONS 1. Start by clearly stating that sources disagree on this question. 2. Present each distinct position as a separate section. 3. For each position: - Summarize the claim in plain language. - List the sources supporting this position with their reliability indicators. - Include a brief, direct quote from each source. 4. After presenting all positions, add a "How to Assess This" section that gives the user 2-3 neutral questions they can use to evaluate the evidence themselves (e.g., "Which source is more recent?", "Which source has direct access to the primary data?"). 5. Do not declare a winner or state which position is correct. 6. If the evidence is insufficient to characterize any position fairly, say so instead of guessing. 7. Format the response in plain paragraphs with clear headings. Do not use a table. ## CONSTRAINTS - Never fabricate a resolution when sources genuinely conflict. - Attribute every claim to a specific source identifier. - If [RISK_LEVEL] is "high", append: "Consider consulting a subject-matter expert before making a decision based on this information." - Maintain a neutral, informative tone. Do not advocate for any position.
To adapt this template, start by mapping your retrieval pipeline's output into the [EVIDENCE_BLOCK] placeholder. Each passage should include a source ID, a short reliability label (e.g., "High: peer-reviewed journal, 2024" or "Medium: industry report, 2023"), and the relevant text. If your application already classifies conflict severity or type, inject that metadata as a prefix to each passage. Set [RISK_LEVEL] dynamically based on your domain: use "high" for medical, legal, or financial contexts where a wrong decision carries material harm, and "low" for informational or entertainment use cases. Before shipping, run this prompt against a golden set of known conflicting evidence pairs and check that the output never declares a winner, always attributes claims, and correctly surfaces the "How to Assess This" questions. If the model starts hedging toward one position, add a stronger refusal example to the system prompt or increase the temperature to reduce overconfident synthesis.
Prompt Variables
Inputs required to format conflicting evidence for user-facing answers. Each placeholder must be populated before the prompt is assembled. Validation notes describe how to check the input before sending it to the model.
| Placeholder | Purpose | Example | Validation Notes |
|---|---|---|---|
[USER_QUERY] | The original question or topic the user asked about | Is renewable energy cheaper than fossil fuels? | Must be non-empty string. Check for adversarial or vague queries. If query is ambiguous, route to clarification prompt first. |
[EVIDENCE_SET] | Array of evidence passages with source metadata and positions | [{"source_id":"src1","passage":"...","position":"supports_claim_a","reliability_score":0.85}] | Must contain at least 2 passages. Each passage requires source_id, passage text, and position label. Validate JSON schema before prompt assembly. Reject if all passages share same position. |
[CONFLICT_MAP] | Structured mapping of which sources disagree on which specific claims | [{"claim":"Cost parity reached in 2023","supporting_sources":["src1","src3"],"opposing_sources":["src2"]}] | Must be non-empty if EVIDENCE_SET contains conflicts. Each claim must reference valid source_ids from EVIDENCE_SET. Validate cross-references. Null allowed if no conflicts detected. |
[SOURCE_RELIABILITY_THRESHOLD] | Minimum reliability score for a source to be presented as credible to users | 0.6 | Float between 0.0 and 1.0. Sources below this threshold should be flagged with low-reliability warnings rather than presented as equal positions. Default 0.5 if not specified. |
[MAX_POSITIONS_PER_SIDE] | Maximum number of distinct source positions to present per side of a conflict | 3 | Integer >= 1. Prevents overwhelming users with too many sources. If exceeded, select top positions by reliability score. Validate before prompt assembly. |
[USER_EXPERTISE_LEVEL] | Indicates how technical the explanation should be | general_public | Must be one of enum: general_public, domain_aware, expert. Controls terminology depth and explanation detail. Default general_public if not provided. |
[OUTPUT_FORMAT] | Desired structure for the conflict presentation | structured_card | Must be one of enum: structured_card, narrative_summary, bullet_comparison. Determines output schema validation rules. Default structured_card if not specified. |
[NEUTRALITY_CONSTRAINT] | Whether the system must remain strictly neutral or can indicate evidence weight | strict_neutral | Must be one of enum: strict_neutral, weight_aware. strict_neutral requires equal presentation of all sides. weight_aware allows noting when one side has stronger evidence. Default strict_neutral for user-facing answers. |
Implementation Harness Notes
How to wire the conflicting evidence presentation prompt into a production application with validation, retries, and human review gates.
This prompt operates at the boundary between evidence synthesis and user-facing output, which makes the implementation harness critical. The prompt expects a structured set of conflicting evidence claims, source metadata, and a presentation strategy as input. Before calling the model, your application must assemble these inputs from upstream retrieval, conflict detection, and source reliability scoring pipelines. The output is a user-facing answer that presents disagreement clearly, so the harness must validate that the response is balanced, properly attributed, and free of false consensus before it reaches a user.
Wire the prompt into a pipeline with three stages: input assembly, model invocation, and output validation. For input assembly, map your conflict detection output into the [CONFLICTING_CLAIMS] placeholder as a JSON array of objects, each containing the claim, source positions, source metadata (name, date, authority score), and conflict type. Populate [PRESENTATION_STRATEGY] from your product policy—options include balanced, weighted_by_authority, or majority_with_dissent. Set [USER_QUESTION] to the original query and [AUDIENCE_EXPERTISE] to guide tone and detail level. For model invocation, use a model with strong instruction-following and structured output capabilities (GPT-4o, Claude 3.5 Sonnet, or Gemini 1.5 Pro). Set temperature low (0.1–0.3) to reduce creative drift in neutrality language. Implement a retry wrapper that catches malformed outputs and re-invokes with the error message appended to [CONSTRAINTS]. Log every invocation with the prompt version, input hash, output, and validation result for debugging and audit.
Output validation is the most critical harness component because this prompt directly shapes what users believe about contested information. Build a validator that checks: (1) every position presented is attributed to at least one source from the input; (2) no source is misrepresented—compare presented positions against the input claims using a secondary LLM-as-judge check with a strict rubric; (3) the response does not synthesize a false middle ground or imply consensus where none exists; (4) uncertainty language is present when conflicts are unresolved. For high-stakes domains (healthcare, legal, finance), route outputs through a human review queue before publishing. The review interface should display the original conflicting claims, the model's presentation, and the validation results side by side. Track review decisions to build a feedback dataset for prompt improvement. Avoid wiring this prompt directly into a chatbot response without validation—users will over-trust an unqualified answer, and unresolved conflicts presented as settled facts create liability and trust erosion.
Expected Output Contract
Define the exact shape of the model response so downstream consumers can parse, validate, and render conflicting evidence without ambiguity.
| Field or Element | Type or Format | Required | Validation Rule |
|---|---|---|---|
answer_summary | string (1-3 sentences) | Must not contain definitive language if conflict is unresolved. Check for hedge words (may, suggests, some sources). | |
conflict_statement | string | Must explicitly name the point of disagreement. Validate against [CLAIM] input; reject if statement paraphrases only one side. | |
positions | array of objects | Array length must be >= 2. Each object must include position_label, source_ids, and supporting_quote fields. | |
positions[].position_label | string | Must be a short, neutral label (e.g., Position A: Efficacy Supported). Reject if label contains judgment language (correct, wrong, better). | |
positions[].source_ids | array of strings | Each ID must match a [SOURCE_ID] from the input context. Reject if any ID is hallucinated or not present in [RETRIEVED_DOCUMENTS]. | |
positions[].supporting_quote | string (<= 200 chars) | Must be a verbatim substring from the cited source. Validate with exact string match against [RETRIEVED_DOCUMENTS]; flag if quote is paraphrased. | |
positions[].source_reliability_note | string or null | If present, must reference a specific reliability factor (recency, methodology, sample size). Null allowed when reliability is comparable across sources. | |
unresolved_questions | array of strings | Each string must be a specific, answerable question. Reject generic entries like 'more research needed'. Minimum 1 item if conflict is unresolved. | |
exploration_paths | array of objects | Each object must include path_label and suggested_action. Minimum 1 path. Action must be user-executable (read source, compare methodologies, check date). | |
neutrality_score | number (0.0-1.0) | If present, must be accompanied by a neutrality_rationale string. Score represents balance of representation, not absence of position. Validate range. |
Common Failure Modes
What breaks first when presenting conflicting evidence to users and how to guard against it.
False Balance Between Unequal Sources
What to watch: The model presents a fringe claim and a consensus position as equally valid, misleading users about the weight of evidence. This happens when the prompt lacks explicit weighting instructions. Guardrail: Add a source reliability scoring step before presentation. Require the prompt to label the strength of each position using a defined scale and demote low-authority sources.
Overwhelming Users with Raw Contradictions
What to watch: The output dumps every detected conflict without structure, leaving users confused about what matters. This occurs when the prompt asks for completeness over usability. Guardrail: Add a severity filter and grouping instruction. Require the prompt to categorize conflicts by impact and present only high-severity disagreements with a clear summary before detail.
Synthesizing False Consensus
What to watch: The model smooths over genuine disagreements and produces a unified answer that misrepresents the evidence. This is common when the prompt emphasizes conciseness over accuracy. Guardrail: Add an explicit instruction to surface unresolved disagreements. Require the output to include a dedicated 'Areas of Disagreement' section before any synthesis.
Confusing Paraphrased Agreement with Conflict
What to watch: The model flags sources as contradictory when they actually agree but use different terminology. This inflates conflict counts and erodes user trust. Guardrail: Add a semantic equivalence check step. Instruct the model to verify whether differing language reflects genuine disagreement or terminological variation before flagging a conflict.
Dropping Source Attribution Under Complexity
What to watch: When multiple sources conflict, the model omits which source said what, making it impossible for users to verify claims. This happens when the output format doesn't enforce citation-per-claim. Guardrail: Require inline attribution for every contested claim. Use a structured output schema that pairs each position with its source identifier and reliability note.
Presenting Stale Evidence as Current
What to watch: The model treats outdated sources as equally valid, especially when newer evidence contradicts older findings. Users receive wrong conclusions for time-sensitive questions. Guardrail: Add a temporal relevance check. Require the prompt to surface publication dates, flag sources older than a domain-specific threshold, and prioritize recency when evidence conflicts.
Evaluation Rubric
Test output quality before shipping the conflicting evidence presentation prompt. Each criterion targets a specific failure mode: false consensus, source misattribution, neutrality drift, or user overwhelm.
| Criterion | Pass Standard | Failure Signal | Test Method |
|---|---|---|---|
Conflict acknowledgment | Every identified conflict from [CONFLICT_LIST] is mentioned in the output; no contradictory sources are presented as agreeing | Output synthesizes conflicting sources into a single unified claim without noting disagreement | Diff [CONFLICT_LIST] against output claims; flag any conflict present in input but absent or smoothed over in output |
Source attribution accuracy | Each position is attributed to the correct source from [SOURCE_MAP]; no source is cited for a claim it does not make | Source A is cited as supporting Position X when [SOURCE_MAP] shows Source A supports Position Y or is neutral | Spot-check 3 random attributions per output against [SOURCE_MAP]; require 100% match on source-to-position mapping |
Neutrality maintenance | Output describes each position using neutral framing language; no position is described with dismissive or endorsing adjectives | One position is labeled 'speculative' or 'unreliable' while another is labeled 'well-established' without explicit reliability scoring from [RELIABILITY_SCORES] | LLM-as-judge pairwise comparison: present output alongside a known-neutral baseline; flag if output shows systematic valence skew toward one position |
User overwhelm prevention | Output presents no more than [MAX_POSITIONS] distinct positions; remaining conflicts are summarized or linked with 'explore further' paths | Output lists 8+ positions without grouping, summarization, or prioritization cues | Count distinct positions in output; fail if count exceeds [MAX_POSITIONS] without explicit grouping or deferral mechanism |
Credibility signal inclusion | When [RELIABILITY_SCORES] are provided, output includes credibility cues (recency, authority, corroboration count) for each source position | Output presents all positions as equally credible when [RELIABILITY_SCORES] show a 2+ point gap between highest and lowest source scores | Parse output for credibility language; check that any source with score below [CREDIBILITY_THRESHOLD] is flagged with appropriate uncertainty language |
Exploration path provision | Output includes at least one actionable path for users to explore each position further (link, query suggestion, or source reference) | Output presents conflict as resolved or dead-end with no next step for the user | Validate that each distinct position in output has a corresponding exploration path element; fail if any position lacks a path |
Abstention on unresolvable conflicts | When [CONFLICT_LIST] contains a conflict marked 'unresolvable' with severity above [SEVERITY_THRESHOLD], output explicitly states the conflict cannot be resolved with available evidence | Output implies resolution or picks a winning side on an unresolvable conflict without noting the limitation | Check output for unresolvable-conflict language; if [CONFLICT_LIST] contains unresolvable items, require explicit uncertainty statement; absence triggers fail |
Output schema compliance | Output matches [OUTPUT_SCHEMA] exactly: all required fields present, no extra fields, correct types | Output is missing 'positions' array, 'unresolved_conflicts' field, or 'exploration_paths' object; or contains hallucinated fields | Validate output against [OUTPUT_SCHEMA] using JSON Schema validator; fail on any schema violation |
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 prompt and a small set of 2–3 conflicting sources. Remove strict output schema requirements initially. Use a simple markdown template for the conflict summary instead of structured JSON. Focus on getting the tone and neutrality right before adding validation.
Prompt modification
Remove the [OUTPUT_SCHEMA] block and replace with: Present the disagreement in plain paragraphs. For each position, state the claim and which source supports it. End with one sentence about what is still uncertain.
Watch for
- The model taking sides or implying one source is correct without evidence
- Overwhelming users with every minor discrepancy instead of surfacing material conflicts
- Missing source attribution on individual claims

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