评测集标注实战:让标注员和工程师说同一种语言的7条规则
评测集质量决定一切,但大多数团队的标注流程是混乱的。给出标注手册结构、一致性检验方法、分歧仲裁机制与成本预算表,附一份可直接复用的标注指南骨架。
一个反直觉的发现
做过十几个 Agent 项目后,我的观察是:评测集的质量问题,80% 出在标注标准上,不是标注员水平上。
同一个答案,工程师觉得”及格”,标注员觉得”不合格”,原因往往是一句含糊的”回答要有帮助”。什么算有解释?要不要给链接?信息不全时该不该追问?没人定义过。
规则一:先写”什么算不合格”,再写”什么算合格”
正向描述容易写得漂亮但没法执行。反向清单才可判:
❌ 编造未在知识库中出现的事实 ❌ 未确认用户身份就执行退款 ❌ 回答中出现内部字段名(如
order_status_v2) ❌ 超过 150 字仍未给出结论
这份”硬性失败清单”(hard fail)的价值在于:大多数标注分歧都发生在边界上,而硬性失败不需要讨论。
规则二:给每个用例明确的”参考答案”类型
不要给每条用例写一篇”完美回答”,而是标注判定锚点:
| 类型 | 内容 | 适用 |
|---|---|---|
| 事实锚 | 必须出现的 3 个关键信息 | 政策问答、参数查询 |
| 行为锚 | 必须调用的工具 + 参数 | 操作类任务 |
| 禁止锚 | 绝对不能出现的内容 | 合规、安全场景 |
| 风格锚 | 长度、语气、格式要求 | 面向用户的输出 |
标注员判”是否包含事实锚 / 触发禁止锚”,比判”这个回答好不好”一致性高得多。
规则三:一致性用 Kappa,不用”差不多”
两个标注员都标”合格”,不代表他们判断标准一致。用 Cohen’s Kappa 衡量一致性:
- κ < 0.6:标准需要重写,别急着扩量
- 0.6–0.8:可接受,需针对分歧项补规则
- > 0.8:标准可用
操作顺序永远是:先标 50 条算 Kappa,再标 500 条。跳过第一步直接标 500 条,返工成本是 10 倍。
规则四:分歧必须仲裁成规则,而不是”按我说了算”
每条分歧项都要问:我们的标准缺了哪一条?
举例:Agent 回答”这个商品不支持七天无理由退货”,标注员甲判合格(事实正确),乙判不合格(缺少法律依据说明)。仲裁结论不是”听甲的”,而是新增规则:
涉及退换货限制的回答,必须说明依据(如”根据《消费者权益保护法》第二十五条……”或”商家页面公示的例外条款”)。
这样一条分歧就变成了一条可复用的规则。评测集就这样一个个变得可执行。
规则五:区分”模型错误”与”标准盲区”
跑评测时会出现一类用例:模型答了,所有标注员都觉得不对,但说不出违反了哪条规则。这不是模型错误,这是标准盲区。
正确的处理:
- 把它加入**“疑似盲区”队列**,不算入得分
- 每两周集中评审一次盲区队列
- 能定规则的补进标准,不能定的从评测集移除
不处理盲区,评测分数会变成一项没人信任的指标。
规则六:评测集要留”活水位”
评测集不是越大越好,是越有区分度越好。
- 一个所有人都通过的用例,对新版本没有信息量
- 建议保留 60% 核心用例(必须全过)+ 30% 难度用例(追踪趋势)+ 10% 对抗用例(发现新盲区)
- 每季度做一次区分度分析:统计每条用例在最近 10 个版本的通过率方差,方差为 0 的考虑降级
这条规则能让评测集长期保持 200–500 条的有效规模,而不是膨胀到 5000 条后没人跑得完。
规则七:算清楚标注成本
以 500 条评测集、季度刷新 30% 估算:
| 项目 | 单价 | 数量 | 小计 |
|---|---|---|---|
| 首次标注(含仲裁) | 6 元/条 | 500 | 3,000 |
| 季度刷新 | 6 元/条 | 150×4 | 3,600 |
| 每条用例的模型运行费 | 0.2 元 | 500×20 版本 | 2,000 |
| 标注专家(仲裁) | 200 元/小时 | 约 20 小时 | 4,000 |
| 年成本 | 约 1.3 万元 |
1.3 万元换一个可靠的模型质量仪表盘,这是整个 LLM 项目里 ROI 最高的一笔支出,比多雇一个工程师便宜得多。
一份标注指南的骨架
标注指南 v3
1. 任务背景(用户是谁、场景是什么)
2. 判定流程(先看锚点,再看禁止项,最后看风格)
3. 硬性失败清单(逐条枚举)
4. 事实锚 / 行为锚 定义
5. 常见边界案例(20 条以上,配正确判定与理由)
6. 不确定时怎么办(进队列,禁止猜)
7. 版本记录
第 5 节是整份文档的灵魂。每遇到一次分歧,就在这里加一条案例。三个月后,这份文档会比任何模型都更能提升团队质量。