This prompt is designed for a specific moment in your verification pipeline: the decision gate between automated processing and human judgment. It assumes you have already extracted discrete claims from source content, scored each claim for evidence sufficiency, and assembled an evidence summary. The prompt's job is not to perform any of that upstream work—it is to consume those outputs and produce a consistent, auditable routing decision. Use it when your pipeline has reached the point where a claim's confidence score and supporting evidence are known, and you need a deterministic, explainable rule for whether to auto-verify or escalate.
Prompt
Human-Review Routing Decision Prompt Template

When to Use This Prompt
Define the exact conditions and upstream dependencies required before using the human-review routing prompt.
The ideal user is a verification pipeline operator or an engineer integrating this prompt into an automated workflow. The required inputs are a single claim statement, a confidence score (typically a float between 0.0 and 1.0), and a structured evidence summary that includes source identifiers and a brief assessment of support or contradiction. The prompt is not suitable for initial claim extraction, evidence retrieval, or the scoring step itself. It also should not be used as a general-purpose content moderation tool or for routing tasks outside the fact-checking domain. If your pipeline lacks calibrated confidence scores or structured evidence, you must implement those upstream components first.
Before wiring this prompt into production, define your routing thresholds explicitly. A common pattern is to auto-verify claims above 0.85 confidence, escalate those between 0.5 and 0.85, and reject or flag claims below 0.5 for further investigation. These thresholds should be configurable, not hard-coded into the prompt, so you can adjust them based on operational cost, latency tolerance, and accuracy requirements. The prompt's output is a structured routing decision, not a final verification result. Always log the decision, the inputs, and the model's reasoning for auditability. If the claim involves regulated domains such as healthcare or finance, the escalation path should be mandatory regardless of confidence score, and a human reviewer must always be in the loop.
Use Case Fit
Where the Human-Review Routing Decision Prompt works well and where it introduces risk. Use these cards to decide if this prompt fits your verification pipeline stage.
Good Fit: High-Volume Claim Triage
Use when: You have more claims than human reviewers can handle and need automated escalation logic. Guardrail: Pair with a confidence threshold that you tune against historical review outcomes to balance precision and recall.
Good Fit: Audit-Ready Escalation Packets
Use when: Reviewers need packaged context—evidence summaries, source links, and specific review questions—not just a claim. Guardrail: Validate that every escalation packet includes all required fields before it reaches a human queue.
Bad Fit: Binary True/False Classification
Avoid when: Your pipeline only needs a true/false label per claim. This prompt is designed for routing decisions, not final verdicts. Guardrail: Use a dedicated verification prompt for binary classification and reserve this prompt for escalation logic only.
Bad Fit: Real-Time User-Facing Decisions
Avoid when: The routing decision must be instant and user-visible with no human in the loop. Guardrail: This prompt is designed for asynchronous review queues. For real-time use, pre-compute confidence scores and cache routing rules.
Required Inputs
Must have: A pre-scored claim with confidence level, available evidence inventory, source metadata, and any contradiction flags. Guardrail: Do not call this prompt on raw, unscored claims. The routing decision depends on upstream confidence and evidence quality signals.
Operational Risk: Reviewer Overload
Risk: Escalating too many low-stakes claims wastes reviewer time and erodes trust in the system. Guardrail: Set a minimum claim impact or priority score threshold. Route only claims where human review changes outcomes, not just confidence labels.
Copy-Ready Prompt Template
A reusable prompt template that decides whether a claim should be auto-verified or escalated for human review, packaged with the evidence context a reviewer needs.
This prompt template is the core decision engine for your verification triage pipeline. It takes a single claim, its confidence score, the available evidence, and your operational thresholds, then produces a structured routing decision. The output includes a clear route_to_human boolean, a severity classification, and—when escalation is required—a pre-assembled review packet containing the claim, evidence summary, contradiction flags, and specific questions for the reviewer. Paste this into your orchestration layer and replace the bracketed variables with live data from your upstream scoring and evidence retrieval systems.
textSYSTEM: You are a verification triage router in a production fact-checking pipeline. Your job is to decide whether a claim can be auto-verified based on available evidence and confidence thresholds, or whether it must be escalated for human review. You do not re-score the claim. You apply the provided thresholds, assess evidence completeness, and package context for reviewers when escalation is required. Never fabricate evidence or confidence values. If the input is missing required fields, flag it as malformed and request resubmission. ROUTING RULES: - If [CONFIDENCE_SCORE] >= [AUTO_VERIFY_THRESHOLD] AND [EVIDENCE_SUFFICIENCY_SCORE] >= [AUTO_SUFFICIENCY_THRESHOLD] AND [CONTRADICTION_COUNT] == 0, route to auto-verify. - If [CONFIDENCE_SCORE] < [HUMAN_REVIEW_THRESHOLD] OR [EVIDENCE_SUFFICIENCY_SCORE] < [HUMAN_SUFFICIENCY_THRESHOLD] OR [CONTRADICTION_COUNT] > 0, route to human review. - If [CONFIDENCE_SCORE] is between thresholds, evaluate [CLAIM_IMPACT_LEVEL] and [VERIFICATION_COST] to decide. - If [HALLUCINATION_RISK_FLAG] is true, always escalate regardless of score. OUTPUT_SCHEMA: { "route_to_human": boolean, "routing_decision": "auto_verify" | "human_review" | "malformed_input", "severity": "routine" | "priority" | "critical", "reasoning": "string explaining the decision with reference to thresholds and evidence state", "review_packet": { "claim_text": "string", "claim_id": "string", "confidence_score": number, "evidence_summary": "string summarizing supporting and contradicting evidence", "contradiction_details": [ { "source": "string", "contradicting_statement": "string", "severity": "direct_contradiction" | "partial_conflict" | "temporal_inconsistency" } ], "missing_evidence_gaps": ["string"], "specific_review_questions": ["string"], "source_authority_notes": "string", "hallucination_risk_flag": boolean } | null } CONSTRAINTS: - The review_packet must be null when route_to_human is false. - specific_review_questions must be actionable questions a human reviewer can answer, not restatements of the claim. - evidence_summary must cite specific sources from [EVIDENCE_LIST], not generic descriptions. - If the input is malformed, set routing_decision to "malformed_input" and leave review_packet null. USER: Route the following claim through the verification triage pipeline. CLAIM: [CLAIM_TEXT] CLAIM_ID: [CLAIM_ID] CONFIDENCE_SCORE: [CONFIDENCE_SCORE] EVIDENCE_SUFFICIENCY_SCORE: [EVIDENCE_SUFFICIENCY_SCORE] CONTRADICTION_COUNT: [CONTRADICTION_COUNT] HALLUCINATION_RISK_FLAG: [HALLUCINATION_RISK_FLAG] CLAIM_IMPACT_LEVEL: [CLAIM_IMPACT_LEVEL] VERIFICATION_COST: [VERIFICATION_COST] EVIDENCE_LIST: [EVIDENCE_LIST] CONTRADICTION_DETAILS: [CONTRADICTION_DETAILS] MISSING_EVIDENCE_GAPS: [MISSING_EVIDENCE_GAPS] SOURCE_AUTHORITY_NOTES: [SOURCE_AUTHORITY_NOTES] THRESHOLDS: AUTO_VERIFY_THRESHOLD: [AUTO_VERIFY_THRESHOLD] AUTO_SUFFICIENCY_THRESHOLD: [AUTO_SUFFICIENCY_THRESHOLD] HUMAN_REVIEW_THRESHOLD: [HUMAN_REVIEW_THRESHOLD] HUMAN_SUFFICIENCY_THRESHOLD: [HUMAN_SUFFICIENCY_THRESHOLD]
To adapt this template, start by wiring your upstream scoring outputs directly into the placeholders. The [EVIDENCE_LIST] should be a serialized JSON array of evidence objects, each containing a source identifier, a snippet, and a relevance score. The [CONTRADICTION_DETAILS] placeholder expects the same structure as the output schema's contradiction_details array—pre-populate it from your contradiction detection step. The thresholds should be pulled from your operational configuration, not hardcoded, so you can adjust routing sensitivity without changing the prompt. If your pipeline uses multiple models for confidence scoring, aggregate scores before this prompt; do not ask the router to perform model arbitration. For high-stakes domains like healthcare or legal claims, set [HUMAN_REVIEW_THRESHOLD] higher than your default and add a [REQUIRED_REVIEWER_ROLE] field to the review packet so your downstream dispatch system routes to the right specialist.
Prompt Variables
Required inputs for the Human-Review Routing Decision Prompt Template. Each placeholder must be populated before the prompt is assembled and sent to the model. Missing or malformed variables will cause routing errors or incomplete review packets.
| Placeholder | Purpose | Example | Validation Notes |
|---|---|---|---|
[CLAIM_TEXT] | The full text of the claim being evaluated for human review routing | The Q3 revenue increased by 14% year-over-year according to the earnings call transcript | Must be non-empty string under 2000 chars; preserve original wording without truncation or paraphrasing |
[EVIDENCE_SUMMARY] | Concise summary of all evidence retrieved for this claim including source identifiers and relevance notes | Source A (earnings transcript): confirms 14% YoY growth; Source B (SEC filing): shows 12% YoY growth for same period | Must include source IDs and relevance flags; null allowed if no evidence retrieved; max 3000 chars |
[CONFIDENCE_SCORE] | The current calibrated confidence score assigned to this claim before routing decision | 0.62 | Must be float between 0.0 and 1.0; scores below 0.5 should trigger escalation review; null allowed if unscored |
[CONTRADICTION_FLAGS] | List of detected contradictions across evidence sources with severity indicators | Source A vs Source B: numerical disagreement on revenue growth (14% vs 12%); severity: medium | Must be structured as contradiction pairs with severity labels; null allowed if no contradictions detected; max 5 entries |
[SOURCE_AUTHORITY_TIERS] | Authority tier assignments for each evidence source used in scoring | Source A: tier-1 (official earnings transcript); Source B: tier-1 (SEC filing); Source C: tier-3 (analyst blog) | Must map source IDs to tier labels with justification; tiers must match predefined authority schema; min 1 source if evidence exists |
[CORROBORATION_COUNT] | Number of independent sources supporting or contradicting the claim | 2 supporting sources, 1 contradicting source, 0 neutral sources | Must include breakdown by support/contradict/neutral; integer values only; null allowed if no evidence retrieved |
[CLAIM_DOMAIN] | The domain category of the claim for routing rule selection | financial-reporting | Must match predefined domain taxonomy; common values: financial-reporting, legal-compliance, clinical-finding, technical-specification, news-factual; required |
[ROUTING_THRESHOLD_CONFIG] | The current threshold configuration defining auto-verify, human-review, and reject score boundaries | auto-verify: >=0.85; human-review: 0.50-0.84; reject: <0.50 | Must specify all three boundary values; thresholds must be non-overlapping and sum to full 0.0-1.0 range; required |
Implementation Harness Notes
How to wire the routing prompt into a production verification pipeline with validation, retries, logging, and human-in-the-loop controls.
This prompt is designed to sit at the decision boundary between automated verification and human review. It should be called after claim extraction, evidence matching, and confidence scoring have already completed. The prompt expects a structured input payload containing the claim, its confidence score, the evidence inventory, and any contradiction flags. The output is a routing decision (auto-verify, escalate, or reject) plus a packaged review context for human reviewers. Do not call this prompt on claims that haven't been scored—it will hallucinate confidence signals rather than flagging missing data.
Wire this prompt into your pipeline as a post-scoring step. The application layer should validate the input payload before calling the model: check that confidence_score is a float between 0 and 1, that evidence_items is a non-empty array with each item containing source_id, relevance_score, and authority_tier, and that contradiction_flags is present even if empty. After receiving the model response, validate the output schema: routing_decision must be one of auto_verify, escalate, or reject; review_packet must contain summary, evidence_brief, and specific_questions; and escalation_reason must be non-null when the decision is escalate. If validation fails, retry once with the validation errors appended to the prompt as [PREVIOUS_ERRORS]. If the second attempt also fails, default to escalate and log the failure for operator review. For high-stakes domains (healthcare, legal, finance), always require a human to confirm auto_verify decisions below a confidence threshold of 0.85, regardless of the model's routing output.
Model choice matters here. Use a model with strong instruction-following and structured output capabilities (GPT-4o, Claude 3.5 Sonnet, or equivalent). Avoid smaller models for this task—the routing logic requires weighing multiple evidence dimensions against domain-specific risk tolerances, and smaller models tend to over-escalate or under-escalate inconsistently. Set temperature=0 for deterministic routing decisions. Log every routing decision with the full input payload, model response, validation result, and final action taken. This audit trail is essential for tuning escalation thresholds over time and for compliance reviews. If you're processing claims in batch, implement a rate limiter and a dead-letter queue for claims that fail validation after retries—never silently drop a claim that couldn't be routed.
Expected Output Contract
Defines the structured routing decision object your application must parse after the model responds. Use this contract to validate the output before forwarding a claim to a human reviewer or closing it as auto-resolved.
| Field or Element | Type or Format | Required | Validation Rule |
|---|---|---|---|
routing_decision | enum: escalate | auto_resolve | queue_for_review | Must be exactly one of the three allowed values. Reject any other string. | |
claim_id | string matching [CLAIM_ID] | Must match the input claim identifier exactly. Reject if missing or altered. | |
confidence_score | number between 0.0 and 1.0 | Must be a float within the inclusive range. Reject if non-numeric or out of bounds. | |
escalation_reason | string or null | true if routing_decision is escalate or queue_for_review | If escalation is required, this field must be a non-empty string summarizing the primary reason. If auto_resolve, must be null. |
evidence_summary | array of objects with source_id, excerpt, and relevance | Each object must contain a non-empty source_id string, a non-empty excerpt string under 500 chars, and a relevance enum of supports, contradicts, or contextual. Reject if array is empty. | |
review_questions | array of strings or null | true if routing_decision is escalate | If escalated, must contain at least one non-empty question for the human reviewer. If auto_resolve, must be null. |
context_packet | object containing original_claim, source_documents, and prior_scores | original_claim must be a non-empty string. source_documents must be an array of objects with id and content. prior_scores must be an object mapping source_id to a number between 0.0 and 1.0. | |
decision_timestamp | ISO 8601 string | Must be a valid ISO 8601 datetime string. Reject if unparseable by a standard datetime library. |
Common Failure Modes
What breaks first when routing claims for human review and how to guard against it.
Over-Escalation of Low-Risk Claims
What to watch: The prompt routes too many claims to human review because confidence thresholds are set too conservatively or the model defaults to 'unsure' when evidence is slightly ambiguous. This floods review queues and erodes trust in automation. Guardrail: Calibrate escalation thresholds with a labeled dataset. Add a cost-awareness instruction: 'Only escalate if the expected cost of an automated error exceeds the cost of human review.' Track escalation rates by claim type and adjust thresholds quarterly.
Incomplete Review Packet Generation
What to watch: The prompt produces a routing decision but omits critical context the reviewer needs—missing evidence snippets, source URLs, or the original claim text. Reviewers reject the packet or make decisions without full information. Guardrail: Define a required output schema with mandatory fields: original claim, retrieved evidence, confidence score, specific review questions, and source provenance. Add a post-generation validation step that checks for empty or truncated fields before the packet reaches the review queue.
Vague or Unactionable Review Questions
What to watch: The prompt generates review questions like 'Is this claim true?' instead of specific, answerable questions such as 'Does Source A's methodology support the 34% figure, or does it report a different baseline?' Vague questions increase reviewer time and inconsistency. Guardrail: Include a constraint in the prompt: 'Each review question must reference a specific piece of evidence, identify the exact uncertainty, and be answerable with a yes/no or short factual response.' Validate question specificity in eval runs.
Routing Decision Drift Across Claim Types
What to watch: The prompt escalates consistently for financial claims but auto-resolves similar-confidence medical claims, or vice versa. Domain-agnostic routing logic produces inconsistent behavior across claim categories. Guardrail: Include domain-specific escalation examples in the prompt. Add a pre-routing classification step that identifies the claim domain, then apply domain-tuned thresholds. Monitor escalation rates per domain and flag statistically significant deviations.
Context Window Truncation of Evidence
What to watch: When multiple evidence sources are retrieved, the prompt silently truncates or summarizes evidence to fit the context window, losing critical details that would change the routing decision. The model routes based on incomplete evidence without signaling the truncation. Guardrail: Add an explicit instruction: 'If evidence is truncated due to length, mark the affected sources and flag the routing decision as provisional.' Implement a pre-prompt check that counts evidence tokens and warns if truncation is likely. Consider splitting large evidence sets across multiple routing passes.
False Confidence from Echo Citations
What to watch: The prompt treats multiple sources as independent corroboration when they all derive from the same original source. This inflates confidence scores and routes claims to auto-resolution that should be escalated. Guardrail: Add a source-independence check instruction: 'Before counting corroboration, verify whether sources cite a common origin. Flag echo citations and reduce the effective corroboration count.' Include an independence field in the output schema and test with known echo-citation claim sets.
Evaluation Rubric
Use this rubric to test the routing prompt's output quality before shipping. Each criterion targets a specific failure mode in human-review escalation logic.
| Criterion | Pass Standard | Failure Signal | Test Method |
|---|---|---|---|
Escalation Threshold Adherence | Claims with confidence below [CONFIDENCE_THRESHOLD] are routed to human review; claims above are marked auto-verify | Low-confidence claims marked auto-verify or high-confidence claims escalated unnecessarily | Run 50 labeled claim-confidence pairs through the prompt; measure precision and recall against threshold |
Context Package Completeness | Escalated claims include original claim text, evidence summary, source list, and confidence score | Escalation packet missing evidence summary, source attribution, or confidence score | Schema validation check on output fields; spot-check 10 escalation packets for missing required elements |
Review Question Specificity | Each escalated claim includes at least one specific review question that cannot be answered by re-reading the evidence | Review questions are generic (e.g., 'Is this true?') or answerable from provided evidence | LLM-as-judge evaluation: rate question specificity on 1-5 scale; flag scores below 3 |
False Escalation Rate | Fewer than 10% of escalations are for claims that available evidence clearly resolves | Evidence clearly supports or refutes claim but routing prompt still escalates | Human review of 30 escalated claims; count cases where evidence was sufficient for auto-resolution |
Missed Escalation Rate | Fewer than 5% of claims requiring human judgment are incorrectly auto-verified | Claim contains ambiguity, contradiction, or domain complexity but prompt routes to auto-verify | Adversarial test set with 20 known-ambiguous claims; measure missed escalation percentage |
Evidence Contradiction Handling | Claims with conflicting evidence from multiple sources are escalated regardless of aggregate confidence score | Contradictory evidence is averaged into a misleadingly high confidence score without escalation | Inject 10 claims with deliberate source conflicts; verify all trigger escalation flag |
Source Authority Gap Detection | Claims supported only by low-authority sources are escalated even if confidence score is borderline | Low-authority evidence is treated as sufficient without escalation when domain requires expert sources | Test with 15 claims backed only by [LOW_AUTHORITY_SOURCE_TYPES]; verify escalation rate above 80% |
Routing Decision Explainability | Output includes a one-sentence routing reason that cites the specific factor triggering escalation or auto-verification | Routing reason is missing, vague, or contradicts the actual decision factors | Parse routing reason field; check for presence of specific factor mention (threshold, contradiction, authority gap, missing evidence) |
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 simple JSON schema for the routing decision. Use a single model call with no retries. Hardcode the escalation threshold (e.g., confidence < 0.7) rather than making it a dynamic parameter. Skip the evidence packaging step—just return the routing label and a one-line reason.
codeYou are a verification triage router. Given a claim and its confidence score, decide: AUTO_VERIFY, HUMAN_REVIEW, or REJECT. Claim: [CLAIM_TEXT] Confidence Score: [CONFIDENCE_SCORE] Threshold: AUTO_VERIFY if confidence >= 0.7, HUMAN_REVIEW if confidence >= 0.4, else REJECT. Return JSON: {"routing_decision": "...", "reason": "..."}
Watch for
- Missing schema checks leading to free-text responses that break downstream parsing
- Overly broad instructions that don't distinguish between 'needs more evidence' and 'evidence contradicts'
- No handling of missing confidence scores or malformed inputs

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