Inferensys

Prompt

Confidence Decay Over Time Prompt Template

A practical prompt playbook for applying time-based confidence decay to verified claims in production AI verification pipelines. Includes the copy-ready template, variable definitions, output contract, evaluation rubric, and failure mode analysis.
AI evaluator reviewing output quality on laptop, comparison metrics visible, casual evaluation session.
PROMPT PLAYBOOK

When to Use This Prompt

Determine when to apply a time-decay adjustment to claim confidence scores in a verification pipeline.

This prompt is designed for verification system architects and pipeline engineers who need to adjust a claim's confidence score based on the age of its supporting evidence. The core job-to-be-done is to prevent a verification pipeline from treating a claim as highly confident when the underlying evidence is stale, which is a common failure mode in dynamic domains like news, financial reporting, or security intelligence. You should use this prompt when you already have a base confidence score, a set of evidence items with known publication or collection timestamps, and a defined claim domain. It assumes that initial claim extraction and evidence matching have already been completed upstream.

The ideal user is integrating this prompt as a post-scoring adjustment step within a larger automated fact-checking or claims verification system. The required inputs are a [CLAIM_STATEMENT], a [BASE_CONFIDENCE_SCORE], a list of [EVIDENCE_TIMESTAMPS], and a [CLAIM_DOMAIN] to determine the appropriate decay rate. The output is a [DECAY_ADJUSTED_CONFIDENCE_SCORE] with a [TIME_SENSITIVITY_CLASSIFICATION] and a [RE_VERIFICATION_TRIGGER_DATE]. This prompt is not a replacement for initial evidence retrieval or claim matching. Do not use it for claims about static, long-settled facts (e.g., historical dates, mathematical proofs) where evidence age is irrelevant, as applying a decay function would incorrectly penalize a valid confidence score.

Before implementing this prompt, ensure your pipeline can capture and pass reliable evidence timestamps. A common failure mode is applying a decay function to evidence with a missing or default timestamp (e.g., '1970-01-01'), which will catastrophically zero out the confidence score. You should also define your domain-specific decay windows and re-verification thresholds in your application logic, not in the prompt itself, to keep the prompt's instructions stable and the parameters easily tunable. The next step after reading this section is to review the prompt template and adapt the decay function description to match your specific operational needs.

PRACTICAL GUARDRAILS

Use Case Fit

Where the Confidence Decay Over Time prompt template delivers value and where it introduces risk. Use these cards to decide if this prompt fits your verification architecture before integrating it into a production pipeline.

01

Good Fit: Time-Sensitive Claim Verification

Use when: claims involve facts that can become stale (e.g., 'current CEO,' 'latest quarterly revenue,' 'active pandemic status'). Why: the prompt applies decay functions to confidence scores based on evidence age, preventing over-confident verification of outdated information. Guardrail: define explicit temporal relevance windows per claim domain—financial data may decay in days, scientific consensus in years.

02

Bad Fit: Stable Fact Verification

Avoid when: verifying historical facts, mathematical truths, or physical constants where evidence age is irrelevant. Risk: applying time decay to stable facts produces misleadingly low confidence scores and unnecessary re-verification triggers. Guardrail: maintain a domain exemption list for claim types where recency is not a valid confidence factor.

03

Required Input: Evidence Timestamp Metadata

What to watch: the decay function requires reliable publication, update, or observation timestamps for every evidence item. Risk: missing or inaccurate timestamps cause the prompt to either skip decay (silent failure) or apply arbitrary penalties. Guardrail: validate timestamp completeness in the evidence pipeline before invoking this prompt; reject evidence items without temporal metadata.

04

Operational Risk: Decay Function Drift

What to watch: decay parameters tuned for one domain (e.g., news verification) produce incorrect confidence adjustments when applied to another (e.g., medical claims). Risk: cross-domain confidence scores become non-comparable, breaking triage thresholds. Guardrail: version decay functions per claim domain and monitor confidence distributions for unexpected shifts after domain changes.

05

Operational Risk: Re-Verification Stampedes

What to watch: uniform decay windows can cause many claims to cross the re-verification threshold simultaneously. Risk: batch re-verification spikes overload retrieval systems and human review queues. Guardrail: add jitter to decay windows or stagger re-verification schedules; set maximum batch sizes with priority-based queuing.

06

Validation Requirement: Known-Outcome Calibration

What to watch: decay-adjusted scores must be tested against claim sets with known verification outcomes at multiple time offsets. Risk: without calibration, the prompt may produce scores that correlate poorly with actual verification accuracy as evidence ages. Guardrail: maintain a golden dataset of time-stamped claims with known outcomes; run calibration checks whenever decay parameters or prompt instructions change.

PROMPT PLAYBOOK

Copy-Ready Prompt Template

A copy-ready template for applying temporal decay to claim confidence scores, producing adjusted scores with re-verification triggers.

This template is designed to be pasted directly into your prompt layer. It instructs the model to adjust a claim's confidence score based on the age of its supporting evidence, the claim's time-sensitivity classification, and a defined decay function. The output is a structured JSON object containing the decay-adjusted score, the decay amount, and a re-verification trigger status. Before using this template, ensure your verification pipeline has already produced an initial confidence score, an evidence inventory with timestamps, and a time-sensitivity classification for the claim.

text
You are a verification decay analyst. Your task is to adjust a claim's confidence score based on the age of its evidence.

**Inputs:**
- CLAIM: [CLAIM_TEXT]
- INITIAL_CONFIDENCE_SCORE: [INITIAL_CONFIDENCE_SCORE]
- EVIDENCE_TIMESTAMPS: [EVIDENCE_TIMESTAMPS]
- TIME_SENSITIVITY_CLASSIFICATION: [TIME_SENSITIVITY_CLASSIFICATION]
- DECAY_FUNCTION: [DECAY_FUNCTION]
- RE_VERIFICATION_THRESHOLD: [RE_VERIFICATION_THRESHOLD]

**Instructions:**
1. Calculate the age of the most recent piece of evidence from EVIDENCE_TIMESTAMPS.
2. Apply the DECAY_FUNCTION using the evidence age and the TIME_SENSITIVITY_CLASSIFICATION to determine a decay factor.
3. Multiply the INITIAL_CONFIDENCE_SCORE by the decay factor to produce the DECAY_ADJUSTED_SCORE.
4. If the DECAY_ADJUSTED_SCORE falls below the RE_VERIFICATION_THRESHOLD, set the RE_VERIFICATION_TRIGGER to `true`.
5. Output the result in the specified OUTPUT_SCHEMA.

**Constraints:**
- The DECAY_ADJUSTED_SCORE must be a float between 0.0 and 1.0.
- The DECAY_AMOUNT is calculated as INITIAL_CONFIDENCE_SCORE - DECAY_ADJUSTED_SCORE.
- If no evidence timestamps are provided, do not apply decay and set RE_VERIFICATION_TRIGGER to `true`.
- Do not explain the calculation in the output; provide only the JSON object.

**Output Schema:**
{
  "claim": "string",
  "initial_confidence_score": "float",
  "decay_adjusted_score": "float",
  "decay_amount": "float",
  "re_verification_trigger": "boolean",
  "decay_function_applied": "string"
}

To adapt this template for production, replace the square-bracket placeholders with live data from your verification pipeline. The [DECAY_FUNCTION] placeholder should be replaced with a specific, named function (e.g., linear, exponential, logarithmic) and its parameters, which your application code will use for validation. The [TIME_SENSITIVITY_CLASSIFICATION] should map to a controlled vocabulary like high, medium, or low, which determines the decay rate. After receiving the model's output, validate the JSON structure and ensure the decay_adjusted_score is mathematically consistent with the provided function before storing it. For high-stakes claims, always route outputs with a re_verification_trigger of true to a human review queue.

IMPLEMENTATION TABLE

Prompt Variables

Every placeholder this prompt expects, why it matters, and how to validate it before sending. Use this table to wire the Confidence Decay Over Time prompt into your verification pipeline.

PlaceholderPurposeExampleValidation Notes

[CLAIM_TEXT]

The exact claim being evaluated for confidence decay

The global average temperature increased by 1.1°C between 1900 and 2020.

Non-empty string; must be a single atomic claim, not a paragraph. Validate with claim extraction pre-check or length < 500 chars.

[CLAIM_TIMESTAMP]

When the claim was originally made or published, used as the anchor for decay calculation

2023-03-15T00:00:00Z

ISO 8601 format required. Must be parseable by datetime library. Reject if in the future relative to system time.

[EVIDENCE_LIST]

Array of evidence objects, each containing source metadata and publication date, used to calculate recency-weighted confidence

[{"source_id": "src_42", "publication_date": "2024-01-10", "relevance_score": 0.92}]

Must be a valid JSON array with at least 1 item. Each item requires publication_date in ISO 8601. Null or empty array triggers abstention.

[DECAY_FUNCTION]

The mathematical decay function to apply (e.g., exponential, linear, step) with its parameters

{"type": "exponential", "half_life_days": 365, "floor": 0.3}

Must be a valid JSON object. type must be one of [exponential, linear, step, none]. half_life_days must be > 0. floor must be between 0.0 and 1.0.

[DOMAIN_STABILITY_CLASS]

Classification of how quickly facts in this domain become stale, used to adjust decay aggressiveness

dynamic

Must be one of [stable, semi-stable, dynamic, volatile]. Validate against allowed enum before sending. Mismatch triggers default to semi-stable with warning.

[OUTPUT_SCHEMA]

The expected JSON structure for the decay-adjusted confidence output

{"adjusted_confidence": 0.0, "decay_delta": 0.0, "time_sensitivity": ""}

Must be a valid JSON Schema or example object. Parse check before prompt assembly. Reject if schema contains unsupported types like function.

[REVERIFICATION_TRIGGER_THRESHOLD]

Confidence level below which the system should flag the claim for re-verification

0.6

Must be a float between 0.0 and 1.0. Validate range. If null, default to 0.5. Triggers human-review routing in downstream pipeline.

[KNOWN_OUTCOME_CALIBRATION_SET]

Optional array of claims with known verification outcomes for decay function validation

[{"claim": "...", "known_truth_value": true, "age_days": 400}]

If provided, must be valid JSON array. Each item requires known_truth_value boolean and age_days integer >= 0. Used for eval, not required for production inference.

PROMPT PLAYBOOK

Implementation Harness Notes

How to wire the Confidence Decay Over Time prompt into a production verification pipeline with validation, retry, and observability.

The Confidence Decay Over Time prompt is not a standalone widget; it is a scoring function inside a larger verification pipeline. In production, this prompt typically sits downstream of claim extraction and evidence retrieval, receiving a claim, its original confidence score, the evidence timestamp, and a decay policy. The output—a decay-adjusted confidence score with a time-sensitivity classification and a re-verification trigger—must be consumed by a stateful system that tracks claim versions over time. Do not treat this prompt as a one-shot check. It is designed to be called periodically (e.g., nightly or on-demand) against a registry of previously verified claims whose evidence is aging.

To wire this into an application, wrap the prompt in a function that accepts a ClaimRecord object with fields: claim_id, claim_text, original_confidence, evidence_timestamp, decay_policy (which defines the half-life or decay function parameters), and current_time. The function should construct the prompt using these inputs, call the model, and parse the response into a DecayAdjustedScore schema with fields: adjusted_confidence (float 0-1), time_sensitivity_class (enum: high, medium, low, stable), re_verification_trigger (boolean), and decay_rationale (string). Validate the output strictly: adjusted_confidence must be ≤ original_confidence (decay should not increase confidence), the enum must match one of the allowed values, and the rationale must reference the time delta explicitly. If validation fails, retry once with the validation error appended to the prompt as a correction hint. If the retry also fails, log the failure, flag the claim for human review, and do not update the confidence score in the database.

Observability is critical because decay decisions compound across thousands of claims. Log every invocation with: claim_id, original_confidence, evidence_timestamp, time_delta_days, adjusted_confidence, time_sensitivity_class, re_verification_trigger, model_id, prompt_version, latency_ms, and validation_passed. Emit a metric for the decay delta (original_confidence - adjusted_confidence) grouped by time_sensitivity_class so you can detect sudden shifts in decay behavior after model or prompt changes. Set up an alert if the percentage of claims triggering re_verification_trigger spikes beyond a threshold (e.g., >30% in a single batch), which may indicate a data freshness problem or a misconfigured decay policy. For model choice, a fast, cost-effective model (e.g., GPT-4o-mini, Claude Haiku) is usually sufficient because the reasoning task is bounded: compare timestamps, apply a decay function, and classify sensitivity. Reserve larger models for cases where the decay rationale is contested or escalated.

Before deploying, run the prompt against a decay validation set: a collection of claim-evidence pairs with known outcomes where you have manually labeled the expected decay behavior. Include cases where evidence is 1 day old, 30 days old, 1 year old, and 5+ years old. Include claims about fast-changing topics (e.g., stock prices, election polls) and stable facts (e.g., historical events, physical constants). The eval should check that adjusted_confidence decreases monotonically with time for time-sensitive claims and remains flat for stable claims. Also test edge cases: evidence timestamp in the future (should be rejected or flagged), missing timestamps (should return an error), and claims with no decay policy defined (should default to a conservative policy or escalate). If your system uses multiple decay policies per domain, validate that the prompt respects the policy parameters rather than applying a one-size-fits-all decay.

Finally, integrate the re-verification trigger into your pipeline's orchestration layer. When re_verification_trigger is true, the system should enqueue the claim for fresh evidence retrieval and re-scoring, not simply lower the confidence and move on. This creates a feedback loop: decay detection → re-retrieval → re-scoring → updated confidence → new decay baseline. Without this loop, decay-adjusted scores become a one-way ratchet toward zero confidence, which is both inaccurate and operationally useless. Avoid running decay prompts on claims that are already below your triage threshold; instead, route those directly to human review or archival. The decay prompt's job is to keep active claims honest, not to slowly expire your entire claim registry.

IMPLEMENTATION TABLE

Expected Output Contract

Every field the Confidence Decay Over Time prompt must return, its type, and the validation rule that determines whether the output is acceptable.

Field or ElementType or FormatRequiredValidation Rule

claim_id

string

Must match the [CLAIM_ID] input exactly; non-empty and no extra whitespace

original_confidence

float (0.0-1.0)

Must equal the [ORIGINAL_CONFIDENCE] input value; parse check with 3-decimal tolerance

decay_adjusted_confidence

float (0.0-1.0)

Must be less than or equal to original_confidence; must be >= 0.0; must not be null

time_sensitivity_classification

enum: [high, medium, low, none]

Must be one of the four allowed values; case-sensitive exact match

decay_function_applied

string

Must name a recognized decay function (linear, exponential, half-life, or custom); must match the function specified in [DECAY_FUNCTION] if provided

re_verification_triggered

boolean

Must be true if decay_adjusted_confidence < [RE_VERIFICATION_THRESHOLD]; must be false otherwise; no null allowed

decay_rationale

string

Must be non-empty; must reference the time elapsed, evidence age, and domain stability; minimum 20 characters

next_re_verification_date

ISO 8601 date or null

If re_verification_triggered is true, must be a valid future date; if false, must be null

PRACTICAL GUARDRAILS

Common Failure Modes

What breaks first when confidence decay is applied in production and how to guard against it.

01

Uniform Decay Treats All Facts Equally

What to watch: Applying the same decay function to every claim erases the difference between stable facts (e.g., 'Paris is the capital of France') and time-sensitive assertions (e.g., 'the current unemployment rate is 4.2%'). Stable facts receive unjustified confidence penalties, while volatile claims may not decay fast enough. Guardrail: Classify each claim's time-sensitivity tier before applying decay. Use a stability_class field (e.g., 'stable', 'slow-changing', 'volatile') to select the appropriate decay curve or half-life parameter.

02

Decay Anchors to Publication Date, Not Event Date

What to watch: The prompt uses the evidence source's publication date as the time anchor, but the claim refers to an event that occurred years earlier. Confidence decays based on when the article was written, not when the fact became stale. A 2024 article about a 2019 event gets treated as fresh evidence. Guardrail: Extract both evidence_pub_date and claim_event_date when available. Anchor decay to the earlier of the two dates, or explicitly flag when the event date is unknown and default to the publication date with a caveat in the confidence explanation.

03

Missing Re-Verification Triggers After Decay Threshold

What to watch: The system produces a decay-adjusted confidence score but never signals when that score crosses a critical threshold requiring re-verification. A claim silently drifts from 'verified' to 'unverified' without any alert, and downstream consumers treat stale confidence as current. Guardrail: Include a reverify_trigger boolean and reverify_reason string in the output schema. Set the trigger to true when the adjusted confidence falls below the operational threshold. Route triggered claims to a re-verification queue with the original evidence set and a note on what changed.

04

Corroboration Count Masks Stale Individual Sources

What to watch: A claim is supported by five sources, so the corroboration count remains high, but all five sources are from the same date and are now equally stale. The aggregate confidence stays high because the decay function only looks at individual source ages without recognizing that no new evidence has appeared. Guardrail: Add a corroboration_recency metric that measures the age distribution of supporting sources. Penalize confidence when all corroborating sources cluster in the same time window with no recent confirmations. Flag claims where the newest supporting source is older than the decay half-life.

05

Decay Function Produces Uncalibrated Scores

What to watch: The decay-adjusted confidence scores look reasonable but don't correlate with actual verification outcomes. A claim scored at 0.7 confidence after decay is just as likely to be false as a claim scored at 0.3. The decay math is correct, but the parameters weren't calibrated against real outcomes. Guardrail: Maintain a holdout set of claims with known verification outcomes at multiple time points. Periodically test whether decay-adjusted scores predict actual accuracy. If calibration drifts, adjust decay parameters or add a calibration layer. Log calibration metrics alongside confidence scores for auditability.

06

No Distinction Between Evidence Absence and Evidence Staleness

What to watch: The prompt conflates 'we never had good evidence for this claim' with 'our evidence is old.' Both produce low confidence scores, but the remediation paths are completely different. The first requires new evidence discovery; the second requires a refresh of existing sources. Downstream routing sends both to the same queue. Guardrail: Separate the confidence score into two components: evidence_quality_at_acquisition and decay_since_acquisition. When confidence is low, output a low_confidence_cause field with values like 'insufficient_initial_evidence', 'evidence_decayed', or 'contradiction_emerged'. Route each cause to a different remediation workflow.

IMPLEMENTATION TABLE

Evaluation Rubric

Test output quality before shipping this prompt to production. Run these checks against a golden dataset of claims with known decay outcomes.

CriterionPass StandardFailure SignalTest Method

Decay-adjusted score direction

Score decreases monotonically as evidence age increases for time-sensitive claims

Score remains flat or increases with older evidence on known-decay claims

Run prompt on 20 claims with known decay curves; verify Spearman rank correlation between evidence age and score is negative and significant

Stable-claim score preservation

Score changes by less than 5% when evidence ages within the claim's stability window

Score drops more than 10% for claims classified as stable facts with no new contradicting evidence

Test on 15 stable historical facts with evidence aged 1-5 years; measure score variance

Time-sensitivity classification accuracy

Classification matches pre-labeled sensitivity tier for at least 85% of golden-set claims

High-sensitivity claims classified as low-sensitivity or vice versa in more than 3 of 20 test cases

Compare prompt output classification against human-labeled sensitivity tiers on 20 diverse claims

Re-verification trigger validity

Trigger fires when evidence age exceeds the claim's defined re-verification window

Trigger fires for stable claims within window or fails to fire for expired high-sensitivity claims

Test boundary cases: evidence age at window-1 day, window edge, window+1 day; verify trigger behavior

Decay function parameter consistency

Decay rate and half-life parameters are consistent across similar claim types and evidence sources

Wildly different decay parameters assigned to claims with identical sensitivity profiles

Run prompt on 10 claim pairs with matched sensitivity; check parameter variance within pairs

Confidence interval width behavior

Interval width increases as evidence age increases for time-sensitive claims

Interval narrows with older evidence or remains static across all age conditions

Measure interval width at 3 evidence-age points per claim; verify monotonic width increase for sensitive claims

Edge case: brand-new evidence

Score reflects full confidence with minimal decay when evidence is less than 24 hours old

Decay penalty applied to evidence that is effectively current

Test with evidence timestamped within the past hour; verify decay adjustment is near zero

Edge case: extremely stale evidence

Score approaches floor value but does not underflow below defined minimum confidence

Score goes to zero, negative, or null for evidence older than 10x the re-verification window

Test with evidence aged 10 years on a 6-month sensitivity window claim; verify score is positive and at floor

ADAPTATION OPTIONS

Adapt This Prompt

How to adapt

Start with the base prompt and a static decay function (e.g., linear decay over [DECAY_WINDOW_DAYS]). Use a small set of known-outcome claims to validate that decay-adjusted scores move in the expected direction. Skip formal schema enforcement initially; accept JSON-like output and manually inspect for structure.

Prompt modification

Replace the decay function description with a simple instruction: Reduce confidence by 10% for every [INTERVAL] days since the evidence was published.

Watch for

  • Scores that decay too aggressively on stable facts (e.g., mathematical truths)
  • Missing time-sensitivity classification before applying decay
  • No floor on confidence scores, causing them to hit zero prematurely
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.