公众号文章系列 · 17 · 评测三部曲 · 第一篇

你的 demo 在骗你
一场 6 家 STT 的横评

六家统计打平;念哲学书 0.97,念订单号就崩
Author姚光华 Colin
Role声网 ConvoAI 产品负责人
一手源Braintrust · Jess Wang · 2026-07-09
Date2026.07
17
上一个系列讲「胜负手在架构」。但有个问题它没正面回答:架构好不好,谁说了算?
说了算的,是评测 Eval。所以这个新系列讲评测 —— 怎么给一个语音 Agent 打分,
打分这件事里埋了多少坑,以及为什么我认为,评测能力本身正在变成被低估的资产。
素材 · 一场受控横评03
Braintrust · Jess Wang · 2026 年 7 月 9 日

一场刚出炉的受控横评

SETUP 6 家主流 STT 供应商 240 条音频 8 个内容领域 受控对比 · Braintrust · 2026-07-09 OpenAI gpt-4o-transcribe ElevenLabs scribe_v1 Deepgram nova-3 AssemblyAI universal-2 Google chirp_2 Groq whisper-large-v3(开源) 你能想到的英文世界主流玩家,基本都在
我把它逐段读完 —— 它给我的东西,比结论多得多。
ACT I / V
APART
分岔的地方
一般人测 STT 只问一件事:听对了没有?
这场评测问了两件 —— 第二件,才是这篇文章的全部。
I 分岔的地方II 准确率打平III 编号会崩IV 便宜的解药V 延迟会骗人
ACT I · 分岔的地方05
它问了一个大多数评测不问的问题

从「字」提到「意」

QUESTION 1 · 大多数评测只问这个 听对了没有? 拿转出来的文字和标准答案比,算个词错率 WER,完事 QUESTION 2 · 这场评测多问了一件 就算听错了 —— 有没有改变答案? 喂标准答案的文字稿 喂 STT 转出来的稿 裁判模型判断 这两个答案,意思一样吗? 这一问,把评测的粒度从「字」提到了「意」
「听对了 95%」和「答案还对不对」,是两个问题。
ACT I · 分岔的地方06
评测里的一个真实例子

一个字符,两个世界

标准答案 refund for order INV-4492 approved STT 转写 refund for order INV-4493 approved 逐字去比 95% 都对,词错率低得漂亮 被改掉的 恰好是订单号的最后一位 裁判判定 听起来几乎一样,意思已经完全不一样了 退款批给了另一张订单
裁判判得很准 —— 听起来几乎一样,意思已经完全不一样了:退款批给了另一张订单。
MONEY QUOTE · 01
「听起来几乎一样」和「意思一样」 分岔的地方,就是全部的失败
逐字去比,95% 都对,词错率低得漂亮。但被改掉的那一个字符,
恰好是订单号的最后一位 —— 退款批给了另一张订单。
ACT I · 分岔的地方08
作者把这类案例的分量写成了全文文眼

生意死在第二个问题上

大多数评测
只回答第一个问题
听对了没有?拿转写和标准答案比,算个词错率,完事。
你的生意
死在第二个问题上
就算听错了 —— 这个错,有没有改变下游 LLM 给出的答案?
原文(一手引语):"Those are where 'did it sound almost identical?' and 'did it mean the same?' come apart — the whole failure this post is about."
大多数评测只回答第一个,可你的生意死在第二个上。
ACT II / V
TIE
真正的平局
好,那这六家里,总该有个「更准」的赢家吧?
答案是:没有。
I 分岔的地方II 准确率打平III 编号会崩IV 便宜的解药V 延迟会骗人
ACT II · 准确率打平10
词级相似度 / 关键实体召回 / 答案等价

三个指标,全部重叠

BRAINTRUST The accuracy columns are a real tie, not merely close averages Jess Wang · 2026-07-09
BRAINTRUST every model's 95% CI overlaps every other's on all three metrics 同一篇 · 准确率章节
WORD-LEVEL 五家的词级相似度挤在 1 个百分点以内 词级相似度 / 实体召回 / 答案等价
翻译一下:从统计上讲,没有任何一家的准确率,能和另一家拉开可辨别的差距。
准确率那几列是真正的平局,不是碰巧接近的平均数。
ACT II · 准确率打平11
95% 置信区间互相重叠

六条区间,压在同一段上

95% CI 原文未逐家给出分值,此处仅示意区间重叠 OpenAI ElevenLabs Deepgram AssemblyAI Google Groq 每一家的 95% 置信区间都与其他每一家重叠 三个准确率指标 词级相似度 关键实体召回 答案等价 全部真正平局 不是碰巧接近的平均数
从统计上讲,没有任何一家的准确率,能和另一家拉开可辨别的差距。
ACT II · 准确率打平12
评测特意用英音、美音、澳音各录了一批

口音,基本不构成差异

ACCENT · UK / US / AU 词级相似度 1.3 分之差 英音 / 美音 / 澳音,三种口音各录了一批 关键实体召回 1.4 分之差 基本等于没差 选型会上吵得最凶的,往往就是「哪家识别更准」
三种口音的相似度差 1.3 分,实体召回差 1.4 分 —— 基本等于没差。
MONEY QUOTE · 02
在 2026 年,主流玩家之间 「谁更准」已经问不出差距
我知道这个结果反很多人的常识。选型会上吵得最凶的,往往就是「哪家识别更准」;
厂商官网上最大的字,也是准确率。可这场受控评测说:那个差距,已经不在了。
ACT III / V
TOKENS
编号才是失败模式
评测的 8 个领域里,有一个是专业书籍 —— LibriVox 志愿者朗读的公版书,
里面全是 PARAPHERNALIA、EXTINGUISHED 这种又长又生僻的词。
I 分岔的地方II 准确率打平III 编号会崩IV 便宜的解药V 延迟会骗人
ACT III · 编号会崩15
把「关键实体召回」按内容领域拆开

词再难都能听对,编号一念就崩

内容关键实体召回里面是什么
专业书籍的生僻词~0.97(六家全部)PARAPHERNALIA、EXTINGUISHED
客服的订单号、客户 ID0.59–0.69订单号、客户 ID、发票号
空管的呼号、逐位数字0.28–0.46呼号、字母代码、一位一位念的数字
作者把这条列成了全文第一条 takeaway:"Structured tokens are the failure mode. Ordinary words, even fancy ones, transcribe fine (philosophy ~0.97)."
普通的词,再难、再生僻,STT 都听得对。 订单号、ID、呼号、一位一位念的数字 —— 这些一个字符都不能错的东西,难得多。
0.97
六家模型在「专业书籍」这一桶的成绩,全部 0.97 左右
同样这六家,念客服订单号 0.59–0.69,念空管呼号 0.28–0.46。
这条分布让我想起上个系列第三篇里 Des Traynor 那个数字:真实客服里,「重置密码」这种简单问题只占 0.4%。同一个道理,在语音这层的版本就是 —— demo 里最好念的,恰恰是生产里最不重要的。
ACT III · 编号会崩17
Structured tokens are the failure mode

结构化失败:一个字符都不能错

FAILURE TAXONOMY 客服 0.59–0.69 · 空管 0.28–0.46 STT 听写的两类内容 ORDINARY WORDS 普通的词,再难、再生僻都能听对 PARAPHERNALIA / EXTINGUISHED 0.97 STRUCTURED TOKENS 数字、编号、ID、呼号、专有名词 一个字符都不能错 —— 难得多 0.28–0.69
这不是哪家 ASR 模型笨 —— 这是你的评测集选错了。
ACT III · 编号会崩18
六家都一样,不是随机噪声

错法,也出奇地一致

原文 六家的转写 cust_fail"cust12" Slalom"Shell Oil" BR2207丢了连字符 共同点 一个字符都不能错的东西,最容易错
这不是随机噪声,而是同一种失败模式在不同模型上的重复出现 —— 换一家供应商救不了它。
拿专业书籍的数据集验收,你永远发现不了订单号会崩。
MONEY QUOTE · 03
demo 里最好念的 恰恰是生产里最不重要的 生产里最要命的 恰恰是 demo 最不爱念的
你给客户演示的时候,念一段流畅的话术,识别近乎全对,全场满意。
可用户真打进电话来,他报一个车架号、一个工单编号、一串一位一位念的手机号。
ACT III · 编号会崩20
demo 的分布,不是生产的分布

你以为在选模型,其实在选评测集

DEMO 1% 的难 99% 的简单场景:流畅的话术、干净的录音、念什么对什么 PRODUCTION 用户真打进电话来,他不念话术 —— 他报一个车架号、一个工单编号、一串手机号 我们的一手观察 某头部车企客服的 真实通话里,反复 撞见的就是这件事 最难转对的是那串数字
上个系列第三篇里 Des Traynor 那个数字:真实客服里,「重置密码」这种简单问题只占 0.4%
demo 永远给你看那 99% 的简单场景;可你的用户开口,就是那 1% 的难。
ACT IV / V
CURES
解药出奇地便宜
编号会崩,怎么救?评测试了两招。
两招都成本很低,而且注意 —— 两招都不是「换个更强的模型」。
I 分岔的地方II 准确率打平III 编号会崩IV 便宜的解药V 延迟会骗人
ACT IV · 便宜的解药22
第一招 · 把领域词表喂给它(glossary biasing)

能教规则的,才叫提示

NATURAL LANGUAGE RULE OpenAI / Groq 接受一段自然语言 「客户 ID 长这样:cust_ 后面跟一个词,比如 cust_907」 模型学到的是模式 遇到它从没见过的 cust_fail 也能套上 +3 分 · 统计显著提升(OpenAI / Google) KEYWORD LIST 另一批家接受关键词列表 本质上是一个拼写词典 你列表里没有的词 它一个也救不了 几乎纹丝不动 能教规则的,才叫提示;只能背单词的,那叫词典
差别不在模型强弱,在提示的格式。
ACT IV · 便宜的解药23
第二招 · 转写完,让一个 LLM 校对一遍

带硬规则的校对器

允许的纠正 A 100 → A100 cust 123 → cust_123 绝不允许 A100 → ORD-100 ← 自作聪明的改写
评测真试过不加规则的版本 —— LLM 会把编号「幻觉」成另一个编号。所以校对器必须带硬规则,不能只说「帮我改对」。
在 STT 吐出文字之后,挂一个带硬规则的校对器。
ACT IV · 便宜的解药24
客服场景的关键实体召回

加校对,是每一行的最高分

模型原始喂词表加校对
OpenAI0.6610.7720.789
ElevenLabs0.6780.6780.794
AssemblyAI0.6440.6440.789
Deepgram0.5890.6220.722
连那两家喂词表完全无效的(ElevenLabs、AssemblyAI),靠校对直接跳到 0.79。
「加校对」是每一行的最高分。 为什么对每家都灵?因为它根本不在乎上游是哪家模型产的。
ACT IV · 便宜的解药25
级联模块之间的那道接缝,落的是明文

解药挂在接缝上,不在模型上

STT 明文 · 看得见的文字 LLM 校对器 跑在转写文本上 不在乎上游是哪家 NO SEAM 端到端:接缝焊死了 接缝在,解药就有地方挂 接缝焊死了,这招就没了 今天换供应商,明天换模型 这个校对器一行代码都不用动
原文:"Post-correction runs on transcript text, so it doesn't care which provider produced it."
这就是我在 GPT-Live 那篇里反复讲的事 —— 当时我管它叫「文本缝」。
MONEY QUOTE · 04
接缝在 解药就有地方挂 接缝焊死了 这招就没了
校对跑在转写出来的文本上 —— 所以它根本不在乎,上游是哪家模型产的。
正因为这里过的是看得见的文字,你才能挂上一个跟上游完全解耦的校对器。
ACT V / V
LATENCY
延迟会骗人
既然六家准确率打平,那真正的胜负手是什么?
作者的答案很干脆:速度才是真正的差异化,延迟就是那个 tiebreaker。
I 分岔的地方II 准确率打平III 编号会崩IV 便宜的解药V 延迟会骗人
ACT V · 延迟会骗人28
Speed is the real differentiator

六家延迟,后两行打个问号

模型实测延迟可比吗
OpenAI gpt-4o-transcribe1360ms可比
Google chirp_21460ms可比
ElevenLabs scribe_v11462ms可比
Deepgram nova-31531ms可比
AssemblyAI universal-23347ms?异步接口开销
Groq whisper-large-v34324ms?免费档限流
注意后两行的问号 —— 那两个「慢」的,其实不是模型慢,慢的是排队。
ACT V · 延迟会骗人29
这两个数字量的不是「模型转写要多久」

拆穿:这两个数字作废

WHAT THE NUMBER ACTUALLY MEASURES 原文未给出拆分比例,此处仅示意构成 Groq 4324ms 等待和重试,全被计进了「延迟」 免费档:240 条请求把限流额度撞爆,超额请求被拒,客户端等一会儿再重试 AssemblyAI 3347ms 上传和轮询的开销,全算了进去 异步接口:先把音频传上去,再反复轮询「转好了没」,开销全算了进去 正确读法不是「它们慢」,是这两个数字作废、不可比
作者能把这两个数字拆穿,靠的是 trace 里逐条记录的延迟:一条条看,Groq 的慢不是均匀的慢,是「几条正常、几条暴涨」—— 一眼就是限流的形状。
你踢它的理由是「模型慢」,可数据支持不了这个理由 —— 这两个数字作废
MONEY QUOTE · 05
表格会骗人 逐条的 trace 不会
Groq 的慢不是均匀的慢,是「几条正常、几条暴涨」—— 一眼就是限流的形状。
它在付费档、在流式接口下的真实延迟,这场评测压根没测出来。
ACT V · 延迟会骗人31
真正可比的,是挤在 1.4 秒附近的四家

没有一家全赢

COMPARABLE FOUR 真正可比的,是挤在 1.4 秒附近的四家 1.3s 1.6s OpenAI 1360ms Google 1460ms ElevenLabs 1462ms Deepgram 1531ms OpenAI · 最佳全能 最低实时延迟 + 最好的答案等价 ElevenLabs · 召回最高 关键实体召回全场最高
还有一个细节,只有真做过语音评测的人才懂它的分量:作者把每条音频都挂进了 trace,看到低分点一下就能听原始录音 —— 有几条一听才发现是朗读者念错了,标准答案错了,模型是被冤枉的。
不能听的语音评测,就像不能看现场的判罚。
收尾 · 四条结论32
把这场横评的四个结论排在一起

四条,指向同一件事

01准确率六家统计打平,三个指标上 95% 置信区间互相重叠。
02口音基本不构成差异 —— 相似度差 1.3 分,实体召回差 1.4 分。
03真正崩的订单号、编号、逐位数字 —— structured tokens
04解药词表和校对,全都挂在模型外面、那道落着明文的接缝上。
这四条指向同一件事:你以为你在选模型,其实你在选评测。
该吵的不是「哪家更准」。 该吵的是:我们的评测集里,订单号、证件号这些编号的密度,和真实通话一致吗?
MONEY QUOTE · 06
你以为你在选模型 其实你在选评测
选型会上吵「哪家更准」,吵错了地方 —— 该吵的是:
我们的评测集里,订单号、证件号这些编号的密度,和真实通话一致吗?
收尾 · 一手引语与下一篇34
作者写在第一段的话,放在结尾更重

自己跑一次,别信别人的榜

BENCHMARKS The benchmarks they publish rarely look anything like your actual traffic Jess Wang · 2026-07-09
THE ONLY WAY The only way to know is to run your own eval on audio that resembles what your users will say 同一篇 · 开篇第一段
下一篇 · 评测三部曲第二篇(#18):这一篇说的还只是「一句话」的事。真实的客服是一整段对话 —— 而对话这一层,有一个比「订单号崩了」狠得多的数字:每一轮单独打分,轮轮 100%;整段对话拉出来,任务完成率 0%。
demo 测的是容易,生产收的是难。 中间那道差,就是你上线之后才发现的所有事故。
谢谢

demo 测的是容易
生产收的是难

你以为你在选模型,其实你在选评测
Author姚光华 Colin
一手源Braintrust · Jess Wang · 2026-07-09
已核验6 家 / 240 条音频 / 8 领域 · 表内数字逐字回原文
立场提示Braintrust 是一家做 AI 评测的公司