用模型当评委时,怎样处理空标签、未知等级和解析失败
用模型当评委时,评委输出也需要验收。返回空标签、未知等级或一句解释,都不能偷偷变成业务题的成功或失败。否则得分变化可能只是评委格式变了,任务模型其实没有变化。应把评委有效性与业务评分分成两层。
发布可检查的评分合同
本文允许标签 pass 与 fail,并要求非空理由及证据标识。先解析 JSON,再校验对象结构、枚举与证据存在性;证据还应对应输入里真实存在的位置。示例只核对给定证据 ID 集合,不声称已自动判断理由是否充分。完整语义评判仍需人工抽查。
Structured Outputs 能约束形状,但拒绝、未完成和客户端错误仍须单独处理。这里的判分标签属于应用合同,不是官方评测产品的默认评分。未知字符串例如 excellent 不自动映射 pass,空白也不能因为没有看到 fail 就被判成功。
得分分母与覆盖率分别报
附件五条合成评委输出只有两条合法,一条 pass、一条 fail;其余分别为空标签、未知标签和非法 JSON。有效评分内通过率为二分之一,评分覆盖率为五分之二。无效三条留在台账里,不进入有效评分分母,也不能从整体报告消失。
如果所有输出无效,通过率应为不可得,而不是零或百分之百。只报告有效项的平均分会掩盖低覆盖,因此两个数字必须一起展示,必要时把覆盖率设为发布闸门。本文不提供通用阈值,任务负责人要按评测用途确定。
异常复评保留历史
失败反例是用字符串包含 pass 判断标签,not_pass 也可能被当成通过。另一个反例是解析失败后默认 fail,虽然保守,却把评委故障计成任务模型失败。检查器按精确枚举与字段合同给每条记录产生独立状态和错误原因。
重新评分时新增一次判定记录,带原样本 ID、评委配置与时间,不覆盖初判。否则排查时无法知道是题目变好、评委恢复,还是解析器改了容忍范围。人工裁定也应保留来源与原始异常,而不是把新标签直接改写到旧结果。
这些输入全部是本地构造的评委文本,没有运行真实评委模型。因此本文只能验证台账的分母与异常隔离逻辑,不能证明评委公平或可靠。真实环境还需校准人工一致性、题目难度与位置偏差。先把无效输出从业务得分里分出来,才能避免一个漂亮数字掩盖大量根本没有被评过的样本。
配套文件与依据
本文的合成输入和参考结果可下载独立样本 a037.json,离线检查器 a037.py与样本放在同一目录后运行。检查器不调用模型接口。 使用 Python 3.12 或兼容版本,将上述文件下载到同一目录,执行 python a037.py。
留言讨论
评论发布后会被人工复核,违规内容将被删除。
如果发表没有反应,可以前往联系我们告诉我们。