贯而不破,医路相通
医疗AI正在越来越深地进入真实使用场景。
当它只是回答一道医学问题时,正确率还能提供一个相对清晰的评价。但当AI开始参与患者就医路径、医生临床决策、循证检索和后续行动,评价标准也随之变得复杂:
一次严重的安全错误,能不能被其他维度的高分抵消?一次表现优秀,能不能代表下一次仍然可靠?同一套评分规则,换一个专业、一个使用者,还成立吗?
过去几个月,山甲实验室一直在围绕这些问题调整测评体系。
9月,我们在原有GPT 5.6 Sol评分基础上,引入 DeepSeek V4.1 作为第二个独立裁判Judge。
本轮2C患者端覆盖心内科、儿童口腔两个病例,19组产品/模型、每个场景3轮独立采样;2D医生端同样覆盖两个专科,共16组产品/模型、每个场景3轮采样。
同一份医疗AI回答,交给两个不同的大模型评价,它们会得到多大程度一致的结论?如果结论不同,问题究竟出在被测模型、评分标准,还是Judge本身?
在正式公布9月结果之前,我们先把这一轮怎么测、改了什么,以及正式报告准备重点回答什么,讲清楚。
01
我们具体怎样测AI医疗?
山甲实验室目前从两个真实使用视角评价医疗AI:2C患者端和2D医生端。
2C患者端关注的重点,并不是模型能不能“猜中疾病”,而是普通用户真的按照回答采取行动以后,会发生什么。
因此,我们主要评价风险识别、责任边界和现实可执行性:有没有发现需要及时就医的风险,有没有把尚未确认的判断表达成确定诊断,有没有越过合理的用药与处置边界,以及最终给出的科室、医院和行动路径是否真实可达。
到了2D医生端,任务随之改变。
我们更关注病历事实是否忠实、临床问题是否定位准确、鉴别诊断和检查有没有优先级、循证依据能否核验,以及这份输出能不能真正承接医生下一步工作。
所以2C和2D从一开始就没有使用同一套评价标准。
患者觉得“有帮助”,和医生认为“可以继续拿来工作”,本来就是两个不同的医疗AI任务。
临床评价也不是直接从0到60分线性打分。医疗风险存在明显的非线性:一个足以改变诊疗对象或患者行动的严重错误,不应该因为其他维度表现良好,就在平均分中被稀释。
因此,我们设置了两道安全门槛。
其中,Step-1A是安全红线:如果回答改变了关键患者事实、病变对象、关键诊疗方向或患者安全行为,该轮临床正式分直接归零。
Step-1B则作为风险标签,继续记录尚未达到安全红线、但值得关注的问题,例如题干外事实补写、诊断或处置过度确定、循证证据无法核验或适用性不足等。目前1B只作为风险观察,不再机械参与扣分。
在临床评价之外,我们保留另一条技术量化轨道。两者回答的问题不同。
临床评价更关注“这份回答在真实医疗情境里是否可靠”;技术量化则继续把Prompt要求的信息交付、关键内容覆盖、结构、循证、分层和行动承接等任务拆开,转化成可以重复计算的指标。
最终形成:临床评价60分 + 技术量化40分 = 综合100分。
这套结构并不是一次设计出来的。
连续几个月测下来,我们先后碰到过一些很具体的问题:严重错误可能被平均分掩盖;同一个模型三轮回答可能出现明显波动;一个专科表现不错,并不能直接外推到另一个专业;一个回答临床上方向基本正确,也不意味着它完成了Prompt要求的全部任务。
这些问题逐渐形成了今天的2C/2D、1A/1B、三轮采样、跨专科和临床—技术双轨结构。
到9月,我们开始看另一个变量:评分的裁判本身。
02
从单Judge到双Judge的改变?
开放式医疗回答,很难像一道选择题一样对应唯一标准答案。
同一个合理判断可以有很多种表达方式,而真正影响质量的差异,可能藏在一句过度确定的表述、一个漏掉的风险因素、一条无法核验的文献,甚至一个错误地址中。
因此,LLM-as-a-Judge,让大模型充当评价者,已经成为开放式AI测评的重要方法。
它解决了大规模开放文本很难全部依赖人工逐条评价的问题,但也带来了新的测量问题:Judge本身会不会有偏好?
同一句话,GPT认为是合理推断,DeepSeek会不会认为已经越过事实边界?同一个临床风险,一个Judge判Fail,另一个会不会放行?
所以9月我们保留GPT原有评分,又让DeepSeek V4.1独立完成一次评价。
这里需要说明的是:增加第二个Judge,并不是简单把两个分数平均以后,就宣称结果变得“更客观”。
我们更希望观察的是,两位Judge在哪里一致、在哪里分歧,以及分歧最终会不会影响安全判断和排名。
临床评价中,如果两个Judge对Step-1A判断一致,六个临床维度逐项取两者均分;如果一个Pass、一个Fail,则进入医生专家复核。专家首先确定最终1A结论,再采用与最终判断一致的Judge整套维度评分。
1B则采用风险优先原则:任一Judge触发,即保留为最终风险标签。
这里医生承担的也不是重新为所有回答逐项打分,而是把有限的临床专家注意力集中到关键安全分歧上。
技术轨道则由GPT和DeepSeek分别完成评价,统一量纲以后等权平均,形成最终技术分/40,再与临床正式分/60合成综合结果。
但双Judge同样不是终点。
如果一个产品突然得到极端低分,首先需要确认的并不只是“它为什么这么差”,还包括:评分器有没有正确读取原始回答?英语输出、Markdown结构、文本分区有没有被正确解析?低分来自内容缺失,还是评分管线没有识别出已经存在的内容?
模型可以因为没有完成任务而失分,但不能因为测量工具没有读懂它而失分。
这也是9月方法上的另一个变化:被测AI在接受测评,Judge和评分管线也开始进入测评范围。
03
怎么看待测评结果?
历月测评排名演进图 来源:穿三甲研究院
9月正式报告会从几个不同层面拆解结果。
首先仍然是综合表现,但会同时拆开分数构成。
每个产品最终的100分由临床60分和技术40分组成。我们会同时展示综合排名,以及同一个模型在临床轨和技术轨上的位置。
一个产品可能临床表现较强,却没有完整完成技术任务;另一个产品可能结构化交付很好,但在事实边界或安全判断上出现问题。
这两种情况不应该被一个总分完全遮住。正式报告因此会把”得多少分”和“分从哪里来”同时呈现。正式图表也会分别展示综合得分构成,以及临床、技术两条轨道的排名差异。
第二,我们会单独看安全表现。
Step-1A和Step-1B不会只作为总分计算过程中的一个隐藏变量,而会单独统计两个Judge以及最终采用结果的Pass/Fail情况。
更重要的是,我们会继续看这些Fail具体是什么。是改变了题干事实?把不确定判断提前闭合?给出了可能改变患者行动的危险建议?还是证据本身无法核验?
对于医疗AI来说,不同失败模式的意义远远不只是“都扣了几分”。
第三是三轮采样中的稳定性。
每个产品保留3轮独立回答,不是为了单纯把样本量乘三,而是为了观察表现能不能复现。
一个平均分不错的模型,如果三轮之间波动很大,和三轮都维持在相近水平的模型,实际使用体验并不相同。
因此正式报告会同时观察三轮得分范围,以及同一轮中两个Judge之间的评分距离。
第四是跨专科表现。
本轮仍然同时保留心内科和儿童口腔病例,两科独立评分后再进入联合结果。
我们不会因为一个产品在某一专科取得较高成绩,就直接外推成整体“医疗能力”。正式报告会保留分科临床六维、分科技术结果和联合排名,让读者看到:
同一个模型换一个专业以后,哪些能力保持稳定,哪些能力会明显变化。
甚至相同的维度编号,在不同专业下也可能代表完全不同的任务,所以不会跨专科直接把维度机械平均。正式报告中,临床六维和技术雷达都将按照心内、儿口分别呈现。 PP图表制作要求说明
第五,也是9月新增的重点:Judge之间到底差在哪里。
除了最终双Judge平均分,我们会单独看同一模型在两个Judge下的评分距离,并区分临床与技术。
这里的目标不是判断“GPT和DeepSeek谁更会打分”,而是开始建立一套对Judge本身的认识:
哪些任务容易达成共识,哪些任务存在较大的解释空间;哪些差异可能来自Judge的严格程度,哪些可能暴露评分标准本身还不够清楚。
我们希望最终回答的不只是:谁得分更高?还包括:
为什么高,为什么低;哪里稳定,哪里有风险;哪些差异来自产品,哪些差异可能来自Judge和评分工具本身。
写在最后:
医疗AI迭代得越来越快,测评方法也不应该被当成一套固定不变的标准答案。
9月,我们没有急着增加更多病例,而是先重新检查已有测评链路中的一个重要变量:Judge。
哪些结论足够稳定,哪些仍然存在分歧;哪些问题真正属于被测产品,哪些异常来自测量工具,都应该在正式报告里尽可能区分清楚。
把结果公开,也把得到结果的方法、分歧和边界公开。
山甲实验室9月AI医疗测评结果,即将发布。