This playbook is for data quality engineers, MLOps teams, and platform architects who need to standardize how confidence scores are assigned across different extraction models, prompts, and human reviewers. The core problem is inconsistency: one extractor's 0.8 is another's 0.5. This prompt defines a 5-level certainty rubric with concrete criteria, examples, and edge cases for each level. Use it when you need to calibrate a new extraction task, audit an existing pipeline, or generate training data for a confidence classifier.
Prompt
Field Extraction Certainty Rubric Prompt

When to Use This Prompt
Defines when to deploy the Field Extraction Certainty Rubric Prompt to standardize confidence scoring across models and human reviewers.
Deploy this prompt before you start scoring extraction outputs at scale. It acts as a meta-policy that other prompts and human reviewers will follow. For example, if you are building a document intelligence pipeline that extracts contract dates, you would first run this prompt to produce a rubric defining what 'High Confidence' means for a date field—perhaps requiring an explicit, unambiguous date string in a standard format. That rubric then becomes the [RUBRIC] input for your downstream extraction prompts. Do not use this prompt for the extraction itself; it is a calibration tool, not an extractor.
Avoid this prompt when you have a single, well-calibrated model with a known confidence distribution that doesn't need cross-system alignment. If your team is not yet experiencing confidence score inconsistency across extractors or reviewers, start with the Confidence-Annotated Field Extraction Prompt Template instead. For teams already in production with drift issues, pair this rubric prompt with the Confidence Score Drift Detection Prompt to monitor when recalibration is needed.
Use Case Fit
Where the Field Extraction Certainty Rubric Prompt works and where it introduces risk. Use this prompt to calibrate confidence assignment across extractors, not as a replacement for downstream validation.
Good Fit: Cross-Team Confidence Calibration
Use when: multiple teams or models assign confidence scores differently and you need a shared standard. Guardrail: Run the rubric against a golden set of annotated spans and compare score distributions across teams before locking the rubric.
Good Fit: Human Reviewer Training
Use when: onboarding human reviewers who will assign confidence to extracted fields. Guardrail: Pair the rubric with 10–15 worked examples showing each level with edge cases. Recalibrate after the first 100 reviews.
Bad Fit: Replacing Extraction Logic
Avoid when: you need the model to extract fields, not just score them. This prompt defines how to assign certainty, not how to find the values. Guardrail: Compose this rubric prompt with a strict schema extraction prompt; do not use it alone for extraction tasks.
Bad Fit: Real-Time Low-Latency Pipelines
Avoid when: extraction must complete in under 200ms with no room for a second pass. Guardrail: Pre-compute confidence thresholds offline and bake them into a fast post-processing rule. Reserve rubric evaluation for async audit or calibration runs.
Required Input: Annotated Calibration Set
Risk: Without ground-truth examples, the rubric becomes subjective and drifts across reviewers. Guardrail: Maintain a calibration set of 50+ spans with consensus labels. Re-run the rubric against this set monthly and track Cohen's kappa across raters.
Operational Risk: Rubric Decay Over Time
Risk: As document types, schemas, or models change, the rubric's level definitions may no longer match real ambiguity patterns. Guardrail: Schedule quarterly rubric reviews. Trigger an out-of-cycle review if the percentage of fields scored at the lowest or highest confidence level shifts by more than 20%.
Copy-Ready Prompt Template
A reusable prompt template that enforces a 5-level certainty rubric for field extraction, ready to copy into your application.
This prompt template encodes a standardized 5-level certainty rubric directly into the extraction instructions. Every extracted field must be assigned a certainty level—Definite, High, Moderate, Low, or Uncertain—based on explicit criteria tied to source evidence quality, ambiguity, and inference chains. The template is designed to be dropped into an extraction pipeline where multiple extractors (human or LLM) need to apply the same confidence standard, making downstream calibration, routing, and audit comparisons possible.
textYou are an extraction specialist operating under a strict 5-level certainty rubric. For every field you extract from the [SOURCE_TEXT], you must assign exactly one certainty level and provide a brief justification citing the specific evidence or lack thereof. ## Certainty Rubric **Definite (Level 5)** - Criteria: The value is explicitly stated in the source text with no ambiguity. The exact string match is present. No inference or interpretation is required. - Example: Source says "Invoice total: $1,250.00" → Extracting invoice_total as 1250.00 is Definite. - Edge case: If the value appears but uses a different format (e.g., "1,250" vs "1250"), this is still Definite if the numeric value is unambiguous. **High (Level 4)** - Criteria: The value is clearly implied by the source text through straightforward, single-step reasoning. Multiple source spans converge on the same value. Minor normalization required but no alternative interpretations are plausible. - Example: Source says "Payment due 30 days from invoice date of March 1" → Extracting due_date as March 31 is High (single-step date arithmetic). - Edge case: If the source contains a calculation that could be performed two ways but context makes one interpretation dominant, this is High, not Moderate. **Moderate (Level 3)** - Criteria: The value requires multi-step inference, resolution of minor contradictions, or selection among plausible alternatives. The extracted value is the most likely interpretation but other reasonable interpretations exist. - Example: Source mentions "the client" in paragraph 1 and names "Acme Corp" in paragraph 4 with no other clients mentioned → Extracting client_name as "Acme Corp" is Moderate (coreference resolution across distance). - Edge case: When two source spans provide conflicting values and one is clearly more authoritative (e.g., a signature block vs body text), the extraction is Moderate, not High. **Low (Level 2)** - Criteria: The value is guessed from weak signals, domain defaults, or statistical likelihood. The source text does not directly support the value but does not contradict it either. Multiple plausible values exist with no clear winner. - Example: Source describes a "software license" without specifying term length → Extracting license_term as "12 months" based on industry default is Low. - Edge case: If the source is silent on a field but the field is required by the schema, mark it Low with justification "value assumed from domain default; source is silent." **Uncertain (Level 1)** - Criteria: The source text is contradictory without resolution, the relevant span is illegible or redacted, or the model cannot determine any value with confidence above random chance. This is the appropriate level when the model should escalate for human review. - Example: Source says "Contract value: $50,000" in section 2 and "Total consideration: $75,000" in section 5 with no reconciliation → Extracting contract_value is Uncertain. - Edge case: If the source contains the field name but the value is redacted (e.g., "Amount: [REDACTED]"), mark as Uncertain with justification "value redacted in source." ## Input Source text to extract from: [SOURCE_TEXT] Fields to extract with their descriptions: [FIELD_SCHEMA] ## Output Format Return a JSON object with this structure: { "extractions": [ { "field_name": "string", "value": <extracted value or null>, "certainty_level": "Definite" | "High" | "Moderate" | "Low" | "Uncertain", "certainty_score": <integer 1-5 corresponding to level>, "justification": "string citing specific source evidence or reason for uncertainty", "source_spans": ["exact text from source supporting the extraction"], "inference_chain": ["step-by-step reasoning if inference was used, empty array if Definite"] } ], "extraction_metadata": { "overall_confidence": <float 0.0-1.0>, "fields_requiring_review": ["field_names with certainty_level Low or Uncertain"], "rubric_version": "1.0" } } ## Constraints - Never assign Definite to an inferred value, even if you are highly confident in the inference. - If the source text is completely silent on a field, mark it Uncertain (Level 1), not Low. - If two source spans conflict and you cannot resolve the conflict, mark Uncertain and include both spans. - Justifications must reference specific source text, not general reasoning. - If [RISK_LEVEL] is "high", escalate all Moderate, Low, and Uncertain fields for human review in extraction_metadata.
Adaptation guidance: Replace [SOURCE_TEXT] with the document or passage being processed. Replace [FIELD_SCHEMA] with an array of field definitions, each containing name, description, type, and required boolean. Set [RISK_LEVEL] to "high" for regulated domains (legal, clinical, financial) to force broader human review; use "standard" for internal analytics where Moderate extractions can flow through. If your application uses a different output schema, adjust the JSON structure but preserve the five certainty levels, justification requirement, and source span anchoring. For batch extraction, wrap this prompt in a loop that processes one document per call to keep justifications grounded in specific source text rather than aggregated across documents.
Prompt Variables
Required inputs for the Field Extraction Certainty Rubric Prompt. Each placeholder must be populated before the prompt is sent to the model. Validation notes describe how to verify the input is well-formed before execution.
| Placeholder | Purpose | Example | Validation Notes |
|---|---|---|---|
[EXTRACTION_SCHEMA] | Defines the fields to extract with their types, descriptions, and whether each field is required or optional | {"fields": [{"name": "invoice_total", "type": "currency", "required": true, "description": "Total amount on the invoice"}]} | Schema must be valid JSON. Each field must have name, type, required flag, and description. Required fields must not be null in output without a null reason code. |
[SOURCE_TEXT] | The unstructured text from which fields will be extracted | "Invoice #INV-2024-0781 dated March 15 2024 for $4,320.50 payable to Acme Corp. Payment terms: Net 30." | Must be a non-empty string. Maximum length should be documented per model context window. Truncation strategy must be defined upstream if text exceeds limits. |
[RUBRIC_LEVELS] | The 5-level certainty rubric definitions with criteria, examples, and edge cases for each level | Level 1 (Certain): Field explicitly stated with unambiguous value. Level 2 (High): Field stated with minor formatting variation. Level 3 (Moderate): Field implied from context. Level 4 (Low): Field partially mentioned. Level 5 (None): No evidence for field. | Must contain exactly 5 levels. Each level must have a name, criteria description, at least one positive example, and at least one edge case. Levels must be mutually exclusive and collectively exhaustive. |
[OUTPUT_SCHEMA] | The expected JSON structure for the extraction output including confidence fields | {"extractions": [{"field_name": "invoice_total", "value": 4320.50, "confidence_level": 1, "confidence_rationale": "Explicitly stated as $4,320.50", "source_span": "$4,320.50", "null_reason": null}]} | Must define field_name, value, confidence_level (integer 1-5), confidence_rationale (string), source_span (string or null), and null_reason (string or null). Confidence level must map to rubric levels. |
[NULL_REASON_CODES] | Controlled vocabulary for why a field value is absent, with definitions and usage rules | {"codes": [{"code": "MISSING", "definition": "Field expected but not found in source", "example": "Invoice date not mentioned anywhere"}, {"code": "NOT_APPLICABLE", "definition": "Field does not apply to this document type", "example": "Shipping address on a service invoice"}]} | Must include at minimum: MISSING, NOT_APPLICABLE, REDACTED, EMPTY, UNKNOWN. Each code must have a definition and at least one example. Codes must be mutually exclusive. |
[EDGE_CASE_EXAMPLES] | Calibration examples showing boundary cases between adjacent rubric levels | [{"scenario": "Date written as 'next Tuesday' without reference date", "correct_level": 3, "rationale": "Implied but requires external reference to resolve", "common_mistake": "Assigning Level 2 because day is named"}] | Must include at least one example for each adjacent level pair (1-2, 2-3, 3-4, 4-5). Each example must show the scenario, correct level, rationale, and a common misclassification. |
[CONFIDENCE_THRESHOLD] | Per-field or global threshold below which extractions require human review | {"global_threshold": 3, "field_overrides": {"total_amount": 2, "tax_id": 1}} | Must be an integer between 1 and 5. Field overrides are optional. Any extraction with confidence_level greater than threshold must be flagged for review. Threshold of 1 means only Level 1 passes; threshold of 5 means all levels pass. |
[DOMAIN_TERMINOLOGY] | Domain-specific terms, abbreviations, and canonical forms that affect extraction and confidence | {"terms": {"Net 30": "Payment due 30 days from invoice date", "FOB": "Free on board - shipping term"}, "canonical_forms": {"Acme Corp.": "Acme Corporation"}} | Optional but recommended for domain-specific extraction. Must be a JSON object with terms and canonical_forms maps. Terms help the model recognize domain language; canonical forms enable normalization. |
Implementation Harness Notes
How to wire the Field Extraction Certainty Rubric Prompt into a production extraction pipeline with validation, retries, and human review.
This prompt is not a standalone extractor—it is a calibration and annotation layer that wraps an existing extraction step. In practice, you run your primary field extraction prompt first, then feed its output (raw extracted values with source spans) into this rubric prompt to assign a standardized 5-level certainty score to each field. The rubric prompt expects the extraction context, the field name, the extracted value, and the source evidence as inputs. It returns a certainty level (1–5), a justification string, and a flag for whether human review is recommended. This separation keeps extraction logic and confidence logic independently testable and tunable.
Wire the prompt into your pipeline as a post-extraction processor. After the primary extractor returns a JSON record, iterate over each extracted field and call this rubric prompt with the field's source text, extracted value, and any surrounding context. Validate the response against a strict output schema: certainty_level must be an integer 1–5, justification must be a non-empty string, and human_review_recommended must be a boolean. If the model returns an invalid level or omits a required field, retry once with a stronger constraint instruction appended. Log every rubric call with the input context, output certainty, and justification for audit trails. For high-risk domains (legal, clinical, financial), route any field scored 1 or 2 directly to a human review queue before the record enters downstream systems.
Model choice matters here. Use a model with strong instruction-following and structured output support (GPT-4o, Claude 3.5 Sonnet, or equivalent). Avoid smaller models that may collapse the 5-level scale into binary high/low judgments. Set temperature=0 for deterministic scoring. If you observe score inflation (most fields clustering at 4–5), calibrate by adding few-shot examples of genuinely ambiguous extractions scored at 2–3. Store rubric outputs alongside extraction results in your data warehouse so you can monitor score distributions over time, detect drift, and tune thresholds. Do not use this rubric prompt to make automated rejection decisions without a human-in-the-loop fallback for low-certainty fields—the rubric is a signal, not a gate.
Expected Output Contract
Fields, types, and validation rules for the Field Extraction Certainty Rubric output. Use this contract to validate model responses before downstream consumption.
| Field or Element | Type or Format | Required | Validation Rule |
|---|---|---|---|
certainty_level | integer (1-5) | Must be an integer between 1 and 5 inclusive. Reject floats, strings, or out-of-range values. | |
level_label | string | Must match one of the five canonical labels: 'Certain', 'High Confidence', 'Moderate Confidence', 'Low Confidence', 'Speculative'. Case-sensitive exact match required. | |
criteria_match | string | Must contain a non-empty explanation referencing the rubric criteria for the assigned level. Minimum 20 characters. | |
evidence_spans | array of strings | Each element must be a non-empty string quoting or referencing a specific source span. Array must not be empty for levels 1-4. Null allowed for level 5 only. | |
ambiguity_flags | array of strings | If present, each element must be a non-empty string describing a specific ambiguity. Required when certainty_level is 3, 4, or 5. Null allowed for levels 1 and 2. | |
alternative_interpretations | array of objects | Each object must contain 'interpretation' (string) and 'confidence' (float 0.0-1.0) fields. Required when certainty_level is 4 or 5. Null allowed for levels 1-3. | |
extraction_timestamp | ISO 8601 string | Must parse as a valid ISO 8601 datetime string. Reject unparseable or missing timestamps. | |
review_recommended | boolean | Must be true when certainty_level is 4 or 5, false when certainty_level is 1 or 2. For level 3, either value is valid but must be explicitly set, not null. |
Common Failure Modes
The Field Extraction Certainty Rubric fails in predictable ways. These cards cover the most common failure modes, why they happen, and the guardrails that keep extraction pipelines auditable and trustworthy.
Confidence Inflation
What to watch: The model assigns high confidence (4-5) to extractions that are plausible but wrong, especially when the source text is ambiguous or the model defaults to a familiar pattern. This is the most dangerous failure because downstream systems trust the score. Guardrail: Require explicit evidence spans for every confidence level above 3. If the model cannot cite the exact phrase that supports the extraction, cap confidence at 2. Add a calibration check: sample high-confidence fields and verify them against source text.
Rubric Boundary Collapse
What to watch: The model collapses the 5-level rubric into 3 effective levels (usually 1, 3, 5) because the middle distinctions are too subtle or the prompt doesn't provide enough contrastive examples. This destroys the value of a graduated certainty scale. Guardrail: Include at least two contrastive examples for each adjacent pair (1 vs 2, 2 vs 3, 3 vs 4, 4 vs 5). Test the rubric on borderline cases and verify that the model uses all five levels in a representative sample.
Null-Confidence Mismatch
What to watch: The model assigns a confidence score to a field it marks as null, or assigns high confidence to a null that should be uncertain. This creates contradictory signals for downstream routing logic. Guardrail: Enforce a strict rule: if the field value is null, the confidence field must be absent or set to a dedicated NOT_APPLICABLE sentinel. Add a post-extraction validator that rejects any record where null fields carry numeric confidence scores.
Context Window Truncation Artifacts
What to watch: When source documents exceed the context window, the model extracts fields from truncated or missing sections and assigns confidence as if it saw the full text. The rubric doesn't account for what the model couldn't see. Guardrail: Add a context_completeness flag to the extraction schema. Require the model to mark whether the relevant source section was fully present, partially truncated, or absent. Route truncated-context extractions to a separate review queue regardless of confidence score.
Confidence Drift Across Batches
What to watch: The model's confidence calibration shifts across batches, document types, or model versions. A score of 4 in one batch may mean something different in another, breaking threshold-based routing. Guardrail: Run a calibration sample at the start of each batch using a fixed set of benchmark documents with known ground truth. Compare confidence distributions to the baseline. If drift exceeds a configured threshold, pause the pipeline and alert the operations team before routing decisions are made.
Inference Without Attribution
What to watch: The model infers a field value from context rather than extracting it directly, but assigns high confidence as if the value were explicit. The rubric doesn't distinguish between direct extraction and inference, so inferred values slip through with inflated certainty. Guardrail: Add an extraction_type field with values EXPLICIT and INFERRED. Apply a confidence penalty to inferred values (e.g., cap at 3). Require the model to cite the inference chain when the extraction type is INFERRED, and route all inferred fields with confidence above 2 to human review.
Evaluation Rubric
Use this rubric to test whether the Field Extraction Certainty Rubric Prompt produces calibrated, consistent, and auditable confidence assignments before shipping to production.
| Criterion | Pass Standard | Failure Signal | Test Method |
|---|---|---|---|
Confidence Level Assignment | Every extracted field receives exactly one confidence level from the defined 5-level rubric (e.g., Certain, High, Moderate, Low, Speculative). | Missing confidence field, level outside rubric vocabulary, or multiple levels assigned to one field. | Schema validation: assert output contains a confidence field per extracted value with value in allowed enum set. |
Rubric Criteria Adherence | Confidence level matches the rubric definition for the evidence present. Certain requires explicit verbatim text; Speculative requires no direct evidence. | Certain assigned to an inferred value, or Speculative assigned to a direct quote. | Golden-set comparison: run prompt against 20 pre-labeled examples with known ground-truth confidence levels and measure agreement. |
Justification Presence | Every confidence assignment includes a non-empty justification string citing specific evidence or the absence of evidence. | Missing justification, empty string, or generic justification like 'model assessment'. | Parse check: assert justification field is present, string length > 20 characters, and contains a source reference or explicit 'no evidence found' statement. |
Edge Case: Ambiguous Span | When a span supports multiple interpretations, confidence is capped at Moderate or lower with ambiguity noted in justification. | Ambiguous span assigned High or Certain without noting the alternative interpretation. | Targeted test case: input text with known ambiguous entity boundary; assert confidence <= Moderate and justification mentions ambiguity. |
Edge Case: Missing Information | When no relevant information exists in the source, the field is marked as null with reason code and confidence is Speculative or field is omitted per contract. | Hallucinated value extracted from empty context, or null field assigned High confidence. | Null-handling test: input text with zero relevant information; assert extracted value is null or absent and confidence is Speculative if present. |
Cross-Field Consistency | Related fields do not receive contradictory confidence levels without explicit justification (e.g., start date Certain but end date Speculative when both come from same sentence). | Contradictory confidence on fields extracted from the same source span without explanation. | Consistency check: for fields sharing a source span, assert confidence levels differ by at most one rubric level unless justification explains the discrepancy. |
Output Schema Compliance | Output matches the expected JSON schema with all required fields, correct types, and no extra top-level keys. | Missing required fields, wrong types (string instead of number), or additional unexpected fields. | Schema validation: validate output against JSON Schema definition; reject on additionalProperties failure or missing required fields. |
Calibration Across Runs | Repeated extraction of the same input with temperature=0 produces identical confidence levels and justifications. | Confidence level flips between runs, or justification text changes materially. | Determinism test: run same input 5 times with temperature=0; assert confidence levels are identical and justification edit distance is below threshold. |
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 rubric prompt and a small set of 10-20 extracted fields. Use a frontier model without strict schema validation to observe how confidence levels distribute across your data. Replace the example criteria in the rubric with 2-3 examples from your own domain. Keep the output as free-text JSON without enforcing the full [OUTPUT_SCHEMA].
Watch for
- Confidence scores clustering at 0.8-1.0 without using the lower levels
- The model inventing confidence justifications that don't match the evidence
- Rubric levels bleeding together (e.g., Level 3 and Level 4 looking identical in practice)

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