方法 / 有版本可循,并不神秘
评估方法与局限性
本地预览——Hanah 病历于 2026 年 10 月 11 日使用 GPT-6.1 Sol(低推理强度)重新生成:10 场问诊共 50 份病历,每场使用五个已存储的转录稿版本。另有两场问诊尚待生成新的 Hanah 病历。WER 和转录相关证据保留原始采集日期;其他记录员保留现有结果。新病历由 Sonnet 5.5(中等推理强度)进行盲评,随后进行非盲的智能体审核;结果为暂定,未经独立临床医生验证。Hanah 的用时为估算值:按指令生成病历的等待时间采用实测的 API 生成时长加 2 秒就绪余量;病历定稿用时在此基础上加上估算的审阅和修正时间。两者均不含转录定稿和应用开销,有待实际重新运行。
每个数字都需要定义。每项比较都需要相同的输入。以下是本期测量的内容,以及它无法证明的内容。
用户体验
我们不测试用户体验。就我们所见,各款 AI 医疗记录员在这方面大同小异:按下录音,进行问诊,得到病历。真正让它们拉开差距的,是人们购买它们的目的,因此我们客观测量的正是这些:每款记录员听取问诊内容的准确程度、其病历的准确性和完整性,以及得到一份可以定稿的病历需要多长时间。
真实的产品体验
我们通过由 Playwright 控制的可见 Chromium 浏览器重放同一段音频。每次采集都使用一份已登录配置文件的独立副本。音频由共享测试框架统一处理为 44.1 kHz 单声道 PCM,开头留有一秒静音,结尾留有十秒静音。这是输入产品的麦克风信号;它并不决定产品向其服务器发送音频时使用的编解码器。
测试框架记录可见的转录稿变化、最终转录稿、生成的病历、界面事件以及整个会话的网络总量。它不录制视频。需要选择语言的产品会在录音前完成配置;不支持的组合则予以排除。
每个场景多轮运行
由于同一场景数据在不同轮次之间存在差异,我们对每个场景运行了多次。每款记录员对其参与的每场问诊都运行了五次。每个数字都是各轮的平均值,点击每个单元格都会打开一张图表,每一轮对应一个点。
Lyrebird 不支持法语病例,因此按其支持的病例评分。有一次采集在产品内部失败(PatientNotes);该轮按已完成的病例取平均值。
最终转录稿
词错误率(WER)等于替换、删除与插入的词数之和除以参考词数,并在一轮内的所有病例中合并计算。越低越好。我们会等待产品的定稿控件就绪、转录稿稳定后再采集文本。
等价的数字(如“ten”和“10”)视为同一个词,病例页面也不会将其高亮。缩写形式仍按字面差异计算。印地语采用一套有文档说明的书写体系等价规则。
词错误率对每个词一视同仁,因此我们还统计重大转录错误。将每份转录稿与参考转录稿比较,剔除仅涉及语气词或虚词的差异,再由一位盲评评分者判断剩余的每一处差异:它是否可能改变诊断、治疗、随访、安全性或病案记录?错误的药物、剂量、数字、侧别以及被颠倒的否定通常属于此类。拼写、转述以及被照写出来的口述指令则不属于此类。相同的差异无论出现在何处,都给予相同的评定。
经过校正的原始材料
如果原始转录稿与录音中实际所说的内容不符,我们会加以校正,所有记录员都以同一份校正后的文本为评分依据。评分前会删除“period”(句号)和“next paragraph”(下一段)等口述语音指令。
病历盲评
每份病历都由一个 AI 评审团(Claude 子智能体)评分至少 5 次。同一场问诊的病历被打乱后分装成标记为 A 至 G 的评审包,每份病历的上下文完全相同。
每场问诊都有一份事实清单,列出问诊中所说的、与患者病情、症状或体征相关的每一项事实,这正是 Weiner 等(2020)将医生病历与就诊录音进行比较时采用的标准。每项事实是一个临床要点:症状及其细节、有意义的阴性表现、病史、用药、口头说出的查体结果、评估和计划。每场问诊有 12 至 45 项事实,共计 358 项。诊断只有在临床医生说出时才计入;记录员不应自行作出诊断。无关紧要的情况(例如药品在哪里购买)不计入;具有临床意义的细节(例如呕吐物的颜色或疼痛的侧别)则保留。这些清单由 AI 仅根据参考转录稿起草,起草时未看过任何病历,每项事实都引用了其出处的原句。
评审团将每项事实标记为完整、部分或遗漏。随后由另一轮独立的盲评标记病历中记录了、但问诊内容并不支持的每一个临床要素:从未提及、或所说内容与之不同(数值、侧别、剂量、时间或人物错误,或将一种可能性写成事实)的症状、阴性表现、病史条目、用药、剂量、查体结果、诊断或计划条目。这些就是 Weiner 等所说的作为性错误,每一个都是一个幻觉标记,并附有理由。对所说内容的转述以及相应的临床术语不计入。每一项遗漏或部分记录的事实都是一个病历错误,每一个幻觉标记也是。与 Weiner 等相同,写错的细节计两次:一次作为缺失的正确事实,一次作为幻觉标记。我们没有单独的严重程度评级:按清单的构建方式,清单上的每一项事实都很重要。
2026-09-25 之前,病历是对照每场问诊 13 至 16 项关键事实的核对表评分的,并由另一位评分者单独判断每个错误的严重程度。核对表限制了一份病历最多可能出现的遗漏数,因此我们用完整的事实清单取代了这两者。每款记录员的错误数都上升了两到三倍;排名顺序几乎没有变化。重大转录错误仍采用严重程度评定。这些都是 AI 评审。它们不是独立的临床医生验证,也不能证明临床安全性。
审阅时间
审阅时间估算的是临床医生使每份病历达到可安全定稿状态所需的时间:
- 以每分钟 190 词的速度通读整份病历;
- 每个遗漏或部分记录的事实,回忆用时 5 秒,然后以每分钟 40 词的速度输入(部分记录的事实只需输入一半);
- 每个幻觉标记,核查并删除用时 12 秒。如果某个幻觉标记把清单中的某项事实写错了,除了重新输入该事实之外,还要另计这 12 秒。
格式修正不计入,因为每款记录员都能很好地遵循格式指令。等待病历生成的时间也不计入,因为临床医生通常在当天晚些时候才审阅病历。下文的病历定稿用时则计入了等待时间。
节省的时间
节省的时间将审阅时间与亲自撰写同一份病历的时间进行比较。亲自撰写的时间取 8.1 分钟,即 Apathy 等(2023)中 203,728 名美国门诊医生每次就诊主动撰写病历时间的中位数。已发表的研究根据专科和工作流程的不同,给出的数值为 6–10 分钟;我们采用中位数,即两个集中趋势数值中较低的一个。
节省的时间等于 8.1 分钟减去该病历的审阅时间。所有记录员使用同一基线,因此记录员只有在所需审阅更少时才能节省更多时间。
比亲自撰写更快
“比亲自撰写更快”将节省的时间表示为亲自撰写病历所需时间的比例:1 减去审阅时间除以撰写时间。60% 意味着审阅和修正病历所需时间是撰写时间的 40%。负值则意味着修正病历比撰写病历耗时更长。每份病历单独计分,然后在一轮内取平均值。
病历定稿用时
病历定稿用时是从按下停止到被评分病历就绪的等待时间,加上其审阅时间。它对应的是临床医生在每次问诊结束后立即审阅病历的情形。如果两位患者之间的间隔长于这个时间,病历就能在下一位患者进来之前定稿。对于按默认病历评分的记录员,等待时间计到默认病历就绪为止。与“停止至按指令生成病历”一样,它只使用生产环境轮次。
无需修改即可定稿的病历
如果评审团将清单中的每一项事实都标记为完整记录,并且没有发现任何幻觉标记,因而无需任何编辑,这份病历即为无需修改即可定稿。与审阅时间一样,格式不计入。每款记录员的数值是其病历中符合这一条件的比例。
编辑工作量
编辑工作量表示无论病历长短,临床医生仍需修正病历的多大部分。0% 表示无需编辑。100% 表示亲自撰写整份病历。
每项修正按所需工作量加权:
- 部分记录的事实,计 1:只需修改;
- 遗漏的事实,计 2:需要回忆并写出;
- 幻觉标记,计 3:需要发现、核查并删除;
- 记录错误的事实,再加 2:在修正之前,需要先发现并核查错误的版本。
将一份病历的各项权重相加,再除以亲自撰写的分值,即该问诊清单上每项事实计 2。幻觉可能使一份病历超过 100%。
进入病案记录的错误
这是对临床医生审阅病历之后,仍会留在病案记录中的病历错误(Weiner 等标准)数量的估算。它将每款记录员每份病历的病历错误数乘以 70%。
70% 这一数值来自 Biro 等(2025)。二十位基层医疗全科医生审阅了 AI 起草的患者消息回复,其中四份被预埋了错误。每个错误在 20 位全科医生中有 13 至 15 位未予纠正,即 65–75% 的审阅者漏掉了它。我们取中间值,即 20 位中的 14 位。
这是估算,而非测量。Biro 等研究的是对患者消息的回复,而不是问诊病历,而且审阅习惯因人而异。每款记录员都适用同一比率,因此它不会改变记录员之间的排序或差距;它的作用是把草稿中的错误换算为一次典型审阅会放过的错误。该数值在所有已评分病历中合并计算;范围是每一轮的同一数值。
医生亲自撰写的病历
医生一栏显示的是医生亲自撰写病历的情况,数据来自已发表的研究,而非我们自己的评分。
- 错误:Weiner 等(2020)将 105 份医生病历与标准化病人就诊的秘密录音进行了比较。他们发现每份病历有 6.1 个错误,其中 5.0 个符合其标准(他们称之为具有临床意义);72% 为遗漏,每份病历有 1.7 项记录了但并未发生的内容。90% 的病历至少有一个错误。我们的清单在哪些事实应计入方面采用相同的标准。表格中的每轮数据为每份病历数值 × 11 场问诊。
- 用时:Apathy 等(2023)测得 203,728 名美国门诊医生每次就诊主动撰写病历时间的中位数为 8.1 分钟(平均值 9.1)。这同一个 8.1 分钟也是“节省的时间”中亲自撰写的基线,核心对比表则将每款记录员的病历定稿用时表示为它的比例。
- **无需修改即可定稿:**Weiner 等发现 90% 的病历至少有一个错误,因此 10% 的医生亲自撰写的病历可以无需修改直接通过。编辑工作量按定义为 100%:由医生撰写整份病历。
**这些数据并非同等条件下的比较,而且差异对医生有利。**记录员是对照我们的事实清单评分的,每项事实对应一个临床要点,部分记录也计为错误;Weiner 等在真实门诊病历中统计的是更粗的要素。我们的测试是两者中更严格的一个:按我们的方法评分,六份医生病历(见下文)每份有 26 个错误,而 Weiner 等的数据为 5.0 个。有一处差异是有意为之:Weiner 等未计入病历中记录的查体结果,因为录音无法显示医生是否为患者做了检查。这一理由不适用于记录员,因为记录员只知道问诊中说了什么,所以记录员病历中出现、但问诊中从未提及的查体结果会被计为幻觉标记。真正公正的比较,应由独立的临床医生为我们的十二场问诊撰写病历,并与记录员一起接受盲评。我们尚未进行这项工作;在完成之前,请将医生一栏视为一个已发表的参考点,而不是本基准测试的结果。
“错误较医生亲自撰写的病历减少”等于 100% 减去每款记录员每份病历错误数占 Weiner 等 5.0 个的比例,在所有已评分病历中合并计算;100% 表示没有错误。范围是每一轮的同一数值。
这是将审阅前的记录员病历与医生归档时的病历进行比较,而后者无人审阅。审阅也并不是兜住记录员错误的可靠安全网:在 Biro 等(2025)的研究中,20 位基层医疗医生审阅了 AI 起草的患者消息回复,每个预埋错误都有 13 至 15 位医生未予纠正。在含有错误的草稿中,35–45% 未经编辑就被发送了。
**我们自己的核查。**十二场问诊中有八场来自 PriMock57,该数据集公开了接诊医生当时撰写的病历(七位 Babylon 全科医生,10 分钟的模拟视频问诊,病历为现场输入,未经审阅即发布)。对于前六场,我们把每位医生的病历混入该病例的记录员病历中,并对照同一份清单进行盲评。医生病历平均每份 26 个错误,大多为遗漏,没有一份没有错误。在同样这六场问诊中,各款记录员的平均错误数为 4.3(Hanah)至 19.7(PatientNotes)。这只是六份简短的病历,因此我们不将其作为医生错误率发布;它是一项同等条件下的核查,表明在相同的问诊中,每款记录员病历的错误都少于医生自己的病历。
正面对决
正面对决在每项指标上比较两款记录员。比分下方的四项要点各使用一个指标,因此不会重复计算任何差距:词错误率(转录)、幻觉标记、病历错误(Weiner 等标准,病历准确性)和完成病历用时。每项差距是表现更好的记录员在该项上少了多少:(较差值 − 较好值)÷ 较差值。
“加权后领先”是各项差距的简单平均值,权重相同,持平计为 0%。这是一个近似的总结:选择这四项指标并赋予相同权重是基于汇总结果,而且一个很大的差距最多只计为 100%。
正面对决默认显示按此加权领先的两款记录员:每款记录员都与其他每款进行比较,显示一对一胜场最多的两款,若持平则以累计差值决定。
病历与用时
凡是接受病历指令的记录员,都通过其自身界面收到了以下同一条指令:
Write SOAP notes using the headings Subjective, Objective, Assessment, and Plan. Use bullet points in every section and concise clinical shorthand.
(译文:撰写 SOAP 病历,使用 Subjective、Objective、Assessment 和 Plan 作为标题。每个部分都使用项目符号,并采用简洁的临床速记写法。)
Freed 和 CliniScripts 不以这种方式接受指令,因此按其默认病历评分。凡有按指令生成的病历,“停止至按指令生成病历”仍以该病历计时。
停止至按指令生成病历是每轮中从按下停止到所要求的病历就绪的时间中位数。完成判定包括短暂的界面稳定等待,而且各次采集共用同一台机器和同一网络连接,因此这并不是一项孤立的服务器延迟测试。
带宽消耗
Chromium NetLog 统计的总量包括应用加载、录音、定稿、病历生成和浏览器关闭,也包括 WebSocket 传输。套接字和 UDP 字节事件只计一次;解密后的 HTTP 和 WebSocket 负载不再重复计入。这并非网络运营商计费的流量:不包括数据包头和 TCP 重传。缺失或无效的日志记为不可用,绝不记为零。
可复现性
将全部数据下载为一个 JSON 文件:包含全部 12 场问诊中每一轮的评分、转录稿、错误标记、病历、事实判定和评审团理由。评分本身另有 CSV 文件。原始录音可在各问诊页面播放或下载。身份验证配置文件和原始网络日志不予公开。
查看结果