This prompt is designed for evidence pipelines that must measure how consistently a specific claim is supported across multiple independent sources. The primary job-to-be-done is scoring corroboration strength to distinguish well-supported facts from isolated assertions. The ideal user is an AI platform engineer, a trust-and-safety engineer, or a RAG pipeline architect who needs to programmatically detect echo chambers, flag single-source claims, and prevent the model from treating a single loud source as consensus. The required context includes a target claim and a set of source passages, each with enough metadata (e.g., publisher, date) to allow independence checks.
Prompt
Cross-Source Corroboration Scoring Prompt

When to Use This Prompt
Defines the job, ideal user, and constraints for the Cross-Source Corroboration Scoring Prompt.
Use this prompt when your application generates factual claims and you need to verify them against a retrieval corpus before showing them to a user. It is appropriate for research synthesis, due diligence, news monitoring, and any high-stakes domain where a claim's credibility depends on multi-source agreement. The prompt is not a fact-checker for objective truth; it scores agreement patterns. Do not use it when you have only one source, when sources are not independent (e.g., all syndicated from the same wire service), or when the claim is subjective opinion. In regulated or high-risk domains, the output is a signal for a human reviewer or a downstream weighting algorithm, not a final publish/discard decision.
Before implementing, map out your source independence criteria. The prompt's value collapses if it cannot distinguish between original reporting and circular referencing. Plan to pair this prompt with a source trustworthiness assessment from the same pillar to ensure you are scoring corroboration among authoritative sources, not just any sources. The next section provides the copy-ready template.
Use Case Fit
Where the Cross-Source Corroboration Scoring Prompt delivers value and where it introduces risk.
Good Fit: Multi-Source Research Pipelines
Use when: your system retrieves 3+ independent sources for a claim and needs to measure agreement before surfacing an answer. Guardrail: require a minimum source count before scoring; a single-source claim should return 'insufficient evidence' rather than a high corroboration score.
Good Fit: Pre-Answer Evidence Triage
Use when: you need to filter or weight evidence before answer generation, not after. Guardrail: run corroboration scoring before the answer prompt, not as a post-hoc check. A high score should gate whether a claim is presented as fact or qualified with uncertainty.
Bad Fit: Single-Source Verification
Avoid when: only one source document exists for a claim. Corroboration scoring requires multiple independent sources; applying it to a single source produces misleadingly low or meaningless scores. Guardrail: short-circuit scoring when source count < 2 and return a distinct 'insufficient sources' signal.
Bad Fit: Real-Time Breaking News
Avoid when: the claim concerns an event still unfolding where independent sources may not yet exist. Guardrail: add a temporal freshness check; if all sources are within a narrow time window, flag the claim as 'emerging, limited corroboration' rather than penalizing it.
Required Inputs
Required: a specific claim string, 2+ source passages with identifiers, and source independence metadata. Optional: domain context, recency thresholds, and authority scores. Guardrail: validate that source identifiers are unique and that passages are not duplicate content from the same publisher before scoring.
Operational Risk: Echo Chamber Scoring
Risk: multiple sources repeating the same wire service or press release produce a false high-corroboration signal. Guardrail: implement source independence detection before scoring; group sources by parent publisher or syndication origin and count only distinct reporting chains toward the corroboration score.
Copy-Ready Prompt Template
A reusable prompt template with square-bracket placeholders for scoring claim agreement across multiple sources.
This section provides the core prompt template for cross-source corroboration scoring. The template is designed to be copied directly into your application code, test harness, or prompt management system. It accepts a target claim and a set of source passages, then returns a structured corroboration score along with detailed evidence of agreement, disagreement, and echo-chamber detection. Every placeholder is enclosed in square brackets and must be populated by your application layer before the prompt is sent to the model.
textYou are an evidence corroboration analyst. Your task is to evaluate how consistently a claim is supported across multiple independent sources. ## INPUT **Claim to evaluate:** [CLAIM] **Source passages:** [SOURCE_PASSAGES] ## INSTRUCTIONS 1. For each source passage, determine whether it supports, contradicts, or is neutral toward the claim. 2. Identify which sources are likely independent versus those that appear to reference or reproduce each other (echo-chamber detection). 3. Assign a corroboration score from 0.0 to 1.0 where: - 1.0 = Multiple independent sources strongly and consistently support the claim - 0.7-0.9 = General agreement with minor variation across independent sources - 0.4-0.6 = Mixed support or heavy dependence on a single source - 0.1-0.3 = Mostly contradictory or only one weak source supports the claim - 0.0 = No source supports the claim or all sources contradict it 4. Flag any claim that relies on only a single source or a cluster of non-independent sources. ## OUTPUT SCHEMA Return a JSON object with this exact structure: { "corroboration_score": <float 0.0-1.0>, "score_confidence": <float 0.0-1.0>, "independent_source_count": <integer>, "total_source_count": <integer>, "supporting_sources": [<list of source identifiers>], "contradicting_sources": [<list of source identifiers>], "neutral_sources": [<list of source identifiers>], "echo_chamber_detected": <boolean>, "echo_chamber_detail": <string explanation if detected, otherwise null>, "single_source_dependency": <boolean>, "assessment_summary": <string 2-4 sentence summary of findings>, "uncertainty_factors": [<list of strings describing factors that reduce confidence>] } ## CONSTRAINTS - Do not invent evidence not present in the provided source passages. - If sources disagree, report the disagreement rather than averaging into a misleading score. - Treat sources that cite each other or share identical phrasing as potentially non-independent. - If publication dates are provided, note whether older sources may have been superseded. - If fewer than 2 independent sources exist, set single_source_dependency to true and reduce the corroboration score accordingly. - Do not evaluate the truth of the claim itself, only the degree of source agreement. ## RISK LEVEL [RISK_LEVEL]
Adaptation guidance: Replace [CLAIM] with the statement under evaluation, formatted as a single sentence when possible. Populate [SOURCE_PASSAGES] with a structured list of source objects, each containing at minimum an identifier, the passage text, and optionally a publication date and source type. The [RISK_LEVEL] placeholder should be set to high, medium, or low based on your application's tolerance for error. At high risk levels, add an instruction requiring the model to abstain from scoring when fewer than two independent sources are available, and route the output for human review before any downstream action. For production pipelines, validate the output JSON against the schema before accepting the score, and log any parse failures for prompt refinement.
Prompt Variables
Required inputs for the Cross-Source Corroboration Scoring Prompt. Each variable must be populated before the prompt is assembled and sent to the model.
| Placeholder | Purpose | Example | Validation Notes |
|---|---|---|---|
[CLAIM] | The specific factual assertion to verify across sources | Acme Corp acquired Beta Ltd in Q3 2024 for $340M | Must be a single, atomic claim. Reject if compound or contains nested assertions. Max 200 characters. |
[SOURCES] | Array of source documents with metadata to compare against the claim | [{"id":"src1","text":"...","date":"2024-09-15","publisher":"Reuters"}] | Minimum 2 sources required. Each source must have id and text fields. Date and publisher are optional but strongly recommended for echo-chamber detection. |
[DOMAIN] | Knowledge domain for calibrating corroboration standards | financial_news | Must match a supported domain enum value. Controls thresholds for source independence and acceptable date variance. |
[CORROBORATION_THRESHOLD] | Minimum number of independent sources that must support the claim for a PASS score | 3 | Integer between 2 and number of sources provided. Defaults to 2 if not specified. Higher thresholds increase precision but may reject true claims with limited coverage. |
[INDEPENDENCE_RULES] | Criteria for determining whether two sources are independent | different_publisher AND date_difference > 24h | Boolean expression using source metadata fields. Common rules: different_publisher, different_author, date_difference > N hours. Prevents counting syndicated content as multiple sources. |
[ECHO_CHAMBER_FLAG_THRESHOLD] | Ratio of dependent sources to total sources that triggers an echo-chamber warning | 0.6 | Float between 0.0 and 1.0. When dependent source ratio exceeds this value, output must include echo_chamber_risk: true. Default 0.5. |
[OUTPUT_SCHEMA] | Expected JSON structure for the corroboration result | {"claim":"string","score":"float","supporting_sources":["string"],"echo_chamber_risk":"boolean"} | Must be a valid JSON Schema or example object. Required fields: claim, score, supporting_sources, echo_chamber_risk. Optional: conflicting_sources, single_source_only, confidence_interval. |
Common Failure Modes
Cross-source corroboration scoring is powerful but brittle. These are the most common failure modes observed in production evidence pipelines, with concrete guardrails to catch them before they affect downstream answers.
Echo Chamber False Positives
What to watch: Multiple sources appear to corroborate a claim, but all derive from a single original source (syndication, rewrites, or common press release). The model assigns high corroboration scores to what is effectively a single-source claim. Guardrail: Require source-independence verification before scoring. Extract and compare publication timestamps, author bylines, and explicit attribution chains. Flag clusters where all sources cite the same originator and downgrade the corroboration score accordingly.
Near-Duplicate Passage Contamination
What to watch: Retrieval returns multiple passages from the same document or highly similar text spans. The model treats these as independent corroborating sources, inflating agreement scores. Guardrail: Run a pre-scoring deduplication step using text similarity thresholds (e.g., cosine similarity > 0.85 on passage embeddings). Group near-duplicates and treat each group as a single source for corroboration counting. Log deduplication decisions for audit.
Claim Granularity Mismatch
What to watch: The prompt scores corroboration at the wrong level of granularity. A broad claim like 'the system is secure' gets high agreement across sources that each address different narrow aspects of security, creating false consensus. Guardrail: Decompose compound claims into atomic sub-claims before scoring. Require each sub-claim to be independently corroborated. Flag claims that cannot be decomposed as too vague for reliable scoring and escalate for human review.
Temporal Drift in Corroboration
What to watch: Sources from different time periods appear to corroborate a claim, but the underlying facts have changed. A 2022 source and a 2024 source both 'support' a claim that was true in 2022 but false in 2024 because the 2024 source is outdated or references the old state. Guardrail: Include temporal context in the scoring prompt. Require the model to note each source's publication date and assess whether the claim's truth value could have changed between publication dates. Downgrade scores when temporal inconsistency is detected.
Confidence Calibration Failure
What to watch: The model outputs high corroboration scores for claims with only two weak sources, or low scores for claims with strong multi-source support, because the scoring rubric is not calibrated to actual evidence strength. Guardrail: Define explicit scoring anchors with examples. For instance: 'Score 1: single low-authority source. Score 3: two independent moderate-authority sources. Score 5: three or more independent high-authority sources with consistent specific details.' Include calibration examples in the prompt and validate score distributions against human-annotated ground truth during evaluation.
Negative Evidence Omission
What to watch: The prompt focuses only on sources that support a claim, ignoring sources that contradict or refute it. The corroboration score reflects agreement among supportive sources but misses active disagreement. Guardrail: Structure the prompt to explicitly require contradiction detection. For each claim, ask: 'Which retrieved sources contradict or challenge this claim?' Include contradiction count and strength in the final score. A claim with two supporting sources and one strong contradiction should score lower than a claim with two supporting sources and no contradictions.
Evaluation Rubric
Use this rubric to evaluate the Cross-Source Corroboration Scoring Prompt before deploying it into a production evidence pipeline. Each criterion targets a specific failure mode observed in multi-source agreement scoring.
| Criterion | Pass Standard | Failure Signal | Test Method |
|---|---|---|---|
Agreement Score Calibration | Score of 0.9-1.0 for 5 identical claims; 0.0-0.2 for 5 contradictory claims | Score variance exceeds 0.3 across identical inputs; contradictory claims score above 0.4 | Run prompt on a golden dataset of 10 claim sets with known agreement levels and measure mean absolute error against expected scores |
Echo Chamber Detection | Flags claims supported by 3+ sources sharing the same parent publication or syndication network | Fails to flag syndicated content as echo chamber; flags independent sources as echo chamber | Feed 5 claim sets where all sources derive from a single wire service and verify [ECHO_CHAMBER] flag is true |
Single-Source Support Flagging | Sets [SINGLE_SOURCE] to true when only one source supports the claim and [CORROBORATION_COUNT] equals 1 | Returns false for [SINGLE_SOURCE] when corroboration count is 1; returns true when count is 3+ | Test with claim sets containing exactly 1, 3, and 5 supporting sources and validate boolean output |
Source Independence Scoring | Assigns [INDEPENDENCE_SCORE] below 0.3 when all sources share ownership, authors, or funding | Independence score above 0.5 for sources from the same parent organization; below 0.3 for clearly independent outlets | Provide 3 source sets: all same publisher, all different publishers, mixed; verify score ordering matches independence |
Contradiction Surface | Lists specific contradictory claims in [CONTRADICTIONS] array with source references when sources disagree | Empty [CONTRADICTIONS] array when sources contain direct factual conflicts; hallucinated contradictions | Feed 2 claim sets with known contradictions and 1 without; verify array length and source references match ground truth |
Confidence Interval Output | Returns [CONFIDENCE_INTERVAL] as a tuple with lower and upper bounds reflecting source count and agreement spread | Confidence interval width is zero when sources disagree; interval width exceeds 0.8 when 5 sources fully agree | Check that interval narrows as source count and agreement increase across 3 test cases with 1, 3, and 7 sources |
Output Schema Compliance | All required fields present with correct types: [CORROBORATION_SCORE] as float, [CORROBORATION_COUNT] as integer, [SOURCES] as array of objects | Missing required fields; string instead of float for score; malformed [SOURCES] objects missing [SOURCE_ID] or [SUPPORT_LEVEL] | Validate output against JSON Schema for 20 varied inputs; reject any response that fails structural validation |
Implementation Harness Notes
How to wire the Cross-Source Corroboration Scoring Prompt into a production evidence pipeline with validation, retries, and human review gates.
The Cross-Source Corroboration Scoring Prompt is designed to sit between retrieval and answer generation in a RAG pipeline. After you retrieve passages that support or refute a claim, this prompt scores how consistently the claim is supported across independent sources. The output is a structured corroboration score, an independence assessment, and a flag for single-source or echo-chamber patterns. Wire this prompt as a post-retrieval, pre-synthesis step: the retrieval system returns candidate evidence, this prompt scores corroboration, and the downstream answer generator uses the score to decide how much confidence to express or whether to refuse the claim entirely.
For a production implementation, wrap the prompt in a function that accepts a claim string and a list of source objects, each containing source_id, source_text, publisher, and publication_date. The function should validate inputs before calling the model: reject empty claims, require at least two sources, and strip sources that are near-duplicates (cosine similarity > 0.95 on embeddings) to prevent inflated corroboration scores from syndicated content. On the output side, parse the JSON response and validate that corroboration_score is a float between 0.0 and 1.0, independent_sources_count is an integer ≤ total input sources, and echo_chamber_detected is a boolean. If parsing fails, retry once with a repair prompt that includes the raw output and the expected schema. Log all failures for later prompt debugging.
Model choice matters here. Use a model with strong reasoning and structured output capabilities—GPT-4o, Claude 3.5 Sonnet, or Gemini 1.5 Pro are appropriate. Avoid smaller or older models that may conflate source count with source independence. Set temperature=0 for deterministic scoring. If your pipeline processes high-stakes claims (medical, legal, financial), route claims with corroboration_score < 0.5 or echo_chamber_detected == true to a human review queue before any downstream answer generation. Store the full prompt, response, and parsed score in your observability system so you can trace corroboration decisions back to specific sources and model calls during audits.
For batch or high-throughput pipelines, consider batching multiple claims into a single prompt call with a JSON array output to reduce API overhead. However, keep batches small (≤10 claims) because larger batches degrade scoring accuracy as the model loses focus on individual source relationships. If you use this prompt inside an agent loop where claims are generated dynamically, cache corroboration scores per claim-source-set combination to avoid redundant API calls. Finally, run periodic evaluations: sample 100 scored claims per week, have domain experts rate the corroboration scores for accuracy, and recalibrate your human-review thresholds if the model drifts or if new source patterns emerge in your retrieval corpus.
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
Add strict JSON schema validation with Pydantic or Zod before the output enters your evidence pipeline. Include retry logic: if validation fails, feed the error message back to the model with the original input and ask for a corrected response.
Add the full [OUTPUT_SCHEMA] with fields: claim_id, corroboration_score (0–1), agreement_count, disagreement_count, independent_source_count, echo_chamber_flag, single_source_flag, source_details[], and confidence_interval.
Log every scoring run with model version, input hash, and output for regression testing. Build an eval set of 20+ claims with human-annotated corroboration scores.
Watch for
- Silent format drift when the model changes the JSON field order or adds commentary outside the schema
- The model treating a single authoritative source as "corroborated" because it's cited multiple times in the same document
- Missing human review for claims with
corroboration_scorebetween 0.4 and 0.6 (ambiguous zone)

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