This prompt is designed for a specific verification job: you have an audio transcript containing factual claims made by identifiable speakers, and you have a set of written documents that should contain supporting or contradicting evidence. The prompt's job is to bridge these two formats. It extracts speaker-attributed claims from the transcript, searches the provided document corpus, and returns structured claim-evidence pairs with timestamped citations and mismatch flags. The ideal user is a verification engineer, analyst, or investigator working in domains like legal review, compliance auditing, earnings call analysis, or editorial fact-checking, where spoken statements must be reconciled against a written record of truth.
Prompt
Audio-Transcript-Claim-to-Document-Evidence Matching Prompt

When to Use This Prompt
A practical guide for verification teams who need to check spoken claims in audio transcripts against a corpus of written documents.
This workflow is appropriate when you have a completed transcript and a static, pre-defined document set. It is not suitable for real-time audio processing, for verifying claims against live databases or APIs, or when the transcript quality is too poor to reliably identify speakers and statements. Before using this prompt, you must confirm that your transcript includes speaker diarization and timestamps, and that your document corpus is chunked and indexed for retrieval. The prompt assumes you have already solved the retrieval problem—it focuses on the matching and verification logic, not on search infrastructure. If your documents are not pre-chunked, you will need to add a retrieval step before invoking this prompt, or include the relevant document chunks directly in the [CONTEXT] placeholder.
A critical constraint is that this prompt verifies claims against the provided documents only. It does not assess whether the documents themselves are accurate, authoritative, or complete. If a speaker makes a true claim but the document set lacks the evidence, the prompt will flag it as unsupported—not false. This distinction is essential for audit trails and human review routing. You should pair this prompt with a source authority assessment step if document credibility is in question. Additionally, the prompt flags tone-vs-text sentiment mismatches, which is useful for detecting when a speaker's confident delivery masks a weak evidentiary basis, but this feature should be tested carefully in your domain to avoid over-flagging normal rhetorical patterns.
To get started, prepare your transcript in a structured format with speaker labels and timestamps, assemble your document evidence set, and define your output schema. The prompt template in the next section is copy-ready and uses square-bracket placeholders for all variable inputs. After adapting it, run a small batch of known cases through the prompt and compare the outputs to human-verified ground truth before scaling to production volumes. Pay special attention to speaker disambiguation errors and transcription mistakes, as these cascade directly into false mismatch flags.
Use Case Fit
Where the Audio-Transcript-Claim-to-Document-Evidence Matching Prompt works, where it breaks, and what you must have in place before using it.
Good Fit: Verbatim Claim Checking
Use when: A speaker makes a direct, factual assertion in an audio transcript that can be verified against a written document. Why it works: The prompt excels at aligning timestamped, speaker-attributed quotes with explicit text evidence. Guardrail: Pre-process transcripts to segment by speaker and timestamp before running the matching prompt.
Bad Fit: Sentiment or Opinion Analysis
Avoid when: The goal is to determine if a speaker's tone or opinion is 'correct' rather than verifying a factual claim. Risk: The prompt will hallucinate evidence matches for subjective statements. Guardrail: Route opinion and sentiment tasks to a separate classification prompt before any evidence-matching step.
Required Inputs: Clean Speaker Diarization
Risk: The prompt cannot reliably attribute claims if speaker labels are missing, inconsistent, or overlapping. Guardrail: Run a diarization pre-processing step. The prompt input must include [SPEAKER_ID], [TIMESTAMP], and [TRANSCRIPT_SEGMENT] as atomic units. Reject transcripts with unknown speaker segments.
Operational Risk: Transcription Error Cascades
Risk: A single word error in the transcript (e.g., 'not' dropped) can invert a claim, causing a false match or a missed contradiction. Guardrail: Implement a pre-flight check that flags low-confidence transcription words. Route segments with below-threshold confidence to human review before evidence matching.
Bad Fit: Long-Form Narrative Synthesis
Avoid when: The task is to summarize a 60-minute podcast against a 50-page report. Risk: The prompt will miss implicit claims and struggle with context window limits, leading to incomplete verification. Guardrail: Decompose the task. Use a prior step to extract atomic claims from the transcript, then batch-process individual claims against chunked document evidence.
Operational Risk: Tone-vs-Text Mismatch
Risk: A speaker's sarcastic or emphatic tone can invert the literal meaning of their words, causing the prompt to match the text but miss the intended claim. Guardrail: The prompt must output a tone_text_alignment_flag for each claim. If a mismatch is detected, escalate the segment for human review regardless of the text-match score.
Copy-Ready Prompt Template
A reusable prompt for matching spoken claims in audio transcripts against written document evidence, with speaker attribution and sentiment mismatch detection.
This template is designed to be copied directly into your prompt management system or codebase. It expects a pre-processed audio transcript with speaker labels and timestamps, along with one or more reference documents that may contain supporting or contradicting evidence. The prompt instructs the model to extract atomic claims from the transcript, search the provided documents for evidence, and return structured claim-evidence pairs with precise citations. Replace every square-bracket placeholder with concrete values before sending the prompt to the model. Do not leave any placeholder unresolved in production requests.
textYou are a verification analyst. Your task is to match factual claims made by speakers in an audio transcript against evidence found in provided reference documents. ## INPUT ### Transcript [TRANSCRIPT] ### Reference Documents [DOCUMENTS] ## INSTRUCTIONS 1. Extract every factual claim from the transcript. A factual claim is a statement that can be verified or contradicted by documentary evidence. Ignore opinions, greetings, filler words, and procedural discussion. 2. For each claim, search the reference documents for evidence that supports, contradicts, or partially addresses the claim. 3. For each claim, produce a structured output record following the schema below. 4. If a claim cannot be matched to any evidence in the provided documents, mark it as UNVERIFIED and explain what evidence would be needed. 5. Pay special attention to tone and sentiment. If a speaker's tone in the transcript (as indicated by [TONE_MARKERS] or context) conflicts with the sentiment of the matching document passage, flag it as a TONE_TEXT_MISMATCH. 6. Use exact speaker labels from the transcript. Do not guess speaker identities. ## OUTPUT SCHEMA Return a JSON array of claim-evidence pairs: [ { "claim_id": "string, unique identifier for this claim", "speaker": "string, speaker label from transcript", "transcript_timestamp_start": "string, HH:MM:SS or seconds", "transcript_timestamp_end": "string, HH:MM:SS or seconds", "claim_text": "string, the exact claim as stated", "verdict": "SUPPORTED | CONTRADICTED | PARTIALLY_SUPPORTED | UNVERIFIED", "evidence": [ { "document_id": "string, identifier for the source document", "document_section": "string, section or paragraph reference", "evidence_text": "string, the relevant passage from the document", "relationship": "SUPPORTS | CONTRADICTS | PARTIALLY_ADDRESSES", "confidence": "HIGH | MEDIUM | LOW" } ], "tone_text_mismatch": { "detected": true | false, "transcript_tone": "string, brief description of speaker tone", "document_tone": "string, brief description of document passage tone", "explanation": "string, why the tones conflict" }, "unverifiable_reason": "string or null, explanation if verdict is UNVERIFIED" } ] ## CONSTRAINTS - Do not fabricate evidence. If a document does not contain relevant information, say so. - Do not merge claims from different speakers into a single record. - Timestamps must be taken directly from the transcript. Do not estimate. - If the transcript contains overlapping speech, note it in the claim_text but attribute to the primary speaker. - [ADDITIONAL_CONSTRAINTS] ## EXAMPLES [FEW_SHOT_EXAMPLES] ## RISK LEVEL [RISK_LEVEL]
Adapt this template by replacing the placeholders with your specific inputs. The [TRANSCRIPT] placeholder should contain the full transcript text with speaker labels and timestamps in a consistent format. The [DOCUMENTS] placeholder should contain one or more reference documents with clear section or paragraph identifiers for citation. If your transcript format includes explicit tone markers, describe them in [TONE_MARKERS]; otherwise, remove that reference. Add any domain-specific constraints to [ADDITIONAL_CONSTRAINTS], such as requiring exact quote matching or setting numerical tolerance windows. Provide 2-4 annotated examples in [FEW_SHOT_EXAMPLES] that demonstrate correct claim extraction, evidence matching, and tone-mismatch flagging for your use case. Set [RISK_LEVEL] to HIGH if the verification output will be used in regulatory, legal, or safety contexts, which should trigger human review of all UNVERIFIED and CONTRADICTED verdicts before the output is accepted.
Prompt Variables
Required inputs for the Audio-Transcript-Claim-to-Document-Evidence Matching Prompt. Each placeholder must be populated before the prompt is assembled and sent. Validation notes describe how to check that the input is fit for purpose.
| Placeholder | Purpose | Example | Validation Notes |
|---|---|---|---|
[TRANSCRIPT_TEXT] | Full text of the audio transcript containing speaker-labeled utterances and timestamps | SPEAKER_1 (00:01:23): The Q3 revenue grew by 12 percent year over year. | Parse check: must contain at least one speaker label and one timestamp. Reject if empty or only contains non-speech markers. |
[DOCUMENT_SET] | Array of reference documents with unique IDs, full text, and metadata to match claims against | [{"doc_id": "DOC-001", "title": "Q3 Earnings Report", "text": "...", "date": "2024-09-30"}] | Schema check: each object must have doc_id and text fields. Reject if text field is empty or doc_id is duplicated across entries. |
[CLAIM_EXTRACTION_RULES] | Instructions defining what constitutes an extractable claim, including atomicity and exclusion criteria | Extract only factual assertions about financial figures, dates, or named entities. Exclude opinions, questions, and filler phrases. | Content check: must specify inclusion and exclusion criteria. Warn if rules are fewer than 20 words or lack explicit exclusion examples. |
[SPEAKER_IDENTITY_MAP] | Mapping of speaker labels to known identities for attribution and disambiguation | {"SPEAKER_1": "CEO Jane Doe", "SPEAKER_2": "CFO John Smith"} | Schema check: must be valid JSON object. Warn if any speaker label in transcript has no mapping entry. Null allowed if speaker identities are unknown. |
[EVIDENCE_MATCHING_THRESHOLD] | Minimum similarity or confidence score required to consider a document passage as supporting or contradicting a claim | 0.75 | Range check: must be a float between 0.0 and 1.0. Default to 0.70 if not provided. Reject if below 0.50 without explicit override justification. |
[SENTIMENT_DELTA_FLAG_THRESHOLD] | Threshold for flagging mismatches between spoken tone sentiment and written document sentiment | 0.30 | Range check: must be a float between 0.0 and 1.0. Represents minimum absolute difference between transcript sentiment score and document sentiment score to trigger a flag. |
[OUTPUT_SCHEMA] | Expected JSON schema for the structured output including claim-evidence pairs, citations, and flags | {"claims": [{"claim_id": "...", "speaker": "...", "timestamp": "...", "claim_text": "...", "evidence": [...]}]} | Schema check: must be valid JSON Schema or example structure. Reject if schema lacks fields for claim_id, evidence, and timestamp. Warn if sentiment_mismatch_flag field is absent. |
[TRANSCRIPTION_CONFIDENCE_DATA] | Optional per-segment or per-word confidence scores from the ASR system to weight claim reliability | [{"segment_id": "seg-01", "confidence": 0.92, "start_ms": 83000, "end_ms": 87500}] | Null allowed. If provided, schema check: each object must have segment_id and confidence fields. Confidence must be float 0.0-1.0. Warn if any segment confidence is below 0.60. |
Implementation Harness Notes
How to wire the Audio-Transcript-Claim-to-Document-Evidence Matching Prompt into a production verification pipeline with validation, retries, and human review.
This prompt is designed as a single step within a larger verification pipeline. It expects pre-processed inputs: a diarized transcript with speaker labels and timestamps, and a set of pre-retrieved document chunks. Do not feed raw audio or an entire document repository directly into this prompt. The upstream harness must handle audio transcription, speaker diarization, document chunking, and initial retrieval. The prompt's job is the precise alignment of spoken claims to text evidence, not retrieval or transcription.
Wire the prompt into an application by constructing a strict JSON request body. The [TRANSCRIPT] placeholder should be a list of speaker-tagged segments with speaker_id, timestamp_start, timestamp_end, and text fields. The [DOCUMENTS] placeholder should be a list of objects with doc_id, title, section, and text fields. The [CLAIMS] placeholder is optional; if omitted, instruct the model to first extract claims from the transcript. Implement a post-processing validation layer that checks every returned claim_evidence_pair for: (1) a non-empty speaker_id, (2) a timestamp_citation that falls within the source segment's boundaries, (3) a doc_citation with a valid doc_id present in the input, and (4) a match_status that is one of supported, contradicted, partially_supported, or unverifiable. Discard or flag any pair that fails validation and log the failure for prompt debugging.
For high-stakes verification (compliance, legal, or audit use cases), route all outputs where match_status is contradicted or unverifiable to a human review queue. Package the original transcript segment, the retrieved document snippet, and the model's reasoning into a structured review task. For tone_vs_text_sentiment_mismatch flags, implement a secondary check: extract the quoted text from the document and run a separate sentiment analysis comparison before surfacing to a reviewer, as tone interpretation is highly subjective. Use a model with strong instruction-following and long-context handling, such as claude-sonnet-4-20250514 or gpt-4o, and set a low temperature (0.0–0.2) to maximize deterministic citation formatting. Implement a retry loop with a maximum of two attempts: if validation fails, re-submit the failed claim with the specific validation error message appended to the [CONSTRAINTS] field, asking the model to correct the citation format.
Common failure modes in production include: (1) transcription errors causing claim text to mismatch document phrasing, leading to false unverifiable results—mitigate by passing a confidence score from your ASR system and lowering the match threshold for low-confidence segments; (2) speaker diarization errors attributing claims to the wrong speaker—log speaker-change boundaries and flag claims near those boundaries for higher scrutiny; (3) the model fabricating document citations that sound plausible but reference non-existent sections—the doc_id and section validation step is critical to catch this. Monitor the rate of validation failures and unverifiable results by speaker and document source to detect upstream data quality issues before they corrupt the verification pipeline.
Expected Output Contract
Define the exact structure, types, and validation rules for the model response. Each row specifies a field, its expected format, whether it is required, and an actionable validation check to apply before accepting the output.
| Field or Element | Type or Format | Required | Validation Rule |
|---|---|---|---|
verification_pairs | Array of objects | Schema check: array length > 0. If empty, retry with lower confidence threshold or escalate for human review. | |
verification_pairs[].speaker_label | String | Regex match against [SPEAKER_X] pattern. If null or empty, flag for speaker-identity disambiguation failure. | |
verification_pairs[].claim_text | String | Non-empty string. Must be a direct quote or close paraphrase from [TRANSCRIPT]. If not found in source, flag as hallucinated claim. | |
verification_pairs[].transcript_timestamp | String (HH:MM:SS) | Regex match for timestamp format. Must correspond to a valid segment in [TRANSCRIPT]. If mismatch, flag as citation error. | |
verification_pairs[].matched_evidence | String or null | If non-null, must be a verbatim snippet from [DOCUMENT]. If null, the evidence_status field must be set to 'UNSUPPORTED'. | |
verification_pairs[].document_citation | String or null | If non-null, must match a section heading, paragraph number, or page reference in [DOCUMENT]. Validate with substring search against the source document. | |
verification_pairs[].evidence_status | Enum: 'SUPPORTED', 'CONTRADICTED', 'UNSUPPORTED' | Enum check. If 'SUPPORTED' or 'CONTRADICTED', matched_evidence must be non-null. If 'UNSUPPORTED', matched_evidence must be null. | |
verification_pairs[].tone_text_mismatch_flag | Boolean | Type check. If true, a human reviewer must confirm whether the transcript's sentiment contradicts the document's textual evidence. Log for sentiment-shift analysis. |
Common Failure Modes
Audio-to-document verification breaks in predictable ways. These are the most common failure modes when matching spoken claims from transcripts against written evidence, with concrete mitigations for each.
Transcription Error Cascades
What to watch: ASR errors on domain terms, proper nouns, or accented speech produce garbled claims that can't match any document. A single mis-transcribed word can invert meaning (e.g., 'not profitable' vs. 'profitable'). Guardrail: Run a pre-check that flags low-confidence transcript spans. Route claims containing low-confidence tokens to human review before evidence matching. Maintain a glossary of domain terms for ASR boosting.
Speaker Identity Disambiguation Failures
What to watch: The prompt attributes a claim to the wrong speaker, then matches it against documents authored by or about a different person. This is especially common with overlapping speech, similar voices, or speaker-label drift in diarization. Guardrail: Include speaker-anchoring context in the prompt (e.g., 'Speaker A is the CFO, Speaker B is the auditor'). When speaker confidence is below threshold, flag the claim as 'speaker-ambiguous' and do not attribute it to a specific document author.
Tone-vs-Text Sentiment Mismatch
What to watch: A speaker's sarcasm, hedging, or emphatic delivery contradicts the literal text. The prompt matches the literal transcript claim to a document, producing a false 'supported' verdict when the speaker actually meant the opposite. Guardrail: Add a sentiment-annotation pass before evidence matching. When transcript sentiment conflicts with literal claim polarity, flag the claim as 'tone-ambiguous' and require human interpretation before final verdict.
Timestamp-to-Document-Section Misalignment
What to watch: The prompt cites a document section that doesn't correspond to the timestamped claim context. A claim at 03:45 about Q2 results gets matched to a document section about Q4, producing a false corroboration. Guardrail: Require the prompt to output both transcript timestamps and document section identifiers. Add a temporal-scope validator that checks whether the cited document section's time range overlaps with the claim's temporal context.
Paraphrase Drift in Claim Extraction
What to watch: The prompt rephrases a spoken claim during extraction, losing qualifiers, hedging language, or numerical precision. The paraphrased claim then matches a document that the original spoken claim would not support. Guardrail: Require verbatim claim extraction with an exact transcript quote before any paraphrase. Match against the verbatim form first. If only the paraphrase matches, flag as 'paraphrase-only match' with lower confidence.
Cross-Talk and Overlapping Speech Contamination
What to watch: Overlapping speech segments produce merged or garbled claims that combine fragments from multiple speakers. The prompt treats the merged text as a single claim and produces nonsensical evidence matches. Guardrail: Pre-process transcripts to mark overlapping segments as 'cross-talk' zones. Exclude claims that span cross-talk boundaries from automated evidence matching. Route them to human review with both speakers' isolated segments when available.
Evaluation Rubric
Criteria for testing the quality of the Audio-Transcript-Claim-to-Document-Evidence Matching Prompt before deployment. Use these standards to build an automated eval harness or guide human QA review.
| Criterion | Pass Standard | Failure Signal | Test Method |
|---|---|---|---|
Claim Extraction Recall | All factual claims spoken by each speaker are extracted, including those hedged or qualified. | A verifiable spoken statement is missing from the output claim list. | Compare output claims against a human-annotated ground-truth claim set for a 2-minute transcript segment. |
Speaker Attribution Accuracy | Every extracted claim is assigned to the correct speaker label from the transcript. | A claim is attributed to [SPEAKER_A] when [SPEAKER_B] spoke it, or speaker labels are conflated. | Run a confusion matrix on speaker-claim pairs against a labeled test set with overlapping speech. |
Evidence Citation Precision | Each matched claim includes a document section reference and a verbatim evidence snippet that directly supports or contradicts the claim. | A citation points to a document section that does not contain the claimed fact, or the snippet is irrelevant. | Manually verify a random sample of 20 claim-evidence pairs for snippet relevance and section accuracy. |
Timestamp Alignment Validity | Every claim includes a start and end timestamp that accurately brackets the spoken words in the audio transcript. | A timestamp covers the wrong speaker turn, truncates the claim, or includes unrelated speech. | Use a forced-alignment tool or manual spot-check to validate timestamp boundaries for 10 claims. |
Tone-vs-Text Sentiment Mismatch Flagging | The output flags cases where the speaker's vocal tone contradicts the literal text of the claim, with a brief explanation. | A clear sarcastic or emotionally incongruent statement is not flagged, or a neutral statement is incorrectly flagged. | Test on a curated set of 15 utterances with known sentiment mismatches (e.g., sarcasm, anger, fear) and check flag presence and explanation quality. |
Unsupported Claim Handling | Claims with no matching evidence in the provided documents are explicitly marked as UNVERIFIED with a null evidence field, not omitted or hallucinated. | An unverifiable claim is either missing from the output or is paired with fabricated or irrelevant evidence. | Provide a document set that intentionally lacks evidence for 30% of claims and verify that those claims are output with UNVERIFIED status. |
Transcription Error Resilience | The output maintains correct claim extraction and attribution when the transcript contains moderate word-error-rate (WER) errors or speaker diarization mistakes. | A minor transcription error causes a claim to be misattributed, semantically inverted, or dropped entirely. | Inject 5 WER of realistic ASR errors into a clean transcript and verify that claim recall and attribution remain above 90% of the clean baseline. |
Output Schema Compliance | The output is valid JSON matching the specified schema with all required fields present and correctly typed. | The output is missing required fields, contains malformed JSON, or uses incorrect data types for evidence objects. | Validate the raw model output against the JSON Schema definition programmatically; reject any response that fails strict parsing. |
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
Use the base prompt with a single model call and simplified output. Remove strict schema enforcement and accept unstructured markdown or bulleted lists. Focus on getting the claim-evidence pairing logic right before adding production constraints.
Watch for
- Speaker attribution drift when transcripts have overlapping speech or poor diarization
- Tone-vs-text sentiment mismatches being missed without explicit comparison instructions
- Transcription errors cascading into false claim extraction (e.g., homophones, domain terminology)
- Model fabricating document evidence when the source document doesn't contain a match

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