
- 测试样例
- 效果衡量
START WITH A QUESTION
十次演示都很好,为什么员工使用后还是答错?
演示常选最清楚的问题,真实用户却会问含糊、多条件或没有答案的问题。只有把这些情况提前放进评估集,才能发现系统在哪些任务上可靠,在哪些任务上需要人工接管。
评估集是一组用来检验方案的输入与参考标准。它应与调试样例区分,并覆盖真实任务分布。不要在看过结果后随意改变成功标准,让每次比较都能复现。
BUILD YOUR VOCABULARY
先把三个概念讲清楚
指标与参考标准
指标将表现转成可比较的数字;参考标准说明什么结果合格。开放式回答往往需要多项评分规则,而非逐字相同。
答案有依据、覆盖必要条件且不泄露资料,才算该问题通过。
覆盖与分组
总体平均可能掩盖少数困难情况。按任务、语言、用户群或风险类型分组检查,并说明样本量。
普通问答全对,但无答案问题全编造,不能称为可靠助手。
成本与时延
成本包括调用和人工复核;时延是用户等待时间。P95 时延表示约 95% 请求不超过该值,可反映较慢的一端。
平均快不代表每个用户都快,长尾请求同样影响体验。
FOLLOW THE PROCESS
把原理放进完整流程
- 01
先写验收表
规定内容正确、依据充分、边界处理和时间成本的标准。
- 02
准备代表性样例
覆盖普通、复杂、无答案和越权问题,并保留参考资料。
- 03
同条件比较
固定资料版本与配置,对候选方案使用同一批输入。
- 04
分析失败再决定
查看分组表现、错误类型和不确定性,不只追求一个总分。
| 类型 | 方案 A | 方案 B |
|---|---|---|
| 普通问题 3 条 | 通过 3 条 | 通过 2 条 |
| 无答案 2 条 | 通过 0 条 | 通过 2 条 |
| 越权问题 1 条 | 通过 0 条 | 通过 1 条 |
| 总体 | 3/6 | 5/6 |
CHANGE ONE THING & OBSERVE
看见平均分背后的失败类型
切换方案与样例范围,比较通过率、平均时延及逐项结果。数据为固定教学记录,不是商业模型排名。
- 材料要求 · 普通通过
- 审批条件 · 普通通过
- 会议预订 · 普通通过
- 未知金额 · 无答案失败
- 未知补贴 · 无答案失败
- 受限资料 · 越权失败
固定六条样例,仅用于比较覆盖范围对结论的影响。这里不统计任何真实用户数据。
KNOW THE LIMITS
哪些结论不能直接推出?
用测试集反复调到高分
不断针对同一测试集改方案会造成过度适应。保留新的独立样例,必要时重新采样。
把主观评分当精确真值
人工或模型评分都可能不一致。应明确规则、抽样复核,并报告分歧与样本规模。
READ, RUN & EXPLAIN
分组统计,避免只看总分
以下示例仅使用 Python 3 标准库,可复制到本地 Python 环境运行。先看每一行的作用,再修改一个输入观察结果;无需网络或密钥。
cases = [('普通', True), ('普通', True), ('普通', True), ('无答案', False), ('无答案', False), ('越权', False)]
for group in ['普通', '无答案', '越权']:
results = [passed for kind, passed in cases if kind == group]
rate = sum(results) / len(results) if results else 0
print(group, f'{sum(results)}/{len(results)}', f'{rate:.0%}')复制或下载只获取本课示例,不会自动执行。
逐行解释(5 行)
- 第 1 行
cases = [('普通', True), ('普通', True), ('普通', True), ('无答案', False), ('无答案', False), ('越权', False)]每条记录保存类型与是否通过,是本例固定教学结果。
- 第 2 行
for group in ['普通', '无答案', '越权']:分别处理三类任务。
- 第 3 行
results = [passed for kind, passed in cases if kind == group]只保留当前分组的结果。
- 第 4 行
rate = sum(results) / len(results) if results else 0通过数量除以样本数量;空组约定为 0,报告时还应标明无样本。
- 第 5 行
print(group, f'{sum(results)}/{len(results)}', f'{rate:.0%}')f 字符串将变量放进文本;.0% 表示不带小数的百分比。
普通 3/3 100% 无答案 0/2 0% 越权 0/1 0%
CHECK YOUR UNDERSTANDING
换一个角度,检查自己是否理解
已回答 0 / 3 题 · 当前答对 0 题
TAKE IT WITH YOU
带走三个判断,再做一次迁移练习
- 验收标准先于模型比较。
- 总体、分组和错误案例一起看。
- 独立样例、成本和时延决定结果是否可用。
参考与延伸阅读
本课例子、代码和模拟数据为教学设计。以下一手文档用于延伸核对,不代表对本示例的认证。
- Python 官方教程:数据结构列表、集合与队列等示例语法参考。
- scikit-learn:模型评估评估指标与预测、决策的区别。
- IBM:检索增强生成检索与生成组合的进一步说明。
- NIST:AI 风险管理框架可靠性与风险管理的延伸阅读;不是特定项目的合规结论。