Inferensys

Prompt

RAG Source Conflict Clarification Prompt

A practical prompt playbook for using the RAG Source Conflict Clarification Prompt 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 RAG Source Conflict Clarification Prompt.

Use this prompt when your grounded QA system retrieves multiple passages that directly contradict each other on a material fact, and you need the model to surface the conflict to the user rather than silently picking a side or hallucinating a compromise. The ideal user is an AI engineer or product developer building a customer-facing assistant, internal research tool, or support copilot where source fidelity is a hard requirement. The job-to-be-done is not just answering a question—it is maintaining user trust by making retrieval conflicts transparent and actionable. This prompt is designed for production RAG pipelines where the retrieved context is already in the prompt window, and the model's task is to analyze, cite, and clarify, not to perform the retrieval itself.

This prompt is not appropriate when the retrieved passages are merely different in emphasis or style rather than factually contradictory. Do not use it for low-stakes creative generation, summarization of opinion pieces, or scenarios where the user expects a single synthesized answer without source interrogation. It is also the wrong tool when the contradiction stems from a broken retrieval step—if your vector search is returning irrelevant chunks, fix retrieval before adding a conflict resolution layer. The prompt assumes that the input context contains at least two passages with identifiable, citable contradictions. If your system cannot reliably surface conflicting passages, you will get false-positive conflict reports that erode user confidence.

Before deploying this prompt, ensure your evaluation harness includes checks for source attribution accuracy, conflict framing neutrality, and clarification question specificity. A common failure mode is the model inventing a conflict where passages are actually complementary, or framing one source as 'correct' and the other as 'wrong' without evidence. Wire the prompt into an application flow that logs conflict instances, tracks whether users respond to clarification questions, and measures whether resolution rates improve over time. If the domain is regulated—such as healthcare, legal, or financial advice—always route the final answer through human review and never let the model resolve the conflict autonomously. Start with a high retrieval similarity threshold to surface only clear contradictions, then tune downward based on production data.

PRACTICAL GUARDRAILS

Use Case Fit

Where the RAG Source Conflict Clarification Prompt works and where it introduces risk. Use this to decide if the prompt fits your production architecture before integrating it.

01

Strong Fit: Multi-Source Research Assistants

Use when: your system retrieves from multiple documents, databases, or APIs that may contain contradictory facts. Guardrail: The prompt excels at surfacing conflicts with source attribution, turning a hallucination risk into a user-facing clarification moment.

02

Strong Fit: Regulated or High-Stakes QA

Use when: answer accuracy is critical and presenting a false consensus is worse than admitting uncertainty. Guardrail: The conflict summary and targeted question create an audit trail, supporting human review workflows before a final answer is committed.

03

Poor Fit: Single-Source or Homogeneous Knowledge Bases

Avoid when: all context comes from a single authoritative document or a tightly curated dataset with no contradictions. Guardrail: The prompt will waste context budget searching for conflicts that don't exist, adding latency and unnecessary clarification turns.

04

Required Input: Ranked, Cited Retrieval Results

Risk: The prompt cannot detect conflicts if the retriever provides unranked, uncited, or truncated passages. Guardrail: Ensure your RAG pipeline passes at least two top-ranked passages with source identifiers and relevance scores. The prompt depends on this metadata to frame the conflict neutrally.

05

Operational Risk: Clarification Loop Fatigue

Risk: If every minor discrepancy triggers a clarification question, users will abandon the session. Guardrail: Implement a materiality threshold. Only surface conflicts where the factual difference would change the answer. Log clarification rates and set an upper bound per session.

06

Operational Risk: Source Bias Amplification

Risk: The prompt may frame the conflict as two equally valid viewpoints when one source is outdated or low-authority. Guardrail: Include source freshness and authority metadata in the prompt context. Instruct the model to note when one source is significantly more recent or authoritative rather than presenting a false balance.

PROMPT PLAYBOOK

Copy-Ready Prompt Template

A reusable prompt template for generating a source conflict summary and a targeted clarification question when retrieved passages contradict each other.

This prompt template is designed to be dropped into a RAG pipeline immediately after the retrieval step. It instructs the model to act as a neutral arbiter when presented with conflicting source passages. Instead of hallucinating a resolution or arbitrarily picking a winner, the model must produce a structured conflict report that cites the disagreeing sources verbatim and then formulate a single, precise clarification question. The goal is to surface the contradiction to the user transparently and gather the minimum information needed to resolve it, preserving user trust and avoiding wasted turns.

code
You are a precise research assistant. Your task is to analyze the provided source passages and the user's question. If the sources contradict each other on a material fact, you must not answer the user's question directly. Instead, you must produce a conflict summary and a single clarification question.

USER QUESTION:
[USER_QUESTION]

RETRIEVED SOURCES:
[RETRIEVED_SOURCES]

INSTRUCTIONS:
1.  **Analyze:** Determine if the sources contain a direct contradiction on a fact relevant to the user's question. A contradiction exists only if two or more sources make mutually exclusive claims.
2.  **If No Contradiction:** If the sources are consistent or address different aspects, output a JSON object with a single key "status" and the value "no_conflict". Do not answer the question.
3.  **If Contradiction Exists:** Output a JSON object with the following structure:
    *   `status`: "conflict"
    *   `conflict_summary`: A concise, neutral summary of the point of disagreement. Frame it as "Source A states X, while Source B states Y." Do not infer which source is correct.
    *   `source_a_claim`: A direct quote from the first source that supports its claim.
    *   `source_b_claim`: A direct quote from the second source that supports its contradictory claim.
    *   `clarification_question`: A single, targeted question for the user that would resolve the contradiction. The question must be answerable without the user needing to see the original sources. Do not ask "Which source is correct?"

CONSTRAINTS:
*   Never fabricate a resolution. Your only job is to identify and report the conflict.
*   Cite sources exactly. Do not paraphrase the conflicting claims.
*   The clarification question must be specific to the factual disagreement.
*   Output only the valid JSON object. No other text.

OUTPUT SCHEMA:
{
  "status": "conflict",
  "conflict_summary": "string",
  "source_a_claim": "string",
  "source_b_claim": "string",
  "clarification_question": "string"
}

To adapt this template, replace the [USER_QUESTION] and [RETRIEVED_SOURCES] placeholders with your application's runtime variables. The [RETRIEVED_SOURCES] should be a pre-formatted string containing the text of each passage, clearly delimited with identifiers (e.g., [Source 1] ... [Source 2] ...). This prompt is designed for a single LLM call. For high-stakes applications, you should validate the output JSON against the schema and check that the source_a_claim and source_b_claim strings are exact substrings of the [RETRIEVED_SOURCES] input. If validation fails, a retry loop with a failure reason appended to the prompt is a standard recovery pattern. Always log the raw prompt, the model's output, and the validation result to monitor the frequency and nature of source conflicts in your system.

IMPLEMENTATION TABLE

Prompt Variables

Required inputs for the RAG Source Conflict Clarification Prompt. Each placeholder must be populated before the prompt is assembled and sent to the model. Validation notes describe how to check the input at runtime before incurring inference cost.

PlaceholderPurposeExampleValidation Notes

[USER_QUERY]

The original user question that triggered retrieval and produced conflicting sources.

What is the company's policy on remote work for new hires?

Must be a non-empty string. Check length > 0. Reject if only whitespace or control characters. Log the raw query for traceability.

[RETRIEVED_SOURCES]

The full set of retrieved passages or documents that contain conflicting information. Each source must include a unique identifier and the raw text.

[{"source_id": "doc-42", "text": "New hires must work on-site for the first 6 months."}, {"source_id": "doc-87", "text": "All employees are eligible for remote work from day one."}]

Must be a valid JSON array with at least 2 objects. Each object requires a non-empty 'source_id' string and a non-empty 'text' string. Reject if fewer than 2 sources or if any source is missing required fields.

[CONFLICT_DESCRIPTION]

A brief, neutral summary of the contradiction detected between sources, generated by a prior conflict detection step.

Source doc-42 states a 6-month on-site requirement for new hires. Source doc-87 states remote work eligibility begins on day one.

Must be a non-empty string. Should reference at least two source_ids present in [RETRIEVED_SOURCES]. If the conflict description cannot be generated, abort the clarification prompt and escalate to a human reviewer.

[MAX_CLARIFICATION_QUESTIONS]

An integer constraint limiting the number of clarification questions the prompt may generate. Prevents question loops.

1

Must be a positive integer. Typical value is 1. If > 3, log a warning about potential user friction. Reject if null or non-integer.

[OUTPUT_SCHEMA]

The strict JSON schema the model must adhere to for its response, defining the conflict summary, cited sources, and clarification question.

{"type": "object", "properties": {"conflict_summary": {"type": "string"}, "disagreeing_sources": {"type": "array", "items": {"type": "string"}}, "clarification_question": {"type": "string"}}, "required": ["conflict_summary", "disagreeing_sources", "clarification_question"]}

Must be a valid JSON Schema object. Validate with a schema parser before injection. The 'required' array must include at least 'conflict_summary', 'disagreeing_sources', and 'clarification_question'.

[NEUTRALITY_CONSTRAINT]

A boolean flag that, when true, instructs the model to frame the conflict without favoring any single source. Critical for unbiased clarification.

Must be a strict boolean (true or false). If set to false, log a warning and require explicit approval from a review step, as biased framing can mislead users.

[CITATION_FORMAT]

A template string defining how sources should be cited in the output, ensuring consistent attribution.

[{source_id}]

Must be a non-empty string containing the placeholder '{source_id}'. Validate that the format string is parseable and does not contain unescaped control characters. Reject if missing the placeholder.

PRACTICAL GUARDRAILS

Common Failure Modes

What breaks first when resolving source conflicts and how to guard against it.

01

Neutrality Collapse

What to watch: The model takes sides in a source conflict, framing one source as 'correct' and the other as 'outdated' or 'wrong' without evidence. This destroys user trust and hides real ambiguity. Guardrail: Require the prompt to present both sources symmetrically using parallel structure ('Source A states X, while Source B states Y') and forbid evaluative language like 'more reliable' or 'better supported' unless explicitly grounded in metadata.

02

Hallucinated Source Attribution

What to watch: The model fabricates a conflict by citing a source that doesn't contain the claimed contradiction, or misattributes a statement to the wrong source. This creates phantom disagreements that waste user attention. Guardrail: Include a strict instruction that every cited claim must be traceable to a verbatim excerpt. Add a post-generation validation step that checks each citation span against the original retrieved passage before surfacing the conflict to the user.

03

False Conflict Flagging

What to watch: The model reports a conflict where none exists because it fails to recognize that sources address different scopes, time periods, or conditions. This triggers unnecessary clarification questions that annoy users. Guardrail: Add a pre-clarification check requiring the model to identify the specific dimension of disagreement (factual, temporal, definitional, or scope-based) and suppress the conflict flag if the sources can be reconciled by noting differing contexts.

04

Over-Clarification Spiral

What to watch: The model asks a clarification question, receives a user answer, but then asks another clarification question about the same conflict instead of resolving it. This creates a frustrating loop that burns context budget. Guardrail: Implement a clarification budget (maximum one question per conflict) and require the model to commit to an answer with disclosed assumptions if the user's clarification doesn't fully resolve the ambiguity. Track clarification count in dialogue state.

05

Leading Question Bias

What to watch: The clarification question subtly favors one source by framing the options asymmetrically ('Do you want to use the more recent data, or the older report?'). This biases the user toward the model's preferred resolution. Guardrail: Require clarification questions to present options with structurally identical framing and neutral labels (Option A / Option B). Add an eval check that scores option symmetry using pairwise comparison of adjective use and value-laden language.

06

Missing Abstention Trigger

What to watch: When sources conflict and the user provides a clarification that still doesn't resolve the underlying factual dispute, the model confidently picks a side instead of acknowledging continued uncertainty. This produces a definitive-sounding but unreliable answer. Guardrail: Include an explicit abstention condition: if the conflict persists after one clarification round, the model must state that the evidence remains divided, present both positions, and recommend deferring to a human reviewer or primary source.

IMPLEMENTATION TABLE

Evaluation Rubric

Use this rubric to test the RAG Source Conflict Clarification Prompt before shipping. Each criterion targets a specific failure mode in conflict detection, source attribution, or clarification framing. Run these checks against a golden dataset of conflicting and non-conflicting source pairs.

CriterionPass StandardFailure SignalTest Method

Conflict Detection Accuracy

Prompt correctly identifies contradictory claims between sources when factual disagreement exists

Prompt reports 'no conflict' when sources directly contradict each other, or reports a conflict when sources are complementary

Run against 50 source pairs with known conflict labels; require F1 >= 0.90

Source Attribution Fidelity

Every conflicting claim is cited to the exact source passage that made it, with no misattribution

A claim is attributed to Source A when Source B made it, or a claim appears without any source citation

Parse output citations against ground-truth source spans; require exact match on source ID and claim alignment

Conflict Framing Neutrality

Conflict summary describes disagreement without favoring one source, using neutral language like 'Source A states X while Source B states Y'

Summary uses evaluative language such as 'Source A is more reliable' or 'Source B is incorrect' before user resolution

LLM-as-judge review on 30 conflict summaries; require >= 95% pass rate on neutrality rubric

Clarification Question Specificity

Clarification question targets the exact point of contradiction and can be answered with a specific fact or preference

Question is generic such as 'Can you clarify?' or asks about information already present in the sources

Human review of 20 clarification questions; require >= 90% rated as 'specific and resolvable'

No Fabricated Resolution

Prompt never invents a resolution, synthesizes a middle ground, or declares one source correct without user input

Output contains phrases like 'the most likely answer is' or 'Source A is probably right' when sources conflict

Scan output for resolution language patterns; require zero instances in conflict-present cases

Abstention When Conflict Unresolvable

Prompt abstains from answering the substantive question and only outputs the conflict summary and clarification question

Output includes a direct answer to the user's question alongside or instead of the conflict clarification

Check that answer field is null or contains explicit abstention marker when conflict is detected; require 100% compliance

Evidence Completeness

All conflicting source passages are represented in the conflict summary; no conflicting source is omitted

One source's claim is summarized while the contradictory source's claim is missing from the output

Compare output source citations to all sources flagged as conflicting in ground truth; require recall >= 0.95

Clarification Question Count

Prompt generates exactly one clarification question per conflict cluster, avoiding question bombardment

Output contains multiple clarification questions for a single conflict, or chains follow-up questions before user responds

Count clarification questions per output; require count = 1 when conflict is detected

PROMPT PLAYBOOK

Implementation Harness Notes

How to wire the RAG Source Conflict Clarification Prompt into a production application with validation, retries, and human review gates.

This prompt is designed to sit inside a retrieval-augmented generation pipeline after the retrieval step but before the final answer synthesis. When your retriever returns multiple passages with contradictory claims, the prompt produces a structured conflict summary and a targeted clarification question instead of letting the model silently pick a side or hallucinate a reconciliation. The implementation harness must catch the conflict signal early, route it to the user or a review queue, and prevent the system from proceeding to answer generation until the conflict is resolved.

Wire the prompt as a decision gate in your RAG pipeline. After retrieval, run a lightweight contradiction detector (e.g., an NLI model or a keyword-based overlap check) to flag candidate conflicts. If flagged, invoke this prompt with the conflicting passages and the user's original query. Parse the output against a strict schema: expect fields like conflict_summary, source_a_citation, source_b_citation, disagreeing_claim, and clarification_question. Validate that every citation maps back to a real retrieved passage ID. If the output fails schema validation or contains citations to non-existent sources, retry once with a stricter constraint message. After two failures, escalate to a human reviewer with the raw passages and the failed outputs logged. For high-stakes domains (healthcare, legal, finance), always require human approval before surfacing the clarification question to the end user.

Model choice matters here. Use a model with strong instruction-following and citation discipline (e.g., GPT-4o, Claude 3.5 Sonnet) rather than a smaller or faster model that may drop citations or invent source mappings. Set temperature low (0.0–0.2) to reduce creative paraphrasing of the conflict. Log every invocation: the retrieved passage IDs, the conflict detection score, the raw prompt, the model output, the validation result, and whether the clarification was shown to the user or escalated. This audit trail is essential for debugging false-positive conflict flags and for demonstrating source-grounded behavior to compliance reviewers. Avoid the temptation to skip the conflict gate for latency reasons—surfacing a contradictory answer is far more expensive than a single clarification turn.

ADAPTATION OPTIONS

Adapt This Prompt

How to adapt

Use the base prompt with a frontier model and a small set of synthetic conflicting passages. Focus on getting the conflict summary structure and citation format right before adding validation logic.

Replace the [OUTPUT_SCHEMA] placeholder with a simple JSON template:

json
{
  "conflict_summary": "string",
  "source_a": {"id": "string", "claim": "string"},
  "source_b": {"id": "string", "claim": "string"},
  "clarification_question": "string"
}

Watch for

  • The model resolving the conflict instead of surfacing it
  • Missing source IDs when passages aren't explicitly labeled
  • Clarification questions that are open-ended rather than targeted
  • Overly verbose conflict summaries that bury the contradiction
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.