This prompt is for verification system architects and pipeline engineers who need to measure how many independent sources support a claim. It produces a corroboration score with source independence checks, agreement strength, and redundancy penalties. Use this when your verification pipeline already has extracted claims and retrieved evidence passages, and you need to distinguish true corroboration from echo citations before assigning a final confidence score. This prompt belongs after evidence retrieval and before confidence scoring or human-review routing. It is not a replacement for evidence retrieval itself, and it assumes you have already matched claims to candidate evidence sources.
Prompt
Corroboration Count and Agreement Scoring Prompt Template

When to Use This Prompt
Defines the precise job-to-be-done, required inputs, and operational boundaries for the corroboration scoring prompt.
The ideal user is building an automated fact-checking pipeline where a single claim has been paired with multiple evidence snippets from a retrieval step. The prompt expects a structured input containing the claim text and a list of evidence objects, each with source metadata (e.g., publisher, date, author) and the relevant passage. The output is a numerical corroboration score, an independence assessment, and a breakdown of agreement strength. Do not use this prompt for claims with zero evidence matches, for source authority scoring (use a dedicated authority prompt), or for final binary true/false classification. It is a signal component, not a verdict.
Before wiring this into production, ensure your evidence retrieval step returns multiple candidates per claim. A common failure mode is feeding this prompt a single evidence item and expecting a meaningful corroboration score—the output will be trivially 1.0 with no independence check. Also, implement a validation layer that rejects outputs where the model claims independence but the sources share the same root wire service or press release. The next step after this prompt is typically a confidence calibration prompt that consumes the corroboration score alongside authority and contradiction signals.
Use Case Fit
Where the Corroboration Count and Agreement Scoring Prompt Template delivers value and where it introduces risk. Use these cards to decide if this prompt fits your verification pipeline before integrating it.
Good Fit: Multi-Source Verification Pipelines
Use when: your system retrieves multiple documents or sources and needs to measure how many independent sources support a claim. Guardrail: always run source independence checks before counting corroboration to avoid treating syndicated or duplicated content as independent agreement.
Bad Fit: Single-Source or Closed-Corpus Verification
Avoid when: only one authoritative source exists for the claim domain, or the evidence corpus is too small for meaningful corroboration counting. Guardrail: fall back to evidence sufficiency scoring or source authority assessment instead of forcing a corroboration score that will be misleadingly low or artificially inflated by echo citations.
Required Inputs: Claim, Evidence Set, and Source Metadata
What to watch: the prompt needs a discrete claim, a set of evidence passages with source identifiers, and metadata about source relationships. Guardrail: validate that each evidence item includes a unique source ID, publication date, and outlet before calling the prompt. Missing metadata causes independence checks to fail silently.
Operational Risk: Echo Chamber Inflation
What to watch: multiple sources repeating the same wire service report or press release can inflate corroboration counts without adding real evidentiary weight. Guardrail: implement a redundancy penalty that discounts sources sharing the same originating report, and log discounted sources in the output for auditability.
Operational Risk: Agreement Without Accuracy
What to watch: high corroboration counts can create false confidence when all sources share the same error or bias. Guardrail: pair corroboration scoring with source authority assessment and contradiction detection. Never use corroboration count alone as a truth signal.
Pipeline Integration: Pre-Scoring and Post-Scoring Hooks
What to watch: corroboration scoring should sit between evidence retrieval and final confidence calibration in your pipeline. Guardrail: run claim decomposition before scoring, and feed the corroboration score into a downstream confidence calibration prompt that also considers source authority and contradiction severity.
Copy-Ready Prompt Template
A reusable prompt for measuring how many independent sources support a claim, producing a corroboration score with source independence checks and redundancy penalties.
This prompt template is designed for verification pipelines that need to distinguish true corroboration from echo citations. It instructs the model to analyze a set of sources against a target claim, evaluate source independence, measure agreement strength, and apply redundancy penalties when sources merely repeat the same underlying evidence. The output is a structured corroboration score with a detailed breakdown that can be consumed by downstream scoring, triage, or audit systems.
codeYou are a corroboration analyst evaluating how many independent sources support a given claim. Your task is to produce a corroboration score with source independence checks, agreement strength measurement, and redundancy penalties. ## INPUT **Target Claim:** [CLAIM_TEXT] **Claim Domain (for authority context):** [CLAIM_DOMAIN] **Source List with Evidence:** [SOURCES] <!-- Format: For each source, provide: - source_id: unique identifier - source_name: publication or author name - source_type: e.g., primary_research, news_report, government_record, expert_testimony, corporate_disclosure, social_media, unknown - evidence_excerpt: the specific passage that supports or contradicts the claim - publication_date: ISO date or best estimate - retrieval_context: how this source was obtained (e.g., web_search, knowledge_base, user_provided) --> ## OUTPUT SCHEMA Return a JSON object with this exact structure: { "corroboration_summary": { "total_sources_reviewed": <integer>, "independent_source_count": <integer>, "echo_source_count": <integer>, "corroboration_score": <float 0.0-1.0>, "score_label": "<high_corroboration | moderate_corroboration | low_corroboration | single_source_only | no_corroboration>" }, "independence_analysis": [ { "source_group_id": "<string>", "group_label": "<independent | echo_cluster>", "source_ids": ["<string>"], "independence_rationale": "<explain why these sources are or are not independent, citing ownership, authorship, data origin, or citation chains>" } ], "agreement_assessment": { "agreement_level": "<full_agreement | partial_agreement | neutral | partial_disagreement | full_disagreement>", "agreement_strength": <float 0.0-1.0>, "key_points_of_agreement": ["<string>"], "key_points_of_divergence": ["<string>"] }, "redundancy_penalties": [ { "source_ids": ["<string>"], "penalty_reason": "<explain the redundancy: e.g., same underlying dataset, syndicated content, shared author, circular citation>", "penalty_weight": <float 0.0-1.0> } ], "scoring_methodology": { "base_score": <float>, "independence_multiplier": <float>, "agreement_factor": <float>, "redundancy_deduction": <float>, "final_score": <float> }, "limitations_and_caveats": ["<string>"] } ## CONSTRAINTS 1. **Independence check:** Two sources are NOT independent if one cites the other as its primary evidence, they share the same author or parent organization, they syndicate the same wire content, or they reference the same single underlying dataset without additional verification. Document your reasoning. 2. **Echo detection:** If multiple sources repeat the same claim without adding new evidence, investigative work, or verification, classify them as an echo cluster and apply a redundancy penalty. 3. **Agreement measurement:** Assess whether sources agree on the core factual content of the claim, not just surface wording. Partial agreement occurs when sources support the claim but differ on specifics like magnitude, timeline, or scope. 4. **Score calibration:** A corroboration score of 1.0 requires multiple fully independent sources in full agreement with no redundancy. A score of 0.0 means no sources support the claim or all sources are echoes of a single origin. 5. **Single-source handling:** If only one independent source exists, set `corroboration_score` to 0.3 maximum and label as `single_source_only`, regardless of source authority. 6. **Unknown source type:** If source_type is `unknown`, treat the source as lower weight but still analyze its content. Note the uncertainty in `limitations_and_caveats`. 7. **Missing evidence:** If a provided source does not actually contain evidence about the claim, exclude it from scoring and note it in `limitations_and_caveats`. 8. **Domain context:** Use [CLAIM_DOMAIN] to assess what counts as independent verification in that field (e.g., peer-reviewed replication in science, multiple eyewitness accounts in news, separate audit trails in finance). ## EXAMPLES **Example 1: High Corroboration** Claim: "Global average temperature increased by approximately 1.1°C since pre-industrial levels." Sources: IPCC report (primary_research), NASA GISS dataset (primary_research), NOAA annual climate report (government_record) Expected: independent_source_count=3, echo_source_count=0, corroboration_score>=0.9, score_label="high_corroboration" **Example 2: Echo Cluster** Claim: "Company X announced a new product launch next quarter." Sources: Press release on Company X website (corporate_disclosure), TechCrunch article citing the press release (news_report), Reuters wire story (news_report) Expected: independent_source_count=1, echo_source_count=2, corroboration_score<=0.4, redundancy penalties applied **Example 3: Single Source Only** Claim: "A new species of deep-sea fish was discovered in the Mariana Trench." Sources: Single research paper (primary_research) Expected: independent_source_count=1, echo_source_count=0, corroboration_score<=0.3, score_label="single_source_only" ## RISK LEVEL [RISK_LEVEL] <!-- Use "high" for regulated domains, safety-critical claims, or public-facing verification. Use "standard" for internal analysis. High risk requires more conservative scoring and explicit uncertainty flags. -->
To adapt this template for your pipeline, replace the bracketed placeholders with your actual claim text, domain label, and structured source list. The [SOURCES] placeholder expects a formatted list—consider building a pre-processing step that normalizes source metadata before insertion. For high-risk domains, set [RISK_LEVEL] to high to trigger more conservative scoring behavior. After receiving the model output, validate the JSON structure against the schema, verify that final_score matches the scoring methodology calculation, and log any limitations_and_caveats for downstream review. Run this prompt against a golden set of claims with known corroboration patterns before deploying to production.
Prompt Variables
Required inputs for the Corroboration Count and Agreement Scoring prompt. Each variable must be populated before the prompt is assembled and sent. Validation notes describe how to check the input at the application layer before incurring model cost.
| Placeholder | Purpose | Example | Validation Notes |
|---|---|---|---|
[CLAIM] | The single atomic claim being scored for corroboration | The Acme 5000 processor reaches 4.2 GHz under standard cooling | Must be a single verifiable assertion. Reject if input contains multiple claims, opinions, or questions. Use claim extraction prompt first if needed. |
[EVIDENCE_LIST] | Array of evidence objects, each with source identifier, excerpt, and retrieval date | [{"source_id": "src-42", "excerpt": "...", "retrieved": "2025-03-15"}] | Minimum 1 evidence item required. Each object must have source_id, excerpt, and retrieved fields. Null or empty array triggers abort before model call. Validate JSON schema at application layer. |
[SOURCE_REGISTRY] | Map of source_id to source metadata including name, type, and independence markers | {"src-42": {"name": "TechReview", "type": "publication", "parent_org": null}} | Every source_id in EVIDENCE_LIST must have an entry here. Missing entries cause attribution failures. Validate cross-reference completeness before prompt assembly. |
[DOMAIN] | Subject domain of the claim for authority relevance weighting | semiconductor_benchmarks | Must match a domain in the source authority taxonomy. Free-text domains allowed but reduce scoring consistency. Prefer controlled vocabulary from your authority weighting system. |
[CORROBORATION_THRESHOLD] | Minimum number of independent sources required for a passing corroboration score | 3 | Integer >= 1. Default 2 if not specified. Values above available source count guarantee failure. Validate against EVIDENCE_LIST length before call. |
[INDEPENDENCE_RULES] | Criteria for determining whether two sources count as independent | Different parent organizations, no shared authors, no citation chains between them | Provide as structured rules or natural language. Empty rules default to 'different source_id values only' which will inflate scores. Test independence logic against known echo-citation cases. |
[OUTPUT_SCHEMA] | Expected JSON structure for the corroboration score response | {"corroboration_count": int, "independent_count": int, "agreement_strength": float, "redundancy_penalty": float, "final_score": float, "source_grouping": [...]} | Schema must be valid JSON Schema or example structure. Application must parse and validate the response against this schema. Reject responses missing required fields and trigger retry or repair. |
Implementation Harness Notes
How to wire the corroboration scoring prompt into a production verification pipeline with validation, retries, and routing.
The Corroboration Count and Agreement Scoring prompt is designed to sit downstream of claim extraction and evidence retrieval. In a production pipeline, you will typically call this prompt once per claim, passing the claim text and a structured list of retrieved evidence items. The model returns a JSON object containing a corroboration score, source independence assessment, agreement strength, and redundancy penalties. This output should be treated as a structured signal that feeds into a broader confidence scoring or triage system—not as a final verdict on its own.
Input assembly: Before calling the prompt, normalize your evidence payload. Each evidence item should include at minimum a source_id, source_name, content_snippet, and retrieval_timestamp. If you have source authority metadata (domain, publication type, author credentials), include it as optional fields. The prompt template uses the [CLAIM] and [EVIDENCE_ITEMS] placeholders—populate [EVIDENCE_ITEMS] as a JSON array string. Validation: Wrap the model call in a JSON schema validator that checks for required output fields: corroboration_count, independent_source_count, agreement_strength (0.0–1.0), redundancy_penalty_applied (boolean), and source_independence_notes (array of strings). If validation fails, retry once with the error message appended to the prompt context. If the second attempt fails, route the claim to a human review queue with the raw model output attached.
Model choice and latency: This prompt works well with models that have strong instruction-following and structured output capabilities (GPT-4o, Claude 3.5 Sonnet, or equivalent). For high-throughput pipelines processing thousands of claims, consider batching claims with shared evidence sets to reduce redundant context. Logging: Log every corroboration score alongside the claim ID, evidence IDs, model version, and timestamp. This audit trail is essential for debugging score drift when you update the prompt or switch models. Routing: Use the agreement_strength and independent_source_count fields as inputs to your triage threshold logic. For example, claims with agreement_strength < 0.3 or independent_source_count < 2 might automatically route to human review, while claims above 0.7 with 3+ independent sources could auto-verify. What to avoid: Do not use this prompt on claims where the evidence set is empty or contains only a single source—the output will be degenerate. Always pre-filter claims with a minimum evidence threshold before invoking corroboration scoring. Also avoid treating high corroboration as truth; independent sources can all repeat the same error. Pair this prompt with source authority and contradiction detection steps for a complete verification signal.
Expected Output Contract
Fields, types, and validation rules for the corroboration count and agreement scoring output. Use this contract to build a parser, validator, or retry guard before the output enters a downstream verification pipeline.
| Field or Element | Type or Format | Required | Validation Rule |
|---|---|---|---|
corroboration_score | number (0.0–1.0) | Must be a float between 0 and 1 inclusive. Reject if out of range or non-numeric. | |
agreement_strength | string enum: high | moderate | low | none | Must match one of the four allowed enum values exactly. Case-sensitive. | |
independent_source_count | integer >= 0 | Must be a non-negative integer. Reject if negative or float. | |
total_citation_count | integer >= 0 | Must be >= independent_source_count. Reject if total is less than independent count. | |
redundancy_penalty_applied | boolean | Must be true if total_citation_count > independent_source_count and echo citations were detected; otherwise false. | |
echo_citation_list | array of strings | If present, each entry must be a non-empty string identifying a source treated as an echo. Null allowed when no echoes detected. | |
source_independence_notes | string or null | If not null, must contain a brief explanation of how independence was assessed. Max 500 characters. | |
scoring_timestamp | ISO 8601 datetime string | Must parse to a valid UTC datetime. Reject if unparseable or missing timezone offset. |
Common Failure Modes
Corroboration scoring fails in predictable ways. These are the most common failure modes when measuring source agreement, along with practical guardrails to prevent them.
Echo Chamber False Corroboration
What to watch: Multiple sources appear to corroborate a claim but all derive from a single original source. The model counts citations as independent when they are actually syndicated, republished, or paraphrased from the same origin. Guardrail: Require the prompt to perform a source provenance check before counting. Add an explicit instruction: 'For each source, identify its original reporting origin. Sources that cite or paraphrase the same origin count as one corroboration point, not multiple.' Include a deduplication step in the output schema that groups sources by origin before scoring.
Weak Agreement Misclassified as Strong Corroboration
What to watch: Sources that mention the same topic but do not actually confirm the specific claim are counted as corroborating. The model conflates topical overlap with factual agreement. Guardrail: Add a strict agreement threshold instruction: 'A source only corroborates if it explicitly states the same factual assertion. Topical relevance or implied agreement does not count. Flag sources that are merely consistent with the claim as weak agreement and exclude them from the corroboration count.' Include an agreement strength field in the output for each source pair.
Redundancy Penalty Overcorrection
What to watch: The prompt applies a redundancy penalty so aggressively that genuinely independent sources reporting the same verified fact are discounted. This produces falsely low corroboration scores for well-established claims. Guardrail: Distinguish between mechanical redundancy and independent verification. Add a rule: 'Apply the redundancy penalty only when sources share the same originating report, author, or publication chain. Sources that independently investigated and confirmed the same fact are not redundant. Document the independence rationale for each source pair.'
Source Count Inflation from Low-Authority Sources
What to watch: The corroboration count is inflated by social media posts, low-credibility blogs, or unverified forums that echo a claim without adding evidentiary weight. The model treats all sources equally regardless of authority. Guardrail: Require authority-weighted corroboration scoring. Add an instruction: 'Weight each corroborating source by its authority tier before summing. Tier-3 sources (unverified, anonymous, or low-credibility) contribute at most 0.2 to the corroboration score. Document the authority tier of every source used in the count.' Output should include both raw count and authority-weighted score.
Temporal Contradiction Masked by Agreement
What to watch: Sources agree on a claim but at different points in time, and the claim's truth value has changed. The model reports high corroboration for what is now an outdated or superseded fact. Guardrail: Add temporal alignment checks: 'For each corroborating source, record the publication date and the temporal scope of the claim. If sources corroborate a claim that was true at different times but may no longer be current, flag the temporal inconsistency and reduce the agreement strength. Prefer the most recent authoritative source for time-sensitive claims.'
Partial Agreement Reported as Full Corroboration
What to watch: Sources agree on part of a claim but differ on specifics, yet the model reports full corroboration. A claim like 'revenue grew 15% in Q3' might be partially supported by sources reporting 'double-digit growth' without confirming the exact figure. Guardrail: Require granular agreement scoring: 'Score corroboration on each atomic sub-claim separately. A source that supports the general direction but not the specific value provides partial corroboration. Report a breakdown: full agreement count, partial agreement count, and no-agreement count. The overall corroboration score must reflect partial matches appropriately.'
Evaluation Rubric
Use this rubric to test the Corroboration Count and Agreement Scoring Prompt before deployment. Each criterion targets a specific failure mode in source independence checks, echo citation detection, and agreement strength scoring.
| Criterion | Pass Standard | Failure Signal | Test Method |
|---|---|---|---|
Source Independence Detection | Prompt correctly identifies when two sources cite the same underlying report and flags them as dependent | Dependent sources receive full independent corroboration credit | Provide 3 sources where Source B and C both cite Source A; verify independence penalty is applied |
Echo Citation Penalty | Prompt applies redundancy penalty when multiple sources use identical phrasing without additional verification | Identical text across sources increases corroboration score | Feed 4 sources with verbatim matching paragraphs; confirm score is lower than 3 independently-worded sources |
Agreement Strength Calibration | Partial agreement (same conclusion, different evidence) scores higher than no agreement but lower than full alignment | All non-contradicting sources receive maximum agreement score | Test with sources that agree on claim but cite different data; verify score falls in 0.6-0.8 range on a 0-1 scale |
Corroboration Count Floor | Single-source claims receive minimum corroboration score regardless of source authority | High-authority single source achieves high corroboration score | Submit one highly authoritative source; confirm corroboration score does not exceed 0.3 |
Contradiction Impact | One credible contradiction reduces overall score more than multiple weak corroborations increase it | Contradiction is averaged equally with supporting sources | Provide 3 supporting sources and 1 credible contradiction; verify score drops below 0.5 |
Source Recency Weighting | Outdated sources (5+ years for time-sensitive claims) receive reduced corroboration weight | All sources weighted equally regardless of publication date | Mix 2 recent and 2 decade-old sources for a technology claim; confirm recency penalty is visible in score breakdown |
Output Schema Compliance | Response includes [CORROBORATION_SCORE], [INDEPENDENT_SOURCE_COUNT], [AGREEMENT_STRENGTH], and [REDUNDANCY_FLAG] fields | Missing fields or extra unstructured text in output | Validate JSON output against [OUTPUT_SCHEMA] with automated schema check; reject if required fields absent |
Score Justification Traceability | Each score component links to specific source IDs and reasoning | Score provided without per-source breakdown or rationale | Parse output for source ID references in justification text; fail if score components lack source-level attribution |
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 5-10 claims with known corroboration outcomes. Remove the source independence check and redundancy penalty sections to simplify the output. Use a single numeric score (1-5) instead of the full structured output schema. Run manually in a playground before wiring into any pipeline.
Prompt snippet
codeScore the following claim on corroboration from 1 (no sources agree) to 5 (multiple independent sources agree): Claim: [CLAIM_TEXT] Sources: [SOURCE_LIST] Return only the numeric score and a one-sentence justification.
Watch for
- Echo citations counted as independent corroboration
- Over-scoring when all sources trace back to one original
- No distinction between partial agreement and full agreement

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