Inferensys

Prompt

Multi-Turn Hallucination Accumulation Audit Prompt

A practical prompt playbook for using Multi-Turn Hallucination Accumulation Audit Prompt in production AI workflows.
Developer designing multi-agent workflow on laptop, architecture diagram on screen, casual home office setup with afternoon light.
PROMPT PLAYBOOK

When to Use This Prompt

Define the job, reader, and constraints for the Multi-Turn Hallucination Accumulation Audit Prompt.

This prompt is designed for RAG chat teams and evaluation engineers who need to detect and measure factual drift that compounds across conversation turns. Unlike single-turn hallucination checks, this audit tracks whether an unsupported claim made in turn three reappears or mutates in turn seven, creating a cascade of misinformation. The primary job-to-be-done is producing a turn-by-turn hallucination log that links each unsupported claim to its source evidence (or lack thereof) and traces its propagation into later responses. The ideal user is an ML engineer or evaluation lead integrating this into a CI/CD pipeline for a customer-facing chat product where groundedness is a non-negotiable safety property.

Required inputs include the full conversation transcript with turn indices, the source evidence chunk provided to the model for each assistant turn, and a groundedness threshold for flagging. The prompt expects structured evidence mapping—if your retrieval system doesn't log which chunks were passed to the model per turn, you cannot use this prompt effectively. Do not use this prompt for single-turn Q&A evaluation, for conversations without source evidence, or for measuring stylistic quality. It is specifically scoped to factual consistency against provided sources across time. For conversations where the model is expected to use general world knowledge rather than retrieved evidence, use a factuality evaluation prompt instead.

Production constraints matter here. This prompt is token-heavy because it processes full multi-turn transcripts with per-turn evidence. Expect higher latency and cost than single-turn evals. For long conversations exceeding 20 turns, consider windowing the audit into overlapping segments or using a sliding context window to avoid context-limit truncation. The output is a structured JSON log designed for automated ingestion into evaluation dashboards, not for human reading. Wire this into a regression test suite where every prompt or retrieval change triggers a re-audit of golden conversation datasets. If the audit flags a propagated hallucination, the failure mode is rarely the prompt alone—it's often a retrieval gap where the correct evidence wasn't provided to the model in the first place. Use the audit output to drive retrieval improvements, not just prompt fixes.

PRACTICAL GUARDRAILS

Use Case Fit

Where the Multi-Turn Hallucination Accumulation Audit Prompt delivers reliable signal and where it introduces operational risk.

01

Good Fit: RAG Chat with Source Evidence per Turn

Use when: you have a complete conversation log and the source evidence (retrieved chunks, documents) that was available to the model at each turn. The prompt requires turn-aligned source context to trace unsupported claims. Guardrail: validate that source evidence arrays are non-empty and correctly time-aligned with conversation turns before invoking the audit.

02

Good Fit: Pre-Release Regression Gates

Use when: you are evaluating a new RAG pipeline, prompt, or model version against a golden conversation dataset. The prompt produces a cumulative groundedness trend line that reveals whether factual drift compounds over session length. Guardrail: run the audit on the same conversation across multiple pipeline versions and compare session-level scores as a release gate metric.

03

Bad Fit: Conversations Without Source Evidence

Avoid when: you lack per-turn source context. The prompt cannot distinguish between model hallucination and model knowledge without evidence to compare against. Running it on bare conversation logs will produce unreliable, high-noise results. Guardrail: gate invocation on source evidence availability; if missing, use a factuality consistency prompt instead.

04

Bad Fit: Real-Time Streaming Chat

Avoid when: you need hallucination detection during live streaming responses. This prompt is designed for post-hoc batch audit of complete sessions, not real-time intervention. Guardrail: pair with a lightweight per-turn grounding classifier for online use; reserve this prompt for offline evaluation and trend analysis.

05

Required Inputs: Turn-Aligned Source Evidence

Risk: misaligned or missing source evidence produces false hallucination flags or misses real drift. The prompt needs a structured input mapping each assistant turn to its retrieval context. Guardrail: implement a pre-processing step that validates turn-to-evidence alignment, flags gaps, and rejects audit runs with incomplete evidence coverage.

06

Operational Risk: Judge Hallucination on Long Sessions

Risk: the LLM judge itself may hallucinate when auditing very long conversations (20+ turns), misattributing claims or fabricating propagation chains. Guardrail: split long sessions into overlapping windows, run the audit per window, and cross-reference propagation claims that span window boundaries with a secondary verification pass.

PROMPT PLAYBOOK

Copy-Ready Prompt Template

A reusable prompt for auditing factual drift and hallucination accumulation across multi-turn RAG conversations.

This prompt template is designed to be copied directly into your evaluation harness. It instructs the model to act as a strict, evidence-only auditor. The model receives the full conversation transcript and the source evidence provided for each assistant turn. Its job is to identify every factual claim in each assistant response, verify it against the corresponding source evidence, and track whether unsupported claims from earlier turns are repeated or built upon later. The output is a structured, turn-by-turn log that quantifies cumulative groundedness decay.

text
You are a strict factual auditor. Your only task is to compare assistant responses against provided source evidence. You must never use your own knowledge. If evidence is missing, insufficient, or ambiguous, mark the claim as UNSUPPORTED.

## INPUT
[CONVERSATION_TRANSCRIPT]

## SOURCE EVIDENCE PER TURN
[SOURCE_EVIDENCE]

## AUDIT INSTRUCTIONS
For each assistant turn in the conversation:
1. Extract every discrete factual claim made by the assistant.
2. For each claim, locate the exact supporting passage in the source evidence provided for that specific turn.
3. If a claim cannot be matched to source evidence for that turn, check if it was introduced in a prior turn. If so, flag it as a PROPAGATED_HALLUCINATION and link to the turn where it first appeared.
4. Assign a grounding status to each claim: GROUNDED, UNSUPPORTED, PROPAGATED_HALLUCINATION, or CONTRADICTS_EVIDENCE.
5. Calculate a turn-level Groundedness Score: (number of GROUNDED claims) / (total claims in the turn).

## OUTPUT_SCHEMA
Return a single JSON object with this exact structure:
{
  "session_id": "string",
  "audit_turns": [
    {
      "turn_index": integer,
      "assistant_text": "string",
      "claims": [
        {
          "claim_text": "string",
          "status": "GROUNDED | UNSUPPORTED | PROPAGATED_HALLUCINATION | CONTRADICTS_EVIDENCE",
          "source_quote": "string or null",
          "propagated_from_turn": integer or null,
          "auditor_notes": "string"
        }
      ],
      "groundedness_score": float,
      "turn_notes": "string"
    }
  ],
  "cumulative_groundedness_score": float,
  "propagation_graph": [
    {
      "origin_turn": integer,
      "unsupported_claim": "string",
      "propagated_to_turns": [integer]
    }
  ],
  "critical_findings": ["string"]
}

## CONSTRAINTS
- Do not invent facts. If evidence is missing, mark the claim UNSUPPORTED.
- Do not use your own knowledge to fill gaps.
- A claim is a single, verifiable statement of fact. Opinions, pleasantries, and stylistic choices are not claims.
- If the assistant correctly refuses to answer due to lack of evidence, that is not a hallucination.
- The cumulative_groundedness_score is the mean of all turn-level groundedness scores.

To adapt this template, replace the [CONVERSATION_TRANSCRIPT] and [SOURCE_EVIDENCE] placeholders with your actual data. The source evidence structure should be a mapping of turn indices to the retrieved passages or documents available when that turn's response was generated. If your RAG system uses a single retrieval step for the entire session, note that in your harness documentation—the audit will still work, but the propagated_from_turn detection becomes more critical. For high-stakes domains like healthcare or finance, add a [RISK_LEVEL] placeholder that gates whether critical_findings must be reviewed by a human before the audit is considered complete. The output schema is intentionally strict; validate the JSON structure in your application layer before storing results, and log any parse failures for prompt refinement.

IMPLEMENTATION TABLE

Prompt Variables

Required inputs for the Multi-Turn Hallucination Accumulation Audit Prompt. Each variable must be populated per conversation before evaluation. Missing or malformed inputs will cause the audit to fail or produce unreliable accumulation scores.

PlaceholderPurposeExampleValidation Notes

[CONVERSATION_LOG]

Full multi-turn conversation transcript with turn indices, speaker labels, and timestamps

TURN_1 (User): What is the return policy?\nTURN_2 (Assistant): Returns are accepted within 30 days with receipt.\nTURN_3 (User): Does that include electronics?\nTURN_4 (Assistant): Electronics have a 15-day return window.

Must include at least 3 turns with alternating User/Assistant labels. Parse check: verify turn count >= 3 and speaker alternation pattern holds. Reject if only one speaker present.

[SOURCE_EVIDENCE_PER_TURN]

Ground-truth source documents or evidence blocks mapped to each assistant turn

TURN_2_SOURCES: ["policy_doc_v3.md: Returns section - 30 days, receipt required"]\nTURN_4_SOURCES: ["policy_doc_v3.md: Electronics section - 15 days, original packaging required"]

Each assistant turn must have at least one source block. Null allowed only if assistant abstained. Schema check: map keys must match turn indices in [CONVERSATION_LOG]. Missing source for a claim-bearing turn is a validation failure.

[CLAIM_EXTRACTION_MODE]

Granularity setting for claim decomposition: sentence-level, atomic-fact, or paragraph-level

atomic-fact

Must be one of: sentence-level, atomic-fact, paragraph-level. Default to atomic-fact if unspecified. Enum check required before audit run. Atomic-fact mode increases false-positive rate on stylistic variation; paragraph-level mode risks missing embedded unsupported claims.

[ACCUMULATION_WINDOW]

Number of preceding turns to check for claim propagation when tracking hallucination spread

3

Integer >= 1. Window of 1 checks only immediate prior turn. Window equal to full conversation length checks all prior turns. Larger windows increase latency and token cost. Validate as positive integer; reject if window exceeds conversation length.

[GROUNDEDNESS_THRESHOLD]

Minimum per-claim groundedness score below which a claim is flagged as unsupported

0.7

Float between 0.0 and 1.0. Lower threshold reduces false positives but misses subtle fabrications. Higher threshold increases sensitivity but flags legitimate paraphrasing. Calibrate against human-annotated dataset before production use. Schema check: reject values outside [0.0, 1.0].

[PROPAGATION_SEVERITY_LEVELS]

Custom severity labels for classifying how far a hallucination spreads across turns

["contained", "partial_spread", "full_contamination"]

Must be a non-empty array of strings. Default: ["none", "adjacent", "cascading"]. Labels are used in output log severity column. Validate array length >= 2. Custom labels must be documented in eval rubric for scorer alignment.

[OUTPUT_SCHEMA]

Expected structure for the turn-by-turn hallucination log output

JSON array with fields: turn_index, claim_text, source_match_found, groundedness_score, propagated_from_turn, severity, evidence_citation

Must define field names, types, and required flags. Schema check: validate output against this schema post-generation. Required fields: turn_index (int), claim_text (string), source_match_found (boolean), groundedness_score (float). Optional: propagated_from_turn (int|null), severity (string), evidence_citation (string).

[ABSTENTION_POLICY]

Rule for handling assistant turns that decline to answer or express uncertainty

flag_as_neutral

Must be one of: flag_as_neutral, exclude_from_scoring, treat_as_unsupported. flag_as_neutral records the turn but assigns no groundedness score. exclude_from_scoring removes the turn from accumulation tracking. treat_as_unsupported marks all claims in the turn as unsupported. Approval required if policy changes between audit runs.

PROMPT PLAYBOOK

Implementation Harness Notes

How to wire the multi-turn hallucination audit prompt into a production evaluation pipeline.

This prompt is designed to operate as a batch evaluation job, not a real-time chat interceptor. You feed it a complete conversation transcript and the corresponding source evidence for each assistant turn, and it returns a structured audit log. The primary integration point is your existing evaluation runner (e.g., a CI/CD pipeline, a nightly eval job, or a manual QA tool). The harness must enforce that source evidence is provided per turn; without it, the prompt cannot distinguish between a well-grounded claim and a fluent hallucination.

Input assembly is the most critical harness step. Before calling the model, construct a JSON object that pairs each assistant turn index with its [TURN_EVIDENCE]—the exact retrieved chunks, documents, or API responses available when that turn was generated. If your RAG system logs retrieval results per request, join them on turn_id. If not, you must replay retrievals or extract source metadata from the original generation logs. The harness should validate that every assistant turn in [CONVERSATION_TRANSCRIPT] has a corresponding evidence entry. Missing evidence for a turn should either skip that turn's audit or mark it as unevaluable rather than silently passing it.

Output validation must happen before results are trusted. The prompt returns a JSON object with a turn_audits array. Your harness should validate: (1) every turn index in the transcript appears exactly once, (2) each propagated_claims entry references a valid source turn index that is earlier than the current turn, (3) cumulative_groundedness_score values fall within the declared range, and (4) unsupported_claims arrays contain non-empty evidence_gap descriptions when a claim is flagged. Schema validation alone is insufficient—you need semantic checks. If validation fails, retry once with the validation errors injected into [CONSTRAINTS]. If it fails again, log the raw output and alert a human reviewer.

Model choice matters for this task. The prompt requires cross-turn reasoning, claim tracing, and structured output generation. Use a model with strong instruction-following and long-context handling (e.g., Claude 3.5 Sonnet, GPT-4o). Avoid smaller or older models that struggle with multi-hop reasoning across long transcripts. Set temperature to 0 or near-zero to minimize variance in audit results. If your conversation exceeds the model's context window, split it into overlapping windows of N turns and run the audit per window, then merge results with a deduplication step for claims that span window boundaries.

Logging and observability are essential because this prompt produces evidence used to gate releases or flag regressions. Log the full prompt payload (transcript + evidence), the raw model response, the validated output, and any validation errors. Store these alongside the conversation's session_id and the prompt version. This audit trail lets you debug disagreements between the LLM judge and human reviewers, and it provides the evidence needed to improve the prompt over time. If you're running this in a CI/CD pipeline, treat audit failures as blocking regressions only after confirming they are not false positives from ambiguous source material. Start with a shadow mode deployment where audits run without blocking, then promote to a gate after calibrating against human judgments on at least 50 conversations.

PRACTICAL GUARDRAILS

Common Failure Modes

Multi-turn hallucination audits are brittle. These are the most common failure modes when tracking factual drift across conversation turns, with concrete mitigations to keep your audit pipeline trustworthy.

01

Source-Context Mismatch Drift

What to watch: The evaluator hallucinates by judging a response against the wrong turn's source evidence, producing false unsupported-claim flags. This happens when turn indexing is off-by-one or context windows overflow. Guardrail: Prepend each source block with an explicit [TURN_ID: N] marker and validate in your harness that the judge references the correct turn ID before scoring.

02

Cumulative Claim Propagation Blindness

What to watch: A hallucination introduced in Turn 3 is repeated verbatim in Turn 5. The judge scores Turn 5 as grounded because the claim appears in the conversation history, forgetting that the original source never supported it. Guardrail: Instruct the judge to compare each claim only against the provided source evidence for that turn, explicitly ignoring prior assistant responses as evidence. Add a 'propagated_claim' flag in the output schema.

03

Long-Context Attention Decay

What to watch: In sessions exceeding 8-10 turns, the judge's attention to early-turn source blocks degrades, causing false negatives where early hallucinations are missed. Guardrail: Chunk the audit into overlapping windows of 4-6 turns. Run the prompt per window, then merge results. For critical applications, run a secondary pass that only audits the first and last two turns against their respective sources.

04

Implicit Claim Omission

What to watch: The assistant makes a claim that is factually consistent with the source but adds a reasonable-sounding detail not present in the evidence. The judge marks it as grounded because it 'fits' the context. Guardrail: Add a strict instruction: 'A claim is grounded ONLY if it is directly stated in or logically entailed by the provided source text. Plausible but absent details must be flagged as unsupported.' Include a few-shot example of a plausible-but-unsupported claim.

05

Score Aggregation Masking

What to watch: A session-level average groundedness score looks acceptable (e.g., 0.85), but one turn has a score of 0.2 where a critical hallucination occurred. The aggregate hides the failure. Guardrail: Never rely solely on the session-level mean. Your harness must emit per-turn scores and trigger an alert if any single turn falls below a defined threshold (e.g., < 0.5). Surface the minimum turn score alongside the average.

06

Evasive Refusal Misclassification

What to watch: When source evidence is missing, the assistant correctly abstains, but the judge misclassifies the abstention as an unsupported claim or penalizes the groundedness score. Guardrail: Add a pre-processing step to detect abstention turns. Exclude them from groundedness scoring or score them separately with a binary 'correct_abstention' check. Provide the judge with an explicit 'ABSTENTION' label option to prevent forced scoring.

IMPLEMENTATION TABLE

Evaluation Rubric

Criteria for testing the Multi-Turn Hallucination Accumulation Audit Prompt before deployment. Each row defines a pass standard, a failure signal, and a concrete test method to validate the prompt's ability to detect and track factual drift across conversation turns.

CriterionPass StandardFailure SignalTest Method

Unsupported Claim Detection

Every claim in [ASSISTANT_RESPONSE] not directly attributable to [SOURCE_EVIDENCE] is flagged in the turn log with an unsupported label.

A hallucinated statistic or entity is present in the assistant response but marked as 'supported' or omitted from the log.

Run the prompt on a golden dataset with 5 known unsupported claims across 3 turns. Assert recall >= 0.95.

Propagation Tracking

An unsupported claim from Turn N that reappears in Turn N+2 is explicitly linked back to its origin turn in the audit log.

The audit log treats the repeated hallucination as a new, independent error without a propagation link.

Inject a hallucination in Turn 2 and have the assistant repeat it in Turn 4. Check that the Turn 4 log entry includes a 'propagated_from' field referencing Turn 2.

Cumulative Groundedness Score

The session-level score decreases monotonically as unsupported claims accumulate and are propagated.

The session-level score remains flat or increases after a turn with a known hallucination.

Simulate a 5-turn conversation. Introduce 1 new hallucination in Turn 2 and propagate it in Turn 4. Assert that the score at Turn 4 is strictly less than the score at Turn 1.

Source Evidence Adherence

The audit log only uses the provided [SOURCE_EVIDENCE] for verification and never cites external knowledge.

The log cites a fact as 'supported' based on general world knowledge not present in [SOURCE_EVIDENCE].

Provide source evidence that contradicts a common fact. Verify the prompt marks the common fact as unsupported if the assistant states it.

Turn Indexing Accuracy

Every flagged claim in the audit log is mapped to the correct turn index from the conversation.

A hallucination from Turn 3 is incorrectly logged under Turn 2 or Turn 4.

Parse the JSON output and cross-reference the 'turn_index' field for each claim against the input conversation turns. Assert exact match for all entries.

Output Schema Validity

The output is valid JSON matching the [OUTPUT_SCHEMA] with all required fields present and correctly typed.

The output is missing the 'propagation_links' array or the 'cumulative_score' field is a string instead of a float.

Validate the raw output against the JSON Schema using a programmatic validator. Assert no validation errors.

False Positive Rate on Grounded Turns

A turn where all assistant claims are directly supported by [SOURCE_EVIDENCE] produces an empty claim log for that turn.

A fully grounded turn generates a false positive flag for a claim that is a verbatim quote from the source.

Run the prompt on a 3-turn conversation where every assistant statement is a direct quote. Assert that the 'unsupported_claims' array for each turn is empty.

Abstention on Missing Evidence

If [SOURCE_EVIDENCE] is empty or null for a turn, the audit log marks all factual claims in that turn as unevaluable rather than supported or unsupported.

The log defaults to marking all claims as 'supported' or 'unsupported' when no evidence is provided.

Pass a turn with an empty [SOURCE_EVIDENCE] array. Assert that the 'verification_status' for all claims is 'unevaluable' and not 'supported' or 'unsupported'.

ADAPTATION OPTIONS

Adapt This Prompt

How to adapt

Start with the base prompt and a single conversation log. Use a frontier model (GPT-4o, Claude 3.5 Sonnet) with default temperature. Feed source evidence per turn as plain text blocks labeled [TURN_N_SOURCE]. Skip schema enforcement initially—just verify the model returns a turn-by-turn breakdown with hallucination flags.

Watch for

  • The model summarizing instead of auditing turn-by-turn
  • Missed propagation chains where a hallucination in turn 2 reappears in turn 5
  • Overly verbose justifications that bury the actual unsupported claim
  • No cumulative groundedness score at the session level
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.