This prompt is designed for evaluation engineers and platform builders who need to standardize how agents communicate uncertainty. The core job-to-be-done is transforming a raw agent output and its internal reasoning trace into a structured, machine-readable confidence payload that includes a calibrated score, evidence strength indicators, and threshold-based action triggers. You should use this prompt when you are building a multi-agent system where downstream agents or orchestration layers must make automated routing, escalation, or fusion decisions based on the reliability of an upstream agent's work. It is not a general-purpose 'how confident are you' question for a chatbot; it is a strict annotation contract for production pipelines.
Prompt
Agent Confidence Score Annotation Prompt

When to Use This Prompt
Defines the job, ideal user, and operational boundaries for the Agent Confidence Score Annotation Prompt.
Required context for this prompt to work reliably includes: the agent's final output, the evidence or sources the agent used, a defined confidence scale (e.g., 0.0–1.0 or Low/Medium/High), and pre-defined action thresholds that map score ranges to behaviors like 'auto-approve,' 'escalate to human,' or 'route to a secondary agent for verification.' Without these inputs, the model will invent its own calibration criteria, leading to inconsistent scores across agents. Do not use this prompt for real-time, latency-sensitive chat where a structured annotation step would degrade user experience, or in isolation without a calibration eval loop that compares annotated scores against ground-truth outcomes over time.
The primary risk is false confidence: an agent may produce a high-confidence score for a fluent but factually incorrect output. To mitigate this, the prompt forces the model to separate the confidence score from the evidence strength rating and to cite specific gaps or ambiguities. After implementing this prompt, your next step should be to log every annotation alongside the eventual human judgment or business outcome, then run a calibration evaluation (e.g., Expected Calibration Error) to detect overconfidence drift. Avoid treating the annotated score as a static quality gate without this ongoing measurement.
Use Case Fit
Where the Agent Confidence Score Annotation Prompt delivers value and where it introduces risk. Use these cards to decide if this prompt fits your evaluation pipeline.
Good Fit: Standardized Evaluation Pipelines
Use when: you need every agent in a multi-agent system to communicate uncertainty in a consistent, machine-readable format. Guardrail: enforce the output schema at the application layer so downstream agents never receive unannotated claims.
Bad Fit: Real-Time, Low-Latency Workflows
Avoid when: the agent is in a sub-200ms response loop where the calibration reasoning step adds unacceptable latency. Guardrail: use a lightweight numeric score without evidence metadata, or defer confidence annotation to an async post-processing step.
Required Inputs: Evidence and Claim Pairs
Risk: the prompt produces hallucinated confidence scores if the agent's claim and its supporting evidence are not provided together. Guardrail: always pass the claim, the retrieved or generated evidence, and the source identifier as a single structured input block.
Operational Risk: Overconfident Calibration
Risk: the model may assign high confidence to incorrect claims when evidence appears authoritative but is misleading. Guardrail: run periodic calibration eval sets comparing confidence scores against ground-truth correctness, and flag systematic overconfidence.
Operational Risk: Threshold Gaming
Avoid when: downstream routing decisions depend on a single confidence threshold without human review. Guardrail: implement a confidence band with an escalation zone (e.g., 0.6–0.8) that triggers human review rather than binary auto-routing.
Good Fit: Audit and Traceability Requirements
Use when: you must explain why an agent took a specific action or made a specific claim. Guardrail: store the full confidence payload—including evidence strength indicators and calibration metadata—in your audit log alongside the final output.
Copy-Ready Prompt Template
A reusable prompt template for annotating agent outputs with structured confidence scores, calibration metadata, and evidence strength indicators.
This prompt template is designed to be inserted into an agent's response generation step, forcing it to annotate its own output with a machine-readable confidence payload. The primary job is to standardize uncertainty communication so that downstream agents, orchestrators, or human reviewers can make informed decisions about whether to trust, escalate, or discard the agent's work. Use this template when you need every agent in a multi-agent system to speak the same 'uncertainty language'—especially before a handoff or an action with side effects.
textYou are an agent operating within a multi-agent system. Your task is to produce a final answer for the user, but you must also annotate that answer with a structured confidence assessment. This annotation will be parsed by downstream systems to decide whether to accept your output, escalate it, or request a retry. First, generate your answer to the user's request based on the provided context. Then, you MUST append a single, valid JSON object wrapped in <CONFIDENCE> tags. Do not include any other text inside the tags. The JSON object must conform to this schema: { "confidence_score": <float 0.0 to 1.0>, "calibration_notes": "<string: explain your certainty level, e.g., 'High confidence: all facts are directly cited from the provided document.' or 'Low confidence: the user's request is ambiguous and I am inferring intent.'>", "evidence_strength": "<enum: STRONG | PARTIAL | WEAK | NONE>", "evidence_summary": "<string: a concise summary of the key evidence supporting your answer>", "missing_information": ["<string: list any critical information that was not available but would have improved the answer>"], "recommended_action": "<enum: ACCEPT | REVIEW | ESCALATE | RETRY>" } [CONSTRAINTS] - The confidence_score must reflect your internal, calibrated certainty. Do not default to 1.0. - If evidence_strength is WEAK or NONE, the recommended_action must not be ACCEPT. - If you are unsure or the request is ambiguous, set recommended_action to REVIEW or ESCALATE and explain why in calibration_notes. - The answer and the <CONFIDENCE> block must be the only output. [INPUT] User Request: [USER_REQUEST] Available Context: [CONTEXT] [EXAMPLES] User Request: What is the capital of France? Available Context: Paris is the capital and most populous city of France. Answer: The capital of France is Paris. <CONFIDENCE> { "confidence_score": 0.99, "calibration_notes": "Directly stated in the provided context.", "evidence_strength": "STRONG", "evidence_summary": "The context explicitly states 'Paris is the capital... of France.'", "missing_information": [], "recommended_action": "ACCEPT" } </CONFIDENCE> User Request: What is the best restaurant in Tokyo? Available Context: Tokyo has many highly-rated restaurants. Sushi Saito is a famous three-Michelin-starred sushi restaurant. Answer: While 'best' is subjective, Sushi Saito is a highly acclaimed three-Michelin-starred sushi restaurant in Tokyo. <CONFIDENCE> { "confidence_score": 0.4, "calibration_notes": "The question is subjective. I can provide a famous example but cannot determine the objective 'best'.", "evidence_strength": "PARTIAL", "evidence_summary": "Context mentions Sushi Saito as a famous restaurant but provides no comparative data.", "missing_information": ["User's cuisine preference", "User's budget", "Comparative reviews"], "recommended_action": "REVIEW" } </CONFIDENCE>
To adapt this template, start by tuning the recommended_action enum values to match your system's specific routing and escalation logic. You may need to add a risk_level field if the agent operates in a regulated domain. The most critical part to test is the model's calibration: run a batch of known-answer and ambiguous queries through this prompt and plot the confidence_score against actual accuracy to detect overconfidence. If the model consistently assigns high scores to wrong answers, add stronger language in the [CONSTRAINTS] section or provide more few-shot examples of low-confidence, correct behavior. For high-risk workflows, always route outputs with recommended_action: REVIEW or ESCALATE to a human queue before any destructive action is taken.
Prompt Variables
Required and optional inputs for the Agent Confidence Score Annotation Prompt. Each placeholder must be populated before the prompt is assembled and sent to the model.
| Placeholder | Purpose | Example | Validation Notes |
|---|---|---|---|
[AGENT_OUTPUT] | The full text or structured output produced by the agent that requires confidence annotation | The quarterly revenue increased by 12% year-over-year, driven primarily by the enterprise segment. | Must be non-empty string. Truncate if longer than model context window minus 2000 tokens for annotation overhead. |
[AGENT_ROLE] | The designated role or specialization of the agent that produced the output | financial_analyst | Must match a known agent role from the system registry. Reject if role is not in allowed role enumeration. |
[TASK_DESCRIPTION] | The original task or question the agent was instructed to complete | Extract Q3 revenue growth rate and identify the primary driver from the earnings call transcript. | Must be non-empty string. Should be the exact task string from the orchestration layer to ensure alignment. |
[EVIDENCE_SOURCES] | List of source documents, tool outputs, or retrieved passages the agent used | ["earnings_call_transcript_q3.pdf", "financial_tables_q3.csv"] | Must be a valid JSON array of strings. Each source should include a retrievable identifier. Null allowed if agent used no external sources. |
[CALIBRATION_CONTEXT] | Historical calibration data or baseline accuracy metrics for this agent on similar tasks | {"historical_accuracy": 0.87, "calibration_error": 0.04, "sample_size": 150} | Must be a valid JSON object. Null allowed if no calibration data exists. If provided, historical_accuracy must be a float between 0.0 and 1.0. |
[OUTPUT_SCHEMA] | The expected structure for the confidence annotation response | {"confidence_score": float, "evidence_strength": string, "calibration_notes": string, "action_trigger": string} | Must be a valid JSON Schema or example structure. The model output will be validated against this schema. Reject if schema is malformed. |
[RISK_THRESHOLDS] | Confidence thresholds that trigger specific actions such as escalation, human review, or automatic acceptance | {"high_confidence": 0.9, "review_required": 0.7, "escalate": 0.5} | Must be a valid JSON object with numeric threshold values between 0.0 and 1.0. Thresholds must be monotonically decreasing: high_confidence > review_required > escalate. |
[AGENT_TRACE_ID] | Unique identifier for the agent execution trace, used for correlation and audit logging | trace_4f8a2b1c_agent_finance_003 | Must be a non-empty string matching the trace ID format from the orchestration system. Used to link the confidence annotation back to the originating agent execution. |
Implementation Harness Notes
How to wire the Agent Confidence Score Annotation Prompt into an evaluation pipeline or agent runtime.
This prompt is designed to be called programmatically as part of an automated evaluation harness, not as a one-off chat interaction. The primary integration point is immediately after an agent produces a final answer or a critical intermediate claim. The application layer should extract the agent's output, wrap it in the [AGENT_OUTPUT] placeholder along with the [TASK_CONTEXT] and [EVIDENCE_SNIPPETS], and call the LLM to produce the structured confidence annotation. The resulting JSON payload should be parsed and stored alongside the agent's output in your tracing or evaluation database. Do not rely on the agent to self-report confidence inline; use this prompt as a separate, independent evaluation step to avoid self-assessment bias.
For production wiring, implement a retry wrapper around the LLM call that validates the output against the expected JSON schema before accepting it. If the model returns malformed JSON, missing required fields like confidence_score or evidence_strength, or values outside the 0.0–1.0 range, discard the response and retry with a stricter prompt variant that includes the validation error in the next request. Log every annotation attempt—including raw LLM responses, parse errors, and retry counts—to your observability platform. This log becomes critical for debugging calibration drift over time. For high-stakes domains such as healthcare or finance, route annotations with a confidence_score below a configurable threshold (e.g., 0.7) or a recommended_action of ESCALATE to a human review queue before the agent's output is surfaced to users or written to a system of record.
Model choice matters here. Use a model with strong instruction-following and JSON mode support (e.g., GPT-4o, Claude 3.5 Sonnet) for the annotation step, even if the underlying agent uses a smaller or faster model. The annotation model should be treated as an evaluator, and its quality should be measured independently using a golden dataset of human-annotated confidence examples. Run periodic calibration checks by comparing the model's confidence_score against actual outcome data (e.g., was the agent's claim factually correct?). If you observe systematic overconfidence, adjust the prompt's calibration instructions or add few-shot examples that demonstrate appropriate uncertainty. Avoid wiring this prompt directly into a user-facing synchronous loop without caching or batching, as the additional LLM call adds latency and cost to every agent turn.
Expected Output Contract
Defines the required fields, types, and validation rules for the agent confidence score annotation payload. Use this contract to parse and validate agent outputs before downstream consumption.
| Field or Element | Type or Format | Required | Validation Rule |
|---|---|---|---|
confidence_score | float (0.0–1.0) | Must be a number between 0.0 and 1.0 inclusive. Reject if null, non-numeric, or out of range. | |
calibration_metadata.calibration_type | enum: ["heuristic", "model_internal", "ensemble_agreement", "evidence_weighted"] | Must match one of the defined enum values exactly. Reject unknown types. | |
calibration_metadata.calibration_confidence | float (0.0–1.0) | If present, must be a number between 0.0 and 1.0. Null allowed when calibration_type is "heuristic". | |
evidence_strength.evidence_count | integer | Must be a non-negative integer. Reject negative values. Zero allowed when no evidence was retrieved. | |
evidence_strength.strongest_source_quality | enum: ["primary", "secondary", "inferred", "none"] | Must match one of the defined enum values. Use "none" only when evidence_count is 0. | |
threshold_triggers.action_required | enum: ["proceed", "escalate", "human_review", "abstain"] | Must match one of the defined enum values. Action must be consistent with confidence_score relative to configured thresholds. | |
threshold_triggers.triggered_threshold | string | If present, must reference a named threshold from the system configuration. Null allowed when action_required is "proceed". | |
reasoning_summary | string (max 500 chars) | Must be a non-empty string. Reject empty strings or whitespace-only values. Truncate if exceeds 500 characters. |
Common Failure Modes
Confidence scores that look precise but mislead downstream agents are worse than no score at all. These failure modes target the most common calibration, format, and interpretation breaks in agent-to-agent confidence annotation.
Overconfident Scores on Ambiguous Inputs
What to watch: The model assigns a confidence of 0.9+ when evidence is thin, contradictory, or entirely missing. This causes downstream agents to trust bad outputs and skip verification. Guardrail: Require an explicit evidence_strength field alongside the numeric score. If evidence is missing or conflicting, cap the confidence ceiling at 0.6 and flag for human review.
Score Drift Across Model Versions
What to watch: A prompt that produces well-calibrated scores on GPT-4o suddenly outputs uniformly high or low scores after a model upgrade, breaking threshold-based routing. Guardrail: Pin calibration anchors in the prompt with concrete examples (e.g., '0.3 means you found one weak signal, 0.8 means three independent sources agree'). Run a calibration eval set on every model version change before deployment.
Numeric Score Without Calibration Metadata
What to watch: The agent outputs a raw float like 0.87 with no information about how it was derived, making it impossible for downstream agents or auditors to interpret. Guardrail: Always require a structured output that pairs the score with rationale, evidence_sources, and uncertainty_factors. Downstream agents should reject confidence payloads missing these fields.
Threshold Action Triggers on Borderline Scores
What to watch: A hard threshold at 0.7 causes wildly different agent behavior for scores of 0.69 vs 0.71, even when the underlying evidence is nearly identical. Guardrail: Implement a hysteresis band or confidence interval check. If the score falls within ±0.05 of a decision threshold, escalate to a human or request additional evidence before acting.
Confidence Score Leaking into Agent Reasoning
What to watch: The generating agent embeds its own confidence score in the handoff payload, and the receiving agent treats it as ground truth rather than one agent's estimate. Guardrail: Label confidence scores with their source agent ID and generation timestamp. Receiving agents must treat incoming confidence as advisory metadata, not authoritative fact, and cross-check against their own evidence.
Silent Null Confidence on Tool Failures
What to watch: When a tool call fails or returns empty results, the agent omits the confidence field entirely or returns null, causing parsing failures in downstream agents expecting a float. Guardrail: Require a default confidence value of 0.0 with an explicit failure_reason field when no assessment could be made. Validate that every handoff payload contains a non-null confidence field before routing.
Evaluation Rubric
Use this rubric to test whether the Agent Confidence Score Annotation Prompt produces calibrated, actionable confidence outputs before deploying into a multi-agent handoff pipeline.
| Criterion | Pass Standard | Failure Signal | Test Method |
|---|---|---|---|
Confidence score range compliance | All confidence scores fall within [0.0, 1.0] and use the specified precision | Scores outside 0-1 range, non-numeric values, or inconsistent decimal places | Schema validation: parse output JSON, assert 0.0 <= score <= 1.0 for every confidence field |
Calibration metadata completeness | Every confidence score includes required fields: evidence_strength, uncertainty_factors, and calibration_note | Missing required metadata fields, null values where non-nullable, or placeholder text in calibration_note | Field presence check: iterate all confidence annotations, verify non-null values for required metadata keys |
Evidence strength indicator validity | evidence_strength uses only allowed enum values: strong, moderate, weak, none | Unrecognized enum values, inconsistent casing, or free-text instead of enum | Enum validation: collect all evidence_strength values, assert subset of allowed set |
Threshold-based action trigger correctness | When confidence < [THRESHOLD], output includes action_trigger with escalate or flag value | Low-confidence annotations missing action_trigger, or high-confidence annotations incorrectly triggering escalation | Conditional assertion: filter annotations where confidence < [THRESHOLD], verify action_trigger present and valid |
Uncertainty factor specificity | uncertainty_factors array contains at least one concrete reason when confidence < 0.8 | Empty uncertainty_factors array on low-confidence outputs, or generic phrases like 'model uncertainty' without specifics | Content check: for annotations with confidence < 0.8, assert uncertainty_factors length >= 1 and contains domain-specific language |
Output schema structural validity | Entire output parses as valid JSON matching the [OUTPUT_SCHEMA] without extra or missing top-level keys | JSON parse failure, unexpected fields at root level, or missing required top-level keys | Schema conformance test: validate output against [OUTPUT_SCHEMA] using JSON Schema validator, reject on additionalProperties |
Calibration accuracy against held-out labels | Predicted confidence scores correlate with actual correctness on a labeled eval set (Spearman ρ >= 0.6) | Confidence scores show no correlation with correctness, or model is systematically overconfident on errors | Calibration eval: run prompt on labeled dataset, compute Spearman rank correlation between confidence and correctness |
No hallucinated evidence claims | calibration_note references only evidence present in [INPUT] or explicitly states 'insufficient evidence' | calibration_note cites sources, documents, or facts not present in the provided input context | Groundedness check: extract all factual claims from calibration_note, verify each appears in [INPUT] or is marked as inference |
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 single agent output. Remove calibration metadata requirements and evidence strength indicators. Focus on getting a numeric score and a one-line justification. Use a simple 1–5 scale instead of a full calibration curve.
codeScore the agent's confidence in its answer from 1 (pure guess) to 5 (certain). Return JSON: {"score": int, "rationale": string}
Watch for
- Scores clustering at 3–4 without differentiation
- Rationale that restates the answer instead of explaining uncertainty
- No distinction between model uncertainty and evidence gaps

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