大模型明明答对了,成绩单上却是零分——多半是栽在输出解析这一关。输出解析对分数的影响,长期被低估:答案抽取规则、格式容错、解析失败的兜底,每一样都在暗中改写分数。这篇把判分前这道隐蔽工序讲透。
分数背后还有一道解析关
模型输出是自由文本,判分器要的是结构化答案,中间隔着解析器:定位答案区、剥掉装饰字符、归一化写法。进来的是一大段回答,发生的是抽取与规整,出去的是待比对的候选答案。解析器每多一条规则,就多一个出错点;每错一次,一道对的题就变成错的。
解析器的开发顺序也影响质量:先跑模型收集输出样本,归纳真实分布后再写规则,比先凭想象写规则再修补高效得多。输出样本攒到几千条,常见写法基本穷尽,规则覆盖率有据可依。上线后持续收集未命中样本,定期回灌进规则迭代。这条先看数据再定规则的路径看似绕远,实际返工次数最少,是解析环节省力的关键。样本收集要覆盖不同任务类型,单一来源的规则泛化性差;解析器也要有版本号,与题目、判分配置一起纳入版本管理。三者对齐了,成绩单才经得起回放检验。解析这块拼图补齐之后,分数的含金量才谈得上经得起推敲,读者引用时也更有底气。
抽取失败的几种典型
常见四类:答案藏在句中没定位到、单位写法不一致、列表套列表时层级抓错、长推理后结论换了说法。数学与代码任务是重灾区,DeepSeek 的开源评测脚本里专门维护着一套归一化规则,注释里记录了大量踩坑案例,值得翻看。解析失败与提示词设计直接相关,模板改进见提示词影响。
| 失败类型 | 典型表现 | 高发任务 | 补什么规则 |
|---|---|---|---|
| 答案藏在句中没定位到 | 回答里明明有正确结论,解析器却没抓到 | 开放问答、长推理 | 先定位答案区,再做归一化 |
| 单位写法不一致 | 答案对,单位换了写法就对不上 | 数学、物理计算 | 单位换算与同义写法归一 |
| 列表套列表时层级抓错 | 该取外层却取了内层,答案张冠李戴 | 结构化输出、多小题 | 按层级解析,别用扁平匹配 |
| 长推理后结论换了说法 | 结论意思对,措辞与标准答案不同 | 长链推理 | 加语义等价判定,人工抽校 |
解析规则要不要公开
要。公开解析规则等于公开判分口径,读者才能判断分数里有多少是模型能力、多少是格式配合。规则不公开的评测,解析误差会混进模型对比里,且无法审计。海螺AI 在内部基准说明里公开过抽取规则片段,这类透明度对建立可信度帮助很大。
解析波动的连带效应
解析不稳定还会污染下游统计:分步给分的任务上,步骤抽取错位会让得分结构失真,见过程分机制;解析差异叠加部署差异,跨环境复现更难,见硬件与跑分关系;反复调解析规则「救分」到一定程度,就该警惕题库本身到顶了,见评测天花板;榜单方如何为解析口径分配权重,延伸看榜单权重设置。
解析错误的归因要单独归档:把解析失败的样本按原因分类——定位失败、格式意外、写法超出规则覆盖,各自统计占比。占比数据直接指导规则迭代的优先级,哪类错误多就先补哪类规则。不分类的失败日志只是堆料,分了类才变成路线图。
还有一种容易被忽略的联动:模型升级后输出风格变化,旧解析规则可能整体失灵。上线新版本模型前,先拿解析器跑一遍小样本回归,确认抽取成功率没有塌方,再进入正式评测。这层预检成本很低,却能避免整轮评测因为解析错位而报废重跑。解析器与模型要当成一对配套件来管理,单独升级任何一方都要回归。
解析环节自查清单
- 抽取规则是否公开可审计?
- 失败样本有没有留档分析?
- 归一化规则覆盖了哪些写法?
- 解析错误率是否随成绩公布?
关于输出解析,问得最多的三个
- 解析失败算模型错吗?:严格说不算,但成绩单上无从区分,所以要单独统计解析错误率。
- 让模型按固定格式输出能根治吗?:能大幅减少,但长回答里仍会跑偏,兜底规则不能省。
- 解析规则改了旧分数还能比吗?:不能直接比,要同口径重跑一轮才有可比性。


