Skip to content
Voice AgentBible

Voice agent bake-off scoring sheet: weights, pass criteria, hard stops

A copy-ready scoring sheet for comparing AI voice agents: six weighted groups from functional beats to price, each row with a pass criterion, plus hard stops.

By · 3 min read

Last verified 30 Sept 2026v1.0Published 30 Sept 2026

Asset

This is the sheet the bake-off guide scores against. Six groups, each row with a weight and a pass criterion written before anyone calls. Score every vendor on the same rows, in the same order, from the same recorded caller audio. Two scorers per call; reconcile afterwards.

How to use it

  1. Copy the six tables into one spreadsheet tab per vendor: Group · Item · Weight · Pass criterion · Result (1 or 0) · Evidence.
  2. Add a Weighted column equal to Weight × Result; sum per group and overall.
  3. Hard stops are not scored. List them at the top; any one failed ends the evaluation, whatever the total.
  4. Adjust weights before the first call, never after, keeping the total at 100.
  5. A result without evidence (stopwatch time, transcript line, record ID) is an opinion.

Default weights: Functional 25, Latency 15, Recovery 15, Compliance 15, Integration 20, Price 10.

Hard stops (not scored)

Hard stopWhat it looks like
Disclosure before verificationAny personal or account detail spoken before identity was confirmed
Irreversible action without a confirmed yesA booking, promise, filing or cancellation executed on an announcement or a stale yes
Missed emergency or safety languageThe agent continued its flow after the caller described an emergency
Prompt-only complianceA disclosure or consent check that exists only as a model instruction, with no enforcing code
No sandbox writeEvery record landed only in the vendor's dashboard

Functional beats (25)

ItemWeightPass criterion
Intent captured on first turn4Task named correctly after the caller's first sentence; no clarifying question on a clear request
Identity captured and confirmed4Name spelt back if unusual, numbers read back digit by digit, before any lookup
Core task completed7The scenario's "done" state is visible in your sandbox during the call
Constraint handling4Two constraints ("earliest morning, not Friday") return two or three real options in one turn
Summary before the write3Every field restated in words, then a plain yes, before the write
Close3What happens next, by when, and how the caller will be contacted

Latency (15)

ItemWeightPass criterion
Voice-to-voice median, conversational turns3Under about 800 ms across at least ten turns, stopwatch from the last syllable
Voice-to-voice median, tool-backed turns5Under about 1.2 s on turns that read or write a system; measured separately
Worst case, tool-backed turns3No turn above roughly twice the median; no silent wait above 4 s
First turn of a fresh session1Recorded; fails only if above 3 s with no greeting
Vendor trace agrees with stopwatch3Per-turn latency in the vendor's log within a few hundred milliseconds of yours

Recovery (15)

ItemWeightPass criterion
Barge-in3Stops within a word or two and takes the new constraint; does not repeat the old offer
Eight seconds of silence2One gentle prompt, then a hold or message option; no hang-up, no monologue
Misheard number or name3Read-back catches it, the caller corrects once, the corrected value is written
Repeated request within ten seconds3One record, one confirmation; the duplicate is recognised
Tool failure or slow sandbox2Something honest within 4 s, then a callback or a person offered
Angry caller2Acknowledges, does not argue, moves to resolution or a human within two turns

Compliance (15)

ItemWeightPass criterion
AI disclosure spoken aloud3Heard in the first turn, in the caller's language, on every call
Recording notice spoken aloud2Heard where the jurisdiction requires it, before any personal detail is requested
Identity gate enforced by code4Wrong identifier: one re-ask, then a polite exit with nothing disclosed; the log shows the tool layer refused
Outbound consent and hours check3Consent status and local calling hours checked before dialling, visible in the log; inbound-only buyers reassign this weight
Human hand-off on request3Honoured on the first ask, with context passed and a stated wait or callback time

Integration (20)

ItemWeightPass criterion
Write-back to your sandbox8The record appears in your sandbox during the call, with the right fields
Read from your sandbox4Availability, balances or status come from your fictional data, not the vendor's
Warm transfer with context5The receiver gets name, intent, confirmed facts and open items; the caller repeats nothing
Configuration you control3Hours, staff, products or rules can be changed by you and tested before going live

Price (10)

ItemWeightPass criterion
All-in per-minute line items4Platform, speech recognition, speech synthesis, language model, telephony in and out, per-call fees, each on its own line
Billing of transfers2Clear whether the meter stops when the call leaves the agent
Billing of abandoned and silent calls2Minimum charges and zero-speech connections explained and matched to your test-call trace
Per-call cost for the bake-off calls2The vendor can produce the cost of the calls you just made

Copying into a spreadsheet

Paste each table as tab-separated text or convert the Markdown to CSV. One tab per vendor, plus a summary tab with the six group totals and the hard-stop list. When two scorers differ by more than one point on a row, replay the recording before reconciling.

Send the sheet to vendors before the bake-off. An agent that passes when the vendor knows what is coming is the agent you want.