Inferensys

Prompt

Field Extraction Certainty Rubric Prompt

A practical prompt playbook for using the Field Extraction Certainty Rubric Prompt to calibrate confidence assignment in production AI extraction workflows.
Developer doing prompt engineering on laptop, prompt variations visible on screen, casual coding session.
PROMPT PLAYBOOK

When to Use This Prompt

Defines when to deploy the Field Extraction Certainty Rubric Prompt to standardize confidence scoring across models and human reviewers.

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.

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.

PRACTICAL GUARDRAILS

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.

01

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.

02

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.

03

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.

04

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.

05

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.

06

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%.

PROMPT PLAYBOOK

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.

text
You 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.

IMPLEMENTATION TABLE

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.

PlaceholderPurposeExampleValidation 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.

PROMPT PLAYBOOK

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.

IMPLEMENTATION TABLE

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 ElementType or FormatRequiredValidation 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.

PRACTICAL GUARDRAILS

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.

01

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.

02

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.

03

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.

04

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.

05

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.

06

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.

IMPLEMENTATION TABLE

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.

CriterionPass StandardFailure SignalTest 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.

ADAPTATION OPTIONS

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)
Prasad Kumkar

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.