This playbook is for engineering teams running evidence ingestion pipelines that process large document collections. The prompt scores multiple sources in a single pass, producing structured output optimized for database insertion. Use it when you need to assign credibility scores, authority tiers, and confidence calibrations to hundreds or thousands of sources before they enter your RAG retrieval index. This prompt assumes you have already extracted source metadata (URL, domain, author, publication date, publisher) and need batch-level consistency checks across the entire set.
Prompt
Source Trustworthiness Batch Scoring Prompt for Pipelines

When to Use This Prompt
Determine if batch source scoring fits your evidence ingestion pipeline architecture.
The ideal user is a pipeline engineer or trust-and-safety developer who controls the ingestion path and needs deterministic, comparable scores across sources. You should have a metadata store or document database ready to receive structured JSON output. The prompt works best when sources share a common domain context—scoring a mix of academic papers, news articles, and government reports in one batch is fine, but the scoring criteria must apply uniformly. If your sources span radically different authority models (e.g., legal precedents vs. social media posts), split them into separate batches with domain-specific constraints.
Do not use this prompt for real-time single-source scoring during query time. The batch design trades latency for throughput and cross-source consistency checks. For latency-sensitive paths where a user submits a query and you need to score one retrieved source immediately, use the Multi-Factor Source Credibility Scoring Prompt Template instead. Also avoid this prompt when source metadata is incomplete—if you lack publication dates, author information, or publisher domains for most sources, the batch consistency checks will produce low-confidence scores across the board, wasting compute and storage.
Before running this prompt at scale, validate your metadata extraction pipeline. Missing or malformed fields will degrade scoring quality. Start with a small batch of 20-50 sources, review the output distribution, and calibrate thresholds before processing thousands of records. The structured output includes confidence intervals and flag fields specifically designed for downstream filtering, so wire those into your database schema and retrieval weighting logic from the start.
Use Case Fit
Where this prompt works and where it does not. Use these cards to decide if batch source scoring fits your pipeline architecture and operational constraints.
Good Fit: High-Volume Ingestion Pipelines
Use when: processing thousands of documents per run where per-document API calls would exceed rate limits or budget. Why it works: single-pass batch scoring amortizes model overhead across multiple sources, producing structured output ready for database insertion. Guardrail: cap batch size at 20-30 sources to maintain scoring consistency and avoid context-window truncation.
Bad Fit: Real-Time Single-Source Queries
Avoid when: a user submits one URL and expects an immediate trustworthiness score in a chat interface. Why it fails: batch prompts add latency from multi-source processing and produce array outputs that require post-processing for single-item extraction. Guardrail: use the Multi-Factor Source Credibility Scoring Prompt Template for interactive single-source evaluation instead.
Required Inputs: Structured Source Metadata
Risk: the prompt cannot assess trustworthiness from URLs alone. What you need: publisher name, author credentials, publication date, domain, funding disclosures, and retraction status per source. Guardrail: validate that each source record in the batch contains all required fields before invoking the prompt. Reject or flag incomplete records upstream.
Operational Risk: Batch-Level Consistency Drift
Risk: scores for the same source may shift between batches due to model non-determinism or context-window position effects. Guardrail: implement a consistency check that compares scores for previously evaluated sources when they reappear in new batches. Flag deviations exceeding a configurable threshold for human review or recalibration.
Operational Risk: Confidence Calibration Decay
Risk: the model may produce overconfident scores for sources with sparse metadata, especially when batch context lacks contradictory signals. Guardrail: require the prompt to output a confidence field alongside each score. In post-processing, apply a penalty multiplier to confidence when metadata completeness falls below a minimum threshold. Log low-confidence scores for sampling and human audit.
Pipeline Integration: Database Insertion Readiness
Use when: scores must be written directly to a trustworthiness column in your evidence store. Why it works: the prompt outputs structured JSON arrays with consistent field names, making INSERT or UPSERT operations straightforward. Guardrail: validate the output schema before database writes. Reject batches where any required field is missing or where score values fall outside expected ranges. Route schema failures to a dead-letter queue for inspection.
Copy-Ready Prompt Template
A batch-scoring prompt that evaluates multiple sources in one pass and returns structured trustworthiness scores ready for database insertion.
This prompt template is designed for evidence ingestion pipelines that process large document collections. It scores multiple sources in a single model call, producing structured JSON output optimized for direct insertion into your trustworthiness database. The prompt enforces batch-level consistency checks and confidence calibration, ensuring that scores across sources remain comparable rather than drifting with each independent evaluation.
textSYSTEM: You are a source trustworthiness batch scorer for an evidence ingestion pipeline. Your job is to evaluate multiple sources in a single pass and return structured scores suitable for database insertion. Apply consistent standards across all sources in the batch. Do not let the order of sources influence your scoring. SCORING DIMENSIONS: For each source, evaluate these dimensions on a 0.0 to 1.0 scale: - authority: Institutional or author expertise signals (credentials, affiliation, citation patterns) - accuracy: Factual precision and absence of verifiable errors - objectivity: Freedom from commercial, political, or ideological bias - recency: Currency relative to [TEMPORAL_BASELINE_DATE] - completeness: Coverage depth and absence of material omissions CONFIDENCE CALIBRATION: - Assign a confidence_score (0.0 to 1.0) reflecting how much evidence you had to evaluate the source - If metadata is sparse, reduce confidence rather than guessing - Flag sources with confidence below [CONFIDENCE_THRESHOLD] for human review INPUT FORMAT: You will receive a JSON array of source objects. Each object contains: - source_id: Unique identifier - url: Source URL (may be empty) - domain: Publisher domain - title: Document or article title - author: Author name(s) (may be empty) - publication_date: ISO date string (may be empty) - publisher: Organization name (may be empty) - content_snippet: First 500 words of the source text - metadata: Arbitrary key-value pairs from the retrieval system [INPUT_BATCH] OUTPUT FORMAT: Return a JSON object with this exact structure: { "batch_id": "[BATCH_ID]", "scored_at": "ISO timestamp", "sources": [ { "source_id": "string", "authority": 0.0, "accuracy": 0.0, "objectivity": 0.0, "recency": 0.0, "completeness": 0.0, "composite_score": 0.0, "confidence_score": 0.0, "flags": ["string"], "explanation": "Brief justification citing specific signals" } ], "batch_consistency_notes": ["string"] } RULES: 1. Compute composite_score as the weighted average: authority*0.30 + accuracy*0.30 + objectivity*0.15 + recency*0.15 + completeness*0.10 2. Round all scores to 2 decimal places 3. Use flags array for: "low_confidence", "missing_date", "anonymous_author", "commercial_bias_detected", "political_bias_detected", "retracted_or_corrected", "ai_generated_suspected", "single_source_claim", "predatory_publisher_suspected" 4. In batch_consistency_notes, document any calibration adjustments you made to keep scores comparable across sources 5. If a source lacks sufficient information to score a dimension, use null for that dimension and reduce confidence_score accordingly 6. Do not invent information. If author is unknown, do not guess 7. Return ONLY valid JSON. No markdown fences, no commentary
Adaptation guidance: Replace [TEMPORAL_BASELINE_DATE] with your pipeline's reference date for recency scoring. Set [CONFIDENCE_THRESHOLD] to your organization's risk tolerance—0.4 is a common starting point. The [INPUT_BATCH] placeholder should be replaced by your pipeline's JSON array of source objects. The dimension weights in the composite score formula can be adjusted per domain; for legal workflows, increase authority weight; for news, increase recency weight. The flags enum should be extended to match your specific trust-and-safety taxonomy.
Validation before production: Before deploying this prompt, run it against a golden dataset of 20–30 sources with known trustworthiness labels. Verify that composite scores correlate with your ground-truth labels. Check that batch_consistency_notes appear when score distributions drift. If the model overweights a single dimension, adjust the weights or add explicit calibration instructions. For high-stakes pipelines, route sources flagged with low_confidence or retracted_or_corrected to a human review queue before they enter your evidence store.
Prompt Variables
Required inputs for the Source Trustworthiness Batch Scoring Prompt. Validate each placeholder before sending to the model to prevent scoring errors, schema violations, and silent failures in production ingestion pipelines.
| Placeholder | Purpose | Example | Validation Notes |
|---|---|---|---|
[SOURCE_BATCH] | Array of source objects to score in a single pass. Each object must include url, title, publisher, author, publication_date, and content_snippet fields. | [{"url": "https://example.com/article", "title": "Study on AI Safety", "publisher": "Nature", "author": "Jane Doe", "publication_date": "2024-03-15", "content_snippet": "Our findings suggest..."}] | Must be a valid JSON array. Minimum 1 object, maximum 20 objects per batch. Reject if any required field is missing or null. Validate publication_date against ISO 8601 format. |
[SCORING_DIMENSIONS] | Ordered list of credibility dimensions to evaluate per source. Controls which scores appear in the output. | ["authority", "recency", "publisher_reputation", "commercial_bias", "methodology_rigor"] | Must be a non-empty array of strings. Each value must match an allowed dimension: authority, recency, publisher_reputation, commercial_bias, methodology_rigor, citation_quality, conflict_of_interest. Reject unknown dimensions before model call. |
[DOMAIN_CONTEXT] | Optional domain label that adjusts scoring weights and authority expectations. Use null for general-purpose scoring. | "medical_research" | If provided, must match an allowed domain: medical_research, legal, financial, scientific, technical_documentation, news, academic, or null. Invalid domain labels cause the prompt to fall back to general scoring without warning. |
[TEMPORAL_REQUIREMENT] | Optional recency constraint. Defines the maximum acceptable age for sources in this batch. Use null when recency is not a factor. | "2023-01-01" | If provided, must be a valid ISO 8601 date string. Sources with publication_date older than this threshold should receive a recency score of 0. Null means no temporal filtering is applied. |
[OUTPUT_SCHEMA] | JSON Schema definition the model must conform to for each scored source. Enforced by post-processing validator. | {"type": "object", "properties": {"source_id": {"type": "string"}, "scores": {"type": "object"}, "evidence": {"type": "array"}, "confidence": {"type": "number"}}, "required": ["source_id", "scores", "evidence", "confidence"]} | Must be a valid JSON Schema object. The model output is validated against this schema after generation. Include required fields, type constraints, and enum limits. Reject malformed schemas before the prompt is assembled. |
[CONFIDENCE_THRESHOLD] | Minimum confidence score a source assessment must meet to be considered reliable. Sources below this threshold are flagged for human review. | 0.7 | Must be a float between 0.0 and 1.0. Sources with composite confidence below this value should include a review_required: true flag in output. Thresholds below 0.5 produce noisy results; thresholds above 0.9 may cause excessive flagging. |
[BATCH_CONSISTENCY_CHECK] | Boolean flag enabling cross-source consistency validation within the batch. Detects scoring anomalies where similar sources receive divergent scores. | Must be true or false. When true, the prompt includes instructions to compare scores across the batch and flag outliers. Adds approximately 15-20% token overhead. Set to false for latency-sensitive pipelines where per-source scoring is sufficient. | |
[HUMAN_REVIEW_ESCALATION_RULES] | Conditions that trigger human review of a scored source. Defines which failure modes require manual inspection before the score is accepted. | ["confidence_below_threshold", "conflicting_signals", "retracted_source", "unknown_publisher"] | Must be an array of strings from the allowed escalation reasons: confidence_below_threshold, conflicting_signals, retracted_source, unknown_publisher, commercial_bias_detected, predatory_publisher, state_controlled_media, missing_publication_date. Empty array means no human review is triggered. |
Implementation Harness Notes
How to wire the batch scoring prompt into a production evidence ingestion pipeline with structured validation, retry logic, and database insertion.
The batch scoring prompt is designed to run inside a pipeline stage that processes multiple source records at once, not as a single-source interactive call. The typical integration point is after document retrieval and metadata extraction but before evidence ranking. A pipeline worker receives a batch of source objects, each containing a source_id, url, title, publisher, publication_date, author_metadata, and any available content_snippet. The worker assembles the prompt by injecting these records into the [SOURCE_BATCH] placeholder as a JSON array, sets [BATCH_SIZE] to the number of records (typically 5–20 to balance throughput with scoring quality), and includes the [OUTPUT_SCHEMA] that defines the expected JSON structure with fields like trust_score, authority_tier, recency_flag, bias_indicators, and confidence_calibration.
Validation must happen in two layers. First, parse the model response and confirm every source_id from the input batch appears in the output with a valid trust_score between 0 and 1. Missing records or out-of-range scores should trigger a structured retry: resend only the failed records with an error context message like 'Previous response missing scores for source_ids: [X, Y]. Return complete batch.' Second, run a consistency check across the batch. If the model assigns authority_tier: 'high' to a source with an unrecognized domain and no institutional affiliation signals, flag that record for human review rather than inserting it directly. For high-risk domains such as healthcare or legal evidence pipelines, require human approval on any record where confidence_calibration falls below 0.7 or where bias_indicators include 'undisclosed_funding' or 'retraction_possible'. Log every batch run with the model version, timestamp, batch size, validation pass/fail counts, and any records escalated for review.
Model choice matters for this workload. Use a model with strong structured output support and low variance across repeated runs—GPT-4o, Claude 3.5 Sonnet, or equivalent. Avoid smaller models that may drift on the scoring rubric across batches. Set temperature to 0 or near-zero to maximize consistency. If your pipeline processes thousands of sources daily, implement a caching layer: sources with unchanged metadata and a recent trust score (within 30 days) can skip rescoring unless a force_refresh flag is set. For cost control, batch as many records as fit within the model's context window without truncation, but never exceed 30 records per batch—larger batches degrade per-source attention and increase the risk of skipped records. Wire the validated output into your evidence database with columns for each score field, plus scored_at, model_version, and review_status. This schema lets downstream ranking queries filter by authority_tier and trust_score thresholds without rerunning the prompt.
Expected Output Contract
Structured output schema for batch source scoring. Each record in the batch must conform to this contract before database insertion. Validation rules are designed for automated pipeline checks.
| Field or Element | Type or Format | Required | Validation Rule |
|---|---|---|---|
batch_id | string (UUID) | Must match the [BATCH_ID] input parameter exactly; reject on mismatch | |
sources | array of objects | Array length must equal input [SOURCES] array length; missing entries trigger retry | |
sources[].source_id | string | Must match corresponding input source_id; no fabricated or reordered IDs allowed | |
sources[].trust_score | number (0.0-1.0) | Must be within [0.0, 1.0] inclusive; null not allowed; values outside range trigger repair retry | |
sources[].confidence | number (0.0-1.0) | Must be within [0.0, 1.0] inclusive; low confidence (< [CONFIDENCE_THRESHOLD]) flags record for human review | |
sources[].authority_tier | string enum | Must be one of: 'high', 'medium', 'low', 'unverifiable'; unexpected values trigger schema validation failure | |
sources[].recency_status | string enum | Must be one of: 'current', 'acceptable', 'outdated', 'unknown'; 'unknown' allowed only when publication_date is null in input | |
sources[].flags | array of strings | If present, each flag must match allowed set: 'commercial_bias', 'retracted', 'ai_generated_likely', 'disinformation_pattern', 'state_media', 'predatory_publisher', 'conflict_of_interest'; unknown flags trigger log warning but not rejection | |
sources[].explanation | string (max 500 chars) | Must cite at least one specific signal from input metadata; empty or generic explanations trigger quality flag for human sampling | |
batch_consistency_note | string or null | If present, must describe cross-source calibration applied; null allowed when no calibration was performed |
Common Failure Modes
Batch source scoring pipelines fail in predictable ways. Here are the most common failure modes and how to guard against them before they corrupt your evidence ranking.
Score Homogenization Across Heterogeneous Sources
What to watch: The model assigns similar trustworthiness scores to all sources in a batch, collapsing variance and making downstream ranking useless. This happens most often when the prompt lacks explicit differentiation criteria or when the batch contains sources of genuinely mixed quality but the model defaults to a safe middle range. Guardrail: Include anchor examples in the prompt that demonstrate score spread (e.g., a clearly authoritative source scored at 0.9 and a clearly unreliable source scored at 0.2). Add a post-processing check that flags batches where score standard deviation falls below a configured threshold, triggering human review or model re-prompting with stricter differentiation instructions.
Recency Bias Overriding Authority Signals
What to watch: The model overweights publication date and underweights institutional authority, causing recent but low-quality sources to outrank older authoritative sources. This is especially dangerous in scientific, legal, and regulatory domains where foundational sources remain valid for years. Guardrail: Separate recency scoring from authority scoring in the prompt schema. Apply domain-specific recency windows (e.g., legal precedents may be valid indefinitely while news sources decay within days). Implement a weighted composite score that lets pipeline operators tune the recency-vs-authority tradeoff per use case rather than baking it into a single opaque score.
Batch Position Effects and Ordering Artifacts
What to watch: The model's scoring drifts based on source position within the batch. Early sources may receive harsher or more generous scores as the model calibrates, or late sources may suffer from attention decay in long contexts. This produces inconsistent scores that depend on batch ordering rather than source merit. Guardrail: Shuffle source order across multiple scoring passes and compare score stability. Flag sources where scores vary by more than a configured delta across orderings. For high-stakes pipelines, score sources individually or in smaller batches to eliminate position effects entirely, then aggregate results.
Confidence Miscalibration on Ambiguous Sources
What to watch: The model expresses high confidence on sources with insufficient signals for reliable assessment—such as obscure blogs, foreign-language content, or niche publications with no clear reputation trail. The confidence score does not reflect actual uncertainty. Guardrail: Require the model to output an explicit evidence sufficiency flag alongside each score. When available signals fall below a threshold (e.g., no publisher metadata, no author credentials, no citation history), force a low-confidence output regardless of the raw score. Implement a separate uncertainty classifier that checks whether the model had enough information to make a reliable determination.
Cross-Source Contamination Within the Batch
What to watch: The model's assessment of one source leaks into its assessment of adjacent sources in the same batch. A highly authoritative source may inflate scores for neighboring sources, or a clearly unreliable source may depress scores across the batch through contrast effects. Guardrail: Include explicit instructions that each source must be evaluated independently using only its own metadata. Add a consistency check that compares batch scores against individually scored samples for the same sources. If batch scores diverge significantly from individual scores, reduce batch size or switch to single-source evaluation for high-stakes assessments.
Silent Schema Drift in Structured Output
What to watch: The model gradually drifts from the expected output schema over long batches—dropping optional fields, changing enum values, or restructuring nested objects. This breaks downstream database insertion and causes partial data loss that may go unnoticed until queries fail. Guardrail: Validate every batch output against the expected schema before insertion. Reject and re-prompt for any record that fails validation, with a repair prompt that includes the specific schema violation. Implement a schema compliance monitor that tracks drift rates over time and alerts when field completeness drops below a threshold. Version your output schema explicitly in the prompt and in your validation layer.
Evaluation Rubric
Run these checks on a golden dataset of 50-100 sources with known trustworthiness labels. Each row defines a pass/fail criterion for the batch scoring output before it enters the evidence pipeline.
| Criterion | Pass Standard | Failure Signal | Test Method |
|---|---|---|---|
Schema compliance | Every record in the batch output matches the [OUTPUT_SCHEMA] exactly; no missing required fields, no extra fields, no type mismatches. | JSON parse error, field | Validate entire batch against the JSON Schema using a programmatic validator. Reject batch on first schema violation. |
Score range calibration | All | Score outside [SCORE_RANGE], or batch mean deviates more than 0.15 from golden mean, indicating systematic overconfidence or underconfidence. | Compute min, max, and mean of |
Label agreement with golden dataset | At least 85% of records have a | Agreement rate below 85%, or systematic misclassification of a specific tier (e.g., all LOW sources labeled MEDIUM). | Compute exact match rate between predicted |
Evidence citation presence | Every record where | Record has a definitive tier label but | Iterate batch records. Flag any record where |
Recency signal detection | For sources with a |
| Filter batch to records where |
Hallucinated source attribution | No | An evidence signal string contains a named entity (publisher, author, domain) not found in the input metadata for that record. | Extract named entities from |
Batch consistency check | Sources with identical [SOURCE_METADATA] (same domain, same author, same publication) receive scores within 0.1 of each other. | Two records with identical metadata have | Group batch by hash of [SOURCE_METADATA] fields. For groups with >1 record, assert max score - min score ≤ 0.1. |
Refusal on missing metadata | Records where [SOURCE_METADATA] is missing both | A record with no publisher and no domain receives a definitive tier label (HIGH, MEDIUM, LOW) or confidence above 0.5. | Filter batch to records where |
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 batch scoring prompt but reduce the output schema to only the essential fields: source_id, trust_score, and confidence. Skip batch-level consistency checks and calibration. Use a smaller batch size (5-10 sources) to iterate faster on prompt wording.
codeFor each source in [SOURCES], return: { "source_id": "[ID]", "trust_score": 0-100, "confidence": "low|medium|high" }
Watch for
- Missing schema checks will let malformed JSON through
- Overly broad instructions produce inconsistent scoring across batches
- No calibration means scores drift between runs
- Small batch sizes hide distribution-level problems

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