每年期末考试前,资深老师要做三件事:出考卷、划考纲、定分数线。考卷不能太简单——否则全班满分,真正学到多少没人知道;考纲要覆盖所有重要知识点——否则学生只复习某一章就能蒙混过关;分数线要对齐学生的真实水平——否则考了95分的人进了公司却发现连基础工作都干不好。 AI产品经理设计评估集(Evals)的过程,和老师出考卷简直一模一样。你写的PRD,本质就是一份“考试方案说明书”:模型是学生,评估集是考卷,线上指标是学生毕业后的真实工作表现。而评估集设计与线上指标对齐,就是要保证“考卷成绩”能真实预测“工作能力”,而不是培养出一堆高分低能的“书呆子模型”。 这篇文章,我们就用“老师出考卷”的完整流程,带你搞懂评估集设计、文档规范、覆盖度、数据泄漏、线上对齐、可解释性和对话流设计——让你从今天起,能像资深老师一样,为AI产品设计出一套科学的“考试体系”。
学会评估集设计,你就掌握了AI产品质量的“质检标准”——这是AI产品经理区别于普通产品经理的核心技能,也是你与技术团队对话、推动模型迭代的关键话语权。
可视化演示
动态演示AI产品PRD的核心机制,通过全局/局部/动态/静态四种模式展示关键概念与交互流程。
本节配有交互动效(进入视口后自动加载,约 3KB)。
AI产品PRD:评估集E 评估集Evals设计原则 离线评估与线上指标对齐 核心机制可视化 AI产品PRD整体架构与关键组件
评估集基础
每个学期末,老师都会拿出一套精心准备的期末考卷。考卷不是随便出的——它的作用是区分出哪些学生真正掌握了知识,哪些只是混日子。如果全班都考 95 分以上,这张考卷就是失败的,因为它没有“辨识度”。AI 产品里的评估集(Evals),就是这套期末考卷。
在 PRD 撰写阶段,你就要明确:评估集是预先定义好的一批测试用例,每个用例包含用户输入、期望输出和判定规则。模型这位“学生”学得怎么样,不看它自称学会了,而是看它在考卷上能拿多少分。评估集的质量标准由此而来:可执行、可判定、有区分度——就像好考卷不能出有争议的题,每道题必须有唯一标准答案。
进一步看,模型从开发到上线需要三套“卷子”:训练集(平时作业,模型照着学)、开发集(模拟考,调参时用)、评估集(期末考,最终验收)。三者严格分离,各司其职。评估集的通过率,是 PRD 中约定的核心验收指标。
有了这张“期末考卷”,你才能在 PRD 里和技术团队约定:模型达到多少分才允许上线。而没有评估集的 AI 产品,就像不考试就直接发毕业证——风险全留到了线上。
- 分子 N_pass(通过用例数)考卷中答对的题目数量,即模型输出符合期望输出的用例数。
- 分母 N_total(总用例数)考卷的题目总量,即评估集中全部用例的数量。
- 比值与意义两者相除得到通过率,是评估集质量的第一印象,但只有通过与线上指标对齐才有意义。
PRD文档规范
考卷出好了,还要配一份“考试说明”:考试范围是什么、每道题多少分、评分标准怎么定。学生只有看清说明,才知道怎么复习。同样,PRD 里的评估集章节,必须有一份规范化的用例表,让开发和测试同学一眼就懂。
规范的评估集用例表通常包含这些字段:用例编号(唯一标识)、场景名称(如“订单查询”)、用户输入(原始问法)、期望输出(模型应给出的回答或动作)、判定方式(精确匹配、关键词匹配或人工判定)、优先级(P0/P1/P2)。这个格式必须固定下来,就像考卷的题号、分值、答题区一样标准。
评审标准也要写清楚:每个用例必须可执行、可判定、无歧义。如果一条用例写成“用户问问题,模型要回答得好”,开发同学根本没法实现——“好”的标准是什么?要写成“用户问‘订单到哪了’,模型必须返回物流查询结果并给出订单状态”这种可验证的描述。
考试说明写得越清楚,学生越知道怎么答题;PRD 里评估集写得越规范,团队越知道怎么实现。规范不是形式主义,而是让“考卷”能被所有人以同一标准批改的前提。
- 分子 K_include(已包含要素)检查 PRD 中评估集章节实际写全的字段数量,例如用例表、判定方式等。
- 分母 K_required(必需要素)模板规定的全部必填字段数量,例如至少包含用例编号、输入、期望输出、优先级。
- 完整度评价比值越接近 1,文档越完整,团队理解和执行的偏差越小。
覆盖度设计
出考卷最怕什么?怕只考一个单元。如果老师只出第一章的题,学生把第一章背熟就能拿高分,但后面几章一窍不通——这样的考试毫无意义。评估集的覆盖度设计,就是要确保考卷覆盖所有关键“知识点”,也就是重要业务场景。
场景枚举要分成三类:正常场景(用户最常见的提问方式)、边界场景(订单金额为零、库存只剩一件等极端情况)、异常场景(用户输入乱码、提问超出业务范围等)。覆盖度不是平均用力,而是按优先级取舍——P0 核心场景必须全覆盖,P1 次要场景尽量覆盖,P2 低频场景量力而行。
样本分布同样关键。评估集中的用例比例要尽量贴近线上真实流量分布——如果线上 70% 是订单查询,评估集里订单查询也最好占 70% 左右。否则就可能出现“考卷全是难题,学生被考懵”或“考卷全是送分题,成绩虚高”两种失真。
覆盖率是评估集的“广度”指标,但它只是基础——就像考卷覆盖了所有章节,也不能保证没有“泄题”。接下来要防的,就是最隐蔽的坑:数据泄漏。
- 分子 N_covered(已覆盖场景)评估集中已包含用例的必需场景数量,例如订单查询、退货咨询、物流投诉等。
- 分母 N_required(必需场景)PRD 梳理出的全部核心业务场景数量,通常以场景清单形式维护。
- 覆盖率目标核心场景覆盖率应达到 100%,整体覆盖率建议不低于 90%,并随版本迭代持续补充。
数据泄漏防范
如果期末考试前,有同学偷偷拿到了标准答案,考试分数还能反映真实水平吗?当然不能。模型训练中也有这种“泄题”事故,叫数据泄漏——评估集里混入了训练时见过的数据,模型“背答案”就能拿高分,上线后面对新问题立刻原形毕露。
防范泄漏有三道防线。第一道是集间隔离:训练集、开发集、评估集必须从不同的数据源或时间段抽取,且评估集样本绝不能参与训练,就像考卷在考试前绝不能流到学生手里。第二道是时间切分:对于容易过时的数据(如新闻、电商商品、热点话题),按时间先后划分——用 1-8 月的数据训练,用 9-10 月的数据评估,模拟“考未来的题”。第三道是相似去重:把评估用例和训练语料做文本相似度比对,重复度高的用例要剔除或改写,防止“刷题刷到原题”。
即使做了三道防线,仍要监控一个关键信号——泛化差距。模型在训练集上的表现和评估集上的表现差得越多,越要警惕泄漏或过拟合。
泄题的考卷,分数再高也骗不了人;泄漏的评估集,通过率再高也骗不了线上用户。防住泄漏只是让“考试公平”,但公平的考试就一定能预测工作表现吗?答案是未必——这就是下一步要解决的线上指标对齐。
- P_train(训练通过率)模型在训练集上的表现,通常接近 95% 甚至 100%,相当于“平时作业正确率”。
- P_eval(评估通过率)模型在未参与训练的评估集上的真实表现,相当于“期末考试成绩”。
- 取绝对值无论训练高于评估(过拟合/泄漏)还是评估反超训练(数据标注问题),都要排查原因。
线上对齐策略
小李在公司面试时笔试拿了 95 分,可入职后连最基础的报表都做不好。为什么?因为笔试考的是“背书能力”,而工作要的是“解决问题能力”——两者没有对齐。评估集与线上指标的对齐,就是要回答一个核心问题:评估集的高分,是否能带来线上业务指标的高绩效?
对齐的第一步是指标映射。你需要搞清楚评估集里的“答对”对应线上的什么业务价值。例如智能客服的评估集考核“是否正确识别用户意图”,线上指标则要看“问题解决率”或“用户满意度”。你要把评估集的通过率和线上指标建立对应关系,而不是各看各的。第二步是阈值设定:在 PRD 中明确规定评估集必须达到多少分才能上线(例如通过率 ≥ 90%),以及这个分数对应的线上指标预期值(例如问题解决率 ≥ 80%)。
模型上线不代表万事大吉。业务场景会随时间漂移——双十一的咨询高峰、新产品的上线、用户语言习惯的变化,都会让“考卷”渐渐过时。所以要建立漂移监控:定期把线上真实用户的输入加入评估集回测,比对评估集得分与线上指标是否仍然同步变化。如果评估集得分稳定但线上指标下滑,说明考卷和实际工作已经脱节,该升级考卷了。
对齐的考卷才能选出真正的人才。但对齐不只是一堆数字——当模型考砸了,你作为产品经理,必须能说清楚它为什么没考好,这正是可解释性设计要解决的问题。
- R_eval(评估通过率)评估集上模型的表现,例如 92%,代表“考试得分”。
- R_online(线上指标)线上真实业务指标,例如问题解决率 80%,代表“工作业绩”。
- 偏差计算偏差越小越好,通常约定偏差 ≤ 15% 视为对齐,超过则需排查评估集设计或模型问题。
可解释性设计
老师批改试卷时,不能只在错题上画个红叉就完事。负责任的老师会写下评语:“这道题你混淆了概念”“这一步计算粗心了”。这样学生才知道怎么改进。AI 模型评估中同样需要这种“评语”——这就是可解释性需求设计。
可解释性至少包含三个层面。第一是失败归因:每个未通过的用例,必须能定性分析失败原因——是“用户输入不在业务范围内”(覆盖问题)、“模型理解错意图”(能力问题)、还是“期望输出标注本身有误”(标注问题)。第二是示例标注:在 PRD 或评估报告中,对高频失败类型附上典型的正例和反例,让技术团队能直观理解——“看,这类问法应该归入退货咨询而不是退款流程”。第三是人工复核:对于模糊或低置信度的判定结果,设计人工抽检机制,确保评估结果的可靠性。
在 PRD 中,你要明确提出可解释性的量化需求,让“说得清”从口号变成可考核的指标:
有了评语,学生才知道下一步怎么复习;有了归因,算法团队才知道下一步怎么优化。可解释性让评估集从“一堆红叉”变成“一本错题集”——而错题集最典型的应用场景,就是对话式 AI 产品的多轮对话评估。
- 分子 N_explainable(可归因失败数)产品经理或算法工程师能明确说出失败原因的用例数,例如“三类问法被误判为退款”。
- 分母 N_fail(总失败数)评估集中全部未通过用例的数量。
- 比例目标P0 级别用例的失败归因率建议达到 100%,整体不低于 90%,否则技术团队无从下手优化。
对话流设计
面试时,面试官不仅会问“你会什么”,还会通过追问、情景题来考察你的临场反应。对话式 AI 产品的评估也是这样——它不能只看单轮问答对不对,还要看多轮对话能不能捋顺。这就是 PRD 中对话流设计的核心。
多轮对话的评估要覆盖三类路径。主路径:用户一步步按预期流程走,如“查订单→确认订单号→获取物流信息”,每一步机器人都要接得住。分支路径:用户中途打断、改主意、补充信息,如“算了,先不管物流,我要退货”——模型要能优雅切换话题。失败路径:用户连说三遍都答非所问,或直接表达不满“你什么毛病?换个客服来”——这时必须触发兜底策略:转人工、道歉安抚或提供替代方案。合规审查也在这里登场:对话内容不得涉及隐私套取、敏感话题或诱导性表达,就像面试官不能问求职者婚育情况一样。
对话流评估的结果,同样需要一个可量化的指标来度量:
从出考卷到设考纲,从防泄题到对业绩,从写评语到面试流程——你现在已经掌握了老师出题的全套智慧。这正是 AI 产品经理在 PRD 阶段就为产品质量打下的根基。
- 分子 N_success(成功对话数)对话在不超过预设轮数、且达成用户目标的情况下结束的会话数,例如用户成功完成退货申请。
- 分母 N_total(总对话数)评估集中全部多轮对话用例的数量。
- 指标应用对话成功率应结合兜底触发率一起看——兜底是“安全阀”,但不能成为模型能力不足的遮羞布。
AI 应用场景
智能客服 FAQ 评估集设计
阶段:需求分析与方案设计阶段
解决的问题:传统客服 FAQ 上线依赖人工抽测,往往在真实流量冲击下才发现大量意图误判。用评估集在 PRD 阶段就锁定核心场景(订单查询、退换货、发票等),并通过覆盖度设计保证 P0 场景 100% 覆盖、样本分布对齐线上流量,显著减少上线后返工。
具体案例:某电商平台客服机器人上线前,产品经理按 7:2:1 比例构建订单类、售后类、其他类评估用例 300 条,并设定评估通过率 ≥ 90%、线上问题解决率 ≥ 80% 的双重验收线。上线后通过漂移监控发现“双十一物流咨询”激增,及时补充 50 条物流场景用例,迭代模型后问题解决率提升 12%。
内容审核模型的可解释性评估
阶段:模型评测与合规审查阶段
解决的问题:审核模型误判“违规内容”时,运营人员无法得知误判原因,申诉处理困难。通过失败归因和人工复核机制,将每条误判用例标记为“语义相似误伤”“歧义表达”“新违规类型”等具体原因,归因率达到 95% 以上。
具体案例:某社区平台的内容审核 PRD 中,产品经理要求评估集每条失败用例必须附带归因标签和正反示例。模型迭代时,算法团队依据归因报告将“软色情谐音梗”误判率从 4.2% 降至 1.1%,运营申诉量减少 37%。
银行客服对话流的合规评估
阶段:产品原型验证与合规审查阶段
解决的问题:银行智能客服涉及用户资产信息,对话流必须严格规避隐私套取和敏感表达。通过多轮路径设计与合规审查,确保主路径、分支路径和兜底路径都符合监管要求。
具体案例:某银行在 PRD 中规定:对话涉及账户余额时,必须完成双重身份验证;用户连续两次请求转人工时,机器人不得强行挽留;所有对话记录提示隐私政策。合规审查用例占评估集 20%,上线后通过监管抽查零违规。
Python 演示
# -*- coding: utf-8 -*-"""评估集与线上指标对齐度分析演示""" def build_evals(): """构建评估集: (场景, 用户输入, 期望输出, 模型实际输出, 是否通过)""" return [ ("订单查询", "我的订单到哪了", "查询物流", "查询物流", True), ("退货咨询", "怎么退货", "退货流程", "退款流程", False), ("改地址", "帮我改收货地址", "修改地址", "修改地址", True), ("催发货", "什么时候发货", "催发货", "物流查询", False), ("投诉", "我要投诉快递", "转人工", "转人工", True), ("开发票", "能开发票吗", "发票申请", "发票申请", True), ("查运费", "运费多少", "运费说明", "订单查询", False), ("取消订单", "我不想要了", "取消订单", "取消订单", True), ] def calc_pass_rate(evals): """计算评估集通过率""" passed = sum(1 for _, _, _, _, ok in evals if ok) return passed / len(evals) def calc_alignment(eval_rate, online_rate): """计算对齐偏差: |评估通过率 - 线上指标| / 线上指标""" return abs(eval_rate - online_rate) / online_rate def main(): evals = build_evals() eval_rate = calc_pass_rate(evals) online_rate = 0.80 # 线上问题解决率, 来自业务报表 gap = calc_alignment(eval_rate, online_rate) level = "对齐" if gap <= 0.15 else "需排查" print(f"评估集用例数: {len(evals)}") print(f"评估集通过率: {eval_rate:.1%}") print(f"线上指标: {online_rate:.1%}") print(f"对齐偏差: {gap:.1%}") print(f"结论: {level}") if __name__ == "__main__": main()
def build_evals():定义评估集数据,每行是一条用例,含场景、输入、期望输出、实际输出和通过标记,对应 PRD 中的用例表格式。("退货咨询", "怎么退货", "退货流程", "退款流程", False)一条典型失败用例:模型把“退货流程”答成了“退款流程”,意图识别偏差,归因是“语义近似混淆”。def calc_pass_rate(evals):计算评估集通过率,对应正文的通过率公式:通过数 ÷ 总用例数。sum(1 for _, _, _, _, ok in evals if ok)Python 生成器表达式,遍历所有用例统计通过数量,是核心计数逻辑。def calc_alignment(eval_rate, online_rate):实现对齐偏差公式,偏差 ≤ 15% 判定“对齐”。if __name__ == "__main__":脚本入口,保证模块被导入时不执行,直接运行时才跑主流程。print(f"对齐偏差: {gap:.1%}")格式化输出偏差百分比,方便直接粘贴进 PRD 评审记录。
常见误区
误区我觉得评估集不用刻意设计,直接从训练数据里拿一些样本不就行了吗?反正都是真实用户问题,模型肯定能答好。
正解这就像考前把做过十遍的作业题原封不动放进考卷,学生闭着眼睛都能写对。从训练数据里抽样本做评估,本质是“泄题”——模型记住的是答案而不是能力,评估通过率虚高,上线面对新问题立刻露馅。正确做法是评估集必须与训练数据隔离,最好按时间切分或做相似去重。
为何常见:因为“省事”是人的本能——从已有数据里抽样本最快捷,而且开发时模型在这些样本上表现确实好,让人误以为这就是真实水平。
误区评估集通过率达到 100% 就是完美的模型!我每次迭代的 KPI 就是把评估集分数刷满。
正解100% 通过率是危险信号。如果考卷所有人都能拿满分,说明考卷要么太简单、要么已经泄漏。评估集的意义是“区分度”——让好模型得高分、差模型得低分。当通过率长期接近 100% 时,你该做的是加难度:补充边界用例、异常输入,而不是庆祝。真正健康的通过率应该与线上对齐阈值挂钩,例如 90% 通过率对应 80% 问题解决率。
为何常见:因为“分数高 = 效果好”是职场直觉,且产品经理向领导汇报时,100% 比 90% 听起来更漂亮。
误区PRD 评审通过了、模型也上线了,评估集就算完工了。后面模型出问题再临时补用例就行。
正解评估集不是一次性考卷,而是需要持续维护的“题库”。业务在变——新产品上线、用户语言习惯演变、季节性高峰出现,都会让旧考卷过时。正确的做法是建立漂移监控:定期从线上抽取真实样本补充进评估集,至少每月复盘一次覆盖度,让“考纲”跟上业务变化。
为何常见:因为产品经理的注意力容易跟着上线走,认为“上线即结束”,忽视了评估集是连接开发与运营的长期标尺。
误区只要评估集通过率是 92%,线上指标也是 92%,就说明对齐了。两边数字对得上最重要。
正解对齐的核心不是“数字相同”,而是“趋势同步”。线上指标受太多因素影响——新用户比例、渠道质量、产品改版,它和评估集本来就可能存在合理差异。真正的对齐是:当模型优化带动评估集提升 5 分,线上指标也同步提升约 5 分;当评估集某类用例得分下降,线上对应场景的表现也下滑。数字绝对相等反而不正常,因为评估集永远是对线上真实分布的采样,不是全量。
为何常见:因为“数字对标”是最直观的理解方式,人们习惯用简单的数值相等来判断是否达标。
面试题
Q1. AI 产品 PRD 中,评估集(Evals)的首要作用是什么?
- A.在开发前预定义测试用例,验收模型质量← 正确答案
- B.替代训练数据来优化模型参数
- C.作为模型的训练语料库
- D.监控线上服务器运行状态
答案:A。评估集是预先定义好的测试用例集合,用于验收模型质量,相当于“期末考卷”。B 和 C 混淆了评估集与训练集——评估集绝不参与训练。D 属于运维监控范畴,与模型能力评估无关。
Q2. 关于训练集、开发集、评估集的区分,正确说法是?
- A.三者可以共用同一批数据以节省成本
- B.训练集让模型学习,开发集用于调参,评估集做最终验收← 正确答案
- C.开发集和评估集必须完全一致
- D.评估集是训练集的一个子集
答案:B。三类数据集各司其职:训练集是“平时作业”,开发集是“模拟考调参”,评估集是“期末考验收”。三者必须严格隔离——A 会导致数据泄漏,C 会导致评估结果失真,D 直接就是泄漏。
Q3. 评估集出现什么情况时,最可能发生了“数据泄漏”?
- A.评估通过率远高于训练集通过率
- B.训练集通过率远高于评估集通过率← 正确答案
- C.训练集和评估集通过率同步稳定
- D.评估集覆盖率低于 90%
答案:B。训练通过率高而评估通过率低(泛化差距大),说明模型在“背答案”——它在训练集上表现好但面对新问题就露馅,这是数据泄漏或过拟合的典型信号。A 方向反了,C 说明正常,D 是覆盖度问题与泄漏无关。
Q4. 评估集覆盖度设计中,需要考虑哪些用例类型?
- A.正常高频场景用例← 正确答案
- B.边界极端情况用例← 正确答案
- C.异常非法输入用例← 正确答案
- D.与训练集完全相同的用例
答案:ABC。覆盖度设计要覆盖三类场景:正常(高频主路径)、边界(极端情况)、异常(非法输入)。D 是数据泄漏——评估用例与训练数据重复会导致成绩虚高。覆盖率 = 已覆盖必要场景 ÷ 应覆盖场景总数。
Q5. 评估集通过率 92%,线上问题解决率 80%,按对齐偏差公式计算偏差是多少?
- A.12%
- B.15%← 正确答案
- C.20%
- D.28.75%
答案:B。对齐偏差 = |92% - 80%| ÷ 80% = 12% ÷ 80% = 15%。偏差 ≤ 15% 视为对齐,此例恰好卡在边界。评估集得分高于线上指标是正常的——评估集是理想条件下的“考卷”,线上有更多干扰因素,但偏差过大事必有一方失真。
Q6. 可解释性设计在评估集中包含哪些要求?
- A.对失败用例进行归因分析← 正确答案
- B.附上典型正反示例← 正确答案
- C.设计人工复核抽检机制← 正确答案
- D.要求模型输出所有中间参数
答案:ABC。可解释性设计的核心是“说得清为什么错”:失败归因(给原因)、示例标注(给参照)、人工复核(保可靠)。D 要求模型输出全部中间参数是技术实现细节,不是产品层面可解释性需求。
Q7. 对于容易随时间过时的数据(如新闻、电商热点),评估集设计优先采用哪种切分方式?
- A.随机打乱后划分
- B.按时间先后切分← 正确答案
- C.人工挑选高质量样本
- D.只保留最新三个月数据
答案:B。时间切分模拟“考未来的题”——用过去的数据训练,用未来的数据评估,最贴近线上真实场景。A 随机划分会把未来数据混入训练集,导致泄漏;C 主观挑选易引入偏差;D 单一时间窗口样本量不足。
Q8. 模型上线后发现评估集得分稳定但线上指标连续下滑,最可能的原因是什么?
- A.模型能力突然退化
- B.线上用户彻底改变了行为模式
- C.评估集与线上场景已脱节← 正确答案
- D.线上指标统计代码出错
答案:C。评估集稳定但线上下滑,说明“考卷考的东西”和“工作要做的事”已经脱节——场景漂移了。比如新增了大量新客,他们的问题模式和存量用户差异大,旧评估集没覆盖。正确做法是启动漂移监控,从线上采样补充评估集。A 模型不会自动退化,B 是现象而非根因,D 属低概率偶发。
Q9. 一份合理的评估集应同时满足哪些核心要求?
- A.覆盖全部上线前预研场景
- B.覆盖关键场景且与线上分布一致、无泄漏、可解释← 正确答案
- C.将线上全部真实数据纳入评估集
- D.通过率越高越好且不设上限
答案:B。合理评估集四要素:覆盖关键场景(不只追求全量)、样本分布对齐线上流量、无数据泄漏、失败可归因。A 是覆盖度但不够全面,C 用全量线上数据不现实也无必要,D 忽视区分度——通过率虚高反而是危险的。
Q10. 评估集设计时,以下哪些做法能有效提升评估集的“预测有效性”?
- A.用时间切分构建评估集← 正确答案
- B.定期从线上采样补充用例← 正确答案
- C.对失败用例做归因分析← 正确答案
- D.从训练数据中筛选高难度样本
答案:ABC。A 时间切分防泄漏、B 漂移监控保持评估集时效性、C 可解释性推动模型迭代——三者共同保证评估集分数能预测线上表现。D 从训练数据筛选样本就是数据泄漏,评估集必须与训练数据隔离。