评测用例、数据集与分层
本节目标
把真实需求转为可追溯 case,并同时保留生产代表性和困难场景覆盖。
直觉解释
评测集既像抽样调查,也像故障测试:核心集尽量接近真实使用,压力集故意放大稀有和高风险条件。两者都重要,但不能混用同一个权重解释。
一个 case 至少记录什么
{
"id": "order-zh-edge-003",
"input": "帮我看看 A-102 到哪了",
"initial_state": {"order_exists": true, "refunded": false},
"expected_outcome": {"looked_up_order": "A-102", "refunded": false},
"strata": ["zh", "implicit-intent", "read-only"],
"severity": "high",
"source": "redacted-production-failure",
"dataset_version": "2026-07-14"
}这段保持为严格 JSON,不能在行尾加入注释:id 是可回归定位的稳定 case 身份;input 是受控输入;initial_state 与 expected_outcome 分别记录运行前提和可验证终态;strata 支撑分层报告;severity 决定风险优先级;source 说明样本出处;dataset_version 把该例绑定到可复现的数据集版本。
保留输入、初始/期望状态、分层、严重度、来源和版本,才能复现失败并解释覆盖范围。生产数据要脱敏并遵守授权与保留策略。
数据来源组合
- 生产/历史日志:最接近真实分布,但有隐私、选择偏差和旧版本行为影响。
- 领域专家编写:适合规则、风险和罕见失败,成本较高。
- 公开数据:便于比较,但可能与本产品用户分布不同或已经污染。
- 合成数据:快速覆盖组合条件,必须标注生成方法并用真实样本校准。
- 故障回放:每次事故形成最小复现,适合回归集。
OpenAI 官方指南建议混合生产、历史、领域和合成数据,并包含典型、边界、对抗场景;NIST 强调测试集、工具和与部署条件的相似性应被记录。
分层而非只看总平均
按真实风险分层,例如语言、任务类型、输入长度、工具、权限、用户群、数据新鲜度和失败严重度。总分 90% 可能隐藏“中文退款任务 20%”的严重问题。报告同时给出:
- 各层样本数和通过率;
- 关键层的最低门槛;
- 生产权重下的总体估计;
- 专门压力集的非生产权重结果。
压力集用于发现能力边界,不应伪装成自然流量比例。
冻结、开发与回归
- 训练集用于改变模型参数或建立示例库,不能再充当独立验证证据。
- 开发集用于调 prompt、规则和 grader。
- 冻结验证/测试集只用于阶段性决策,避免反复看答案后“学会考试”。
- 回归集持续接收已确认故障,但要去重、版本化并防止无限偏向旧问题。
- 绝不把同一用户会话、同源文档切片或近重复样本跨到开发与测试两侧。
**泄漏(leakage)**指本应未知的测试信息通过训练、Prompt、检索库、grader或人工调参进入被测系统。仅按行随机切分不够:同一会话、文档、模板、用户或由同一原始样本改写的family_id应整组分到同一split。测试集被频繁查看后,即使文件没有移动,也已经逐渐变成开发集,应建立新的隐藏留出集并记录切换日期。
版本、覆盖与数据卡
每次发布意义的评测记录:
- dataset版本、内容摘要、创建者、授权、时间范围和去重规则;
- 每个split的case数、来源、语言、任务、风险、工具和难度覆盖;
- 真实、合成、公开、事故回放样本分别占多少,是否使用生产权重;
- 标签定义、仲裁状态、未知比例和最后复核时间;
- 哪些目标人群或失败模式仍没有样本,结论不得外推到哪里。
覆盖矩阵的“有样本”不等于“样本足够”。关键切片同时报告数量、通过率和不确定性;稀有高损失事件可用压力集或单例硬门测试,但不能伪装成自然发生率。
常见错误与排查
- 只收集容易获得的点赞/点踩:记录选择机制,不能把条件样本当总体。
- 合成边界样本混进生产权重:单独标记 stress strata。
- 同源文档或会话跨 split:按 source/family ID 整组划分。
练习
- 为文档问答列出 5 个生产层和 3 个压力层。
- 解释为何“从线上只收集用户点踩样本”不能估计总体满意率:它是条件选择样本。
自测
增加很多合成边界样本后,总分下降是否等于产品退化?不一定,数据分布变了;要分层和固定版本比较。
小结与下一步
进入 确定性断言、指标与评分规则。
参考资料
- OpenAI Evaluation best practices(核对于2026-07-14;方法有效,但页面所链Evals平台已进入弃用过渡)
- MLflow Evaluation Dataset concepts(
latest文档核对于2026-07-14;采用时固定实际包版本) - NIST AI RMF Core: Measure 2.1–2.5(核对于2026-07-14)
- NIST AI 600-1(2024-07;核对于2026-07-14)