1. 测模型与测应用不是同一件事
公开 Benchmark 关注特定数据、任务和评分设置。实际应用还包含文档、检索、工具、权限、缓存和界面流程。
模型在榜单上高分,不代表公司知识库能找到最新制度,也不代表申请工具会正确执行。
因此至少分三层:组件是否正常,整条任务是否完成,实际业务是否获得收益。
2. 先写“什么算成功”
一个年假问题不能只按“回答里出现 5 天”判对。还要看适用人群、累计工作年限、制度版本与证据。
可以建立以下题目字段:
{
"id": "leave-001",
"question": "入职两年能休几天?",
"scenario": "missing_information",
"expected_behavior": "指出需确认累计工作年限",
"evidence_ids": ["policy-1"],
"forbidden_behavior": "直接编造具体天数"
}
标准答案不一定是一段唯一文字。对于开放回答,应规定必含要点、允许差异、错误条件和证据要求。
3. 评测集至少覆盖哪些情况
| 类型 | 为什么需要 |
|---|---|
| 常见且有答案 | 检查基本可用性 |
| 资料不足 | 检查追问与拒答 |
| 多条件、跨段问题 | 检查条件组合 |
| 旧新版本冲突 | 检查时效判断 |
| 无权访问 | 检查权限边界 |
| 诱导与提示注入 | 检查不可信内容处理 |
| 工具超时或失败 | 检查恢复与诚实报告 |
| 长输入、并发与异常格式 | 检查工程稳定性 |
样本尽量来自真实需求并经过脱敏与授权。保留难例,但也记录真实分布;只有刁钻题或只有简单题,都会使结论偏离用途。
4. 回答与检索分别打分
回答可检查正确性、完整性、证据支持、引用准确、格式、拒答与可操作性。
检索单独看正确证据是否出现在候选、是否靠前、元数据与版本是否正确。生成失败时,先确认正确证据是否真的送进了模型。
RAG 的“忠实性”通常关心回答是否受提供材料支持;“事实正确性”还可能涉及材料本身是否正确。模型忠实复述过期制度,也会在真实业务上出错。
5. Agent 需要看最终动作
对于“生成申请草稿”,应检查草稿存在、字段正确、没有提前提交。对于“已批准提交”,应核对实际回执与后台状态。
过程指标包括工具选择、参数、越权尝试、重试、无进展循环、人工介入、步数与费用。单次工具成功率高,不必然整任务成功率高。
“模型说任务完成”只能作为待验证信号,不能直接充当完成标签。
6. 人工评审与模型评审
人工评审需要明确规则、培训、抽样复核和分歧处理。为减少先入为主,比较两个版本时可以随机交换显示顺序、隐藏模型名。
LLM-as-a-judge 用模型辅助评分,适合规模化初筛,但可能偏爱较长答案、某种文风或自身风格,也会受输入顺序影响。
应拿一批人工标注检查评审模型是否一致,关键失败继续人工核对。用于评分的输入不能让被测答案里的恶意指令轻易控制评审器。
7. 延迟、吞吐与 P95
平均值容易掩盖慢请求。P95 表示在所用统计口径下,大约 95% 请求不超过该延迟;不是“95% 的请求恰好花这么久”。
例如 20 个请求里 19 个是 1 秒、1 个是 20 秒,平均 1.95 秒,已经是大多数请求的近两倍。单看平均值仍无法完整表达长尾。
还应区分端到端延迟、TTFT、TPOT、吞吐和失败率。吞吐高不表示每个请求都低延迟。
下面采用 nearest-rank 的教学分位数定义:
from math import ceil
from statistics import mean
latencies = [1.0] * 19 + [20.0]
def percentile_nearest_rank(values, p):
if not values or not 0 < p <= 1:
raise ValueError("需要非空数据,且 0<p<=1")
ordered = sorted(values)
return ordered[ceil(p * len(ordered)) - 1]
print(mean(latencies)) # 1.95
print(percentile_nearest_rank(latencies, 0.95)) # 1.0
print(percentile_nearest_rank(latencies, 0.99)) # 20.0
这个例子还提醒:小样本的分位数非常粗,P95 可能没有抓住那一个最慢请求。要同时看样本数、最大值、更多分位数与分布,不要只挑一个指标。
8. 公平比较怎样做
尽量固定题集、文档快照、工具环境和评分规则,记录模型、Prompt、检索配置与采样设置。随机性较大时重复测量,并保留每题结果。
若新版本提升总体分数却降低关键安全题表现,要分别报告,不能用总平均掩盖。
指标差异结合样本量、配对统计与业务意义判断。统计上可区分的微小提升,也未必值得更高延迟和成本。
9. 离线到线上
离线通过后,可以小流量灰度,与旧版本对照,并预设回滚条件。线上收集失败样本时需要保护个人信息,避免把完整机密内容无差别写日志。
用户满意度、问题解决率、人工接管和节省工时是业务指标,但也要防止“用户没有投诉”被误当作事实正确。
将失败归类后补入回归集,形成“发现问题 → 定位环节 → 修改 → 固定集回归 → 灰度”的闭环。
复习卡片与自测
- 先定义成功,再收集题目和证据。
- 检索、回答、工具与业务分层评估。
- 评审器本身也需要验证。
- 效果、延迟、成本、权限与失败恢复一起看。
1. 公开榜单最高的模型一定最适合知识库吗?
参考答案
不一定。领域数据、检索、部署、权限和成本都可能影响真实任务结果,应使用自己的评测集比较。2. 为什么模型评审不能直接当绝对标准?
参考答案
它可能有风格、顺序与共同错误偏差,必须用人工标注校准,并核查关键失败。3. 为什么 P95 也不能单独代表全部体验?
参考答案
它依赖样本量与统计口径,仍可能掩盖更慢尾部、失败和不同任务群体的差异。原文定位
依据:原资料 第十篇、1.10、19.3、19.7。