02—通过率、增益 、IFR 怎么看?AI Skill 测评指标体系完整解读

7 阅读16分钟

通过率、增益 Δ、IFR 怎么看?AI Skill 测评指标体系完整解读

系列:AI Skill 测评体系从零到一(二) 难度:进阶 适合读者:需要理解测评数字含义的工程师和产品经理 📌 一句话摘要:AI Skill 测评有 8 个核心指标,90% 的人只盯通过率却忽略了「增益 Δ」——本文一次讲清楚每个数字的含义、来源和发布红线。 🏷️ 推荐标签:人工智能 LLM Agent 质量评估


指标太多记不住?用「九层」来理解

AI Skill 测评指标体系由 9 层维度构成,从用户感知到工程内核,覆盖一个 LLM 应用上线前需要验证的所有质量维度。不需要每次都覆盖全部 9 层——按照 quick / standard / full 三种测评模式,选对应层级即可。

先记住最核心的三个通过率、增益 Δ、IFR 是发布决策最依赖的三个指标,其余为辅助参考。后文逐一解读时请重点关注这三个。

记忆方法:把 9 层想象成「从用户感知到工程内核」的由外到内的洋葱结构。

最外层(用户感知)
  触发层 → 用户说的话,Skill 能感知到吗?
  输出层 → 感知到后,输出的对吗?
  业务层 → 内容对,但有没有遵守业务规则?
  交互层 → 多轮对话,状态维护住了吗?
  健壮层 → 坏输入、坏情况,会不会崩?
  效率层 → 跑得快吗?token 用了多少?
  设计层 → Skill 本身写得好不好?有没有帮倒忙?
  工程层 → 覆盖率够吗?环境一致吗?
  组织层 → 规则过期了吗?业务方确认过吗?
最内层(工程内核)

口诀:触发→输出→规则→对话→容错→效率→设计→覆盖→维护

每次测评实际要覆盖哪几层?

不需要每次都覆盖全部 9 层,按测评模式分优先级:

层级quick 模式standard 模式full 模式
触发层、输出层、业务层✅ 必测✅ 必测✅ 必测
交互层、健壮层、工程层✅ 必测✅ 必测
效率层、设计层⚡ 部分✅ 必测
组织层💡 建议

quick 模式重点覆盖前 3 层(触发、输出、规则),已能发现大部分主流程问题。


核心指标逐一解读

📌 先说「灰色结论」INCONCLUSIVE

在指标数字之前,先解释一个经常让人困惑的状态:INCONCLUSIVE(无法验证)

它的意思是:这条用例没有出结论,不代表 AI 失败了,而是测试资产或环境尚未就绪。

常见原因:

  • 测试文件类型不符(比如想测「住宿发票检测」规则,手头只有汽油发票,该规则根本不会触发)
  • 账号权限限制(想测「无申请单时中断」,但测试账号恰好有 12 条有效申请单)
  • 测试方法绕过了 Skill 层(直接调接口,Skill 的行为层逻辑无法被触发)
  • 数据已过期或被删除(测试单据在生产数据库里已不存在)

正确处理方式:不要修改 Skill 逻辑,而是补充对应的测试资产(发票、账号、数据)后重新跑该用例。INCONCLUSIVE 用例不计入通过率,不影响整体发布决策,但必须在报告中单独说明补充计划。

1. 通过率(Pass Rate)

通过率是 AI Skill 测评最基础的质量度量,定义为:断言通过数 / 总断言数 × 100%。

断言(Assertion):测试用例中对「Skill 应该输出什么」的具体描述。例如:「saveExpenseDoc 调用参数 docStatus=10」「输出包含完整的收款银行信息」。

来源:标准软件测试指标,也是 OpenAI Evals、HELM 等 LLM 基准测试的核心指标。

为什么重要:这是最直接的质量度量。但要注意——通过率高不等于 Skill 有价值,还要看增益 Δ(见下文)。

准入阈值(基于业务容错度、用户预期、历史数据三因素制定,为参考值,非行业统一标准):

风险等级通过率要求典型场景
S 级(关键)≥ 95%报销、审批、涉及资金的写操作
A 级(重要)≥ 90%下游系统的直接输入、失效代价高
B 级(一般)≥ 80%失效影响体验但用户可自行修正
C 级(辅助)≥ 70%锦上添花,失效影响有限

⚠️ 容易混淆:对比基线 ≠ 准入基线

这两个概念经常被混淆,举一个完整例子说清楚:

场景:S 级 Skill,standard 模式测评结果
  without_skill 通过率:52%
  with_skill 通过率:  87%
  增益 Δ:             +35%  ← 这是「对比基线」,Skill 提升了 35 个百分点

  准入阈值:≥ 95%           ← 这是「准入基线」,87% 未达标

结论:Δ 很大(+35%),但绝对通过率 87% 未达 S 级要求 95%。
      → 不能发布。需继续优化 Skill 直到通过率 ≥ 95%。

反向例子:Δ = +2%,通过率 = 96% → Δ 虽小,绝对值已达标,可以发布(Skill 在该场景本就是锦上添花)。


2. 触发率(Trigger Rate)

触发率衡量的是 Skill 能否被正确找到,定义为:Skill 被正确触发的次数 / 总测试次数 × 100%。

来源:信息检索领域的 Recall/Precision,在 skill-creator/scripts/run_eval.py 中有完整实现。

为什么重要:Skill 写得再好,用户说了该触发的话却没触发,等于白写。触发率是「Skill 能不能被找到」的指标,与通过率(「找到后执行得好不好」)完全独立。

AI 模拟方案(阶段一自动运行)

每次测评启动时,系统自动在阶段一执行触发率预评估:

从 description 提取触发语义
  ↓
自动生成 10 条测试 prompt(5 应触发 + 3 不应触发 + 2 边界情况)
  ↓
AI 逐条判断:prediction(trigger/no_trigger/uncertain)+ confidence(0-1)+ reasoning
  ↓
输出 trigger_eval.json → 报告第十一章可视化展示(含置信度标注)

两套方案对比

方案精度前提条件适用场景
AI 模拟估算(阶段一自动)估算值,附置信度 high/medium/low无特殊要求日常测评、快速预判
精确测量(skill-creator run_eval.py)精确率,可用于正式决策需要 claude CLIS/A 级正式发布前

AI 模拟准入处理(非硬性 FAIL 条件,仅触发建议):

  • TP 估算 ≥ 80%:✅ 估算达标(参考值)
  • TP 估算 70-80%:⚠️ 估算偏低,建议优化 description
  • TP 估算 < 70%:⚠️ 触发率不足,须优化后重测
  • TN 有误触发预测:⚠️ 存在误触发风险,description 边界不清晰

undertrigger 问题

Claude 有 undertrigger 倾向——不用 Skill 比应该用的时候更多。Description 要稍微「pushy」一些,明确写出「即使用户没有明确说,遇到 X 情况也要使用」。


3. 增益 Δ(Delta)

增益 Δ 是判断 Skill 是否真的有价值的核心指标,定义为:with_skill 通过率 − without_skill 通过率。Δ 为负是发布硬红线。

来源:SkillsBench 论文(arxiv.org/abs/2602.12670):论文共 86 个任务,其中 84 个有效计算了 delta,「16 of 84 tasks show negative deltas」为论文原文。

为什么重要:通过率高只说明 Skill 质量可以,但不代表 Skill 有价值。Δ 才是判断「加了 Skill 是否有帮助」的核心指标。

三种情况的含义

Δ含义行动
> 0Skill 有帮助,加了比没加好正常发布流程
≈ 0Skill 没有增量价值,模型自己就能做到评估 Skill 是否有必要存在
< 0Skill 帮了倒忙,加了反而更差🔴 发布红线,必须查根因

三条件对比范式

条件 A:without_skill(纯模型能力基线)
条件 B:with curated_skill(人工精心设计的 Skill)
条件 C:with self-generated_skill(让模型自己生成 Skill)

B > C → 人工 Skill 有价值,继续优化
B ≈ C → 继续优化的边际收益低,考虑是否该停止
B < C → 人工 Skill 过度约束了模型(极少见,但说明规则写得太死)

4. 指令遵循率 IFR(Instruction Following Rate)

IFR 专门衡量硬性规则的遵守情况,定义为:正确遵循硬性规则的次数 / 触发硬性规则的总次数 × 100%。S 级 Skill 要求 IFR = 100%,一次违反即为事故。

硬性规则:Skill 中明确写了「必须」「禁止」「固定为」的规则,一旦违反就会造成业务问题。例如:「docStatus 必须为 10(草稿),禁止直接提交审批」「saveExpenseDoc 成功后严禁再次调用」。

来源:IFR 为本套体系自定义术语,对应通用研究方向为 Instruction Following,参考 Google 的 IFEval 基准(arxiv.org/abs/2311.07911)。

IFR vs 通过率的区别:通过率是所有断言的通过比例;IFR 只关注硬性规则的遵循情况。一个 Skill 可能通过率 92%(大部分功能正常),但 IFR 只有 80%(有 20% 的情况下违反了关键规则)。

S 级要求 IFR = 100%:硬性规则是合规底线,一次违反就是事故,不接受「大部分时候遵循」。


5. 一致性得分(Consistency Score)

一致性得分衡量同一意图用不同表达方式时,Skill 输出的关键字段是否保持一致,定义为:关键字段完全一致的对比组数 / 总对比组数 × 100%。

为什么重要:同一个意图,用正式语气说和用口语说,Skill 的关键输出字段(报销金额、费用类型、收款账户)应该完全一致。如果不一样,说明 Skill 对表达方式过于敏感,线上用户体验会不稳定——用词稍微不同,结果就不一样。

测试方法:同一场景设计 3 个变体(正式/口语/简略),运行后对比核心字段是否完全一致:

变体 1(正式):「请帮我提交一份日常报销申请,金额 168 元,餐饮费」
变体 2(口语):「帮我报个餐费,168 块」
变体 3(简略):「168 餐费」

一致性检查:三种表达下,expenseType 都是 1(日常)→ ✅ 一致
            三种表达下,fdExpenseSubject 都含「餐」→ ✅ 一致

适用范围说明:一致性得分是 full 模式才会系统计算的指标(需要设计同一场景的多个变体用例)。quick 和 standard 模式不强制要求,但在报告的「七、Benchmark 数据」章节中可以手动对比。


6. 稳定性(Stddev)

稳定性用样本标准差(n-1 公式)衡量多次运行结果的波动幅度,标准差 > 0.3 说明结果高度不稳定,需要立即排查。

来源:统计学标准差(样本方差 n-1 公式)。

为什么重要:通过率 80% ± 5%(稳定)和通过率 80% ± 40%(不稳定)是完全不同的情况。后者意味着用户有时得到正确结果,有时得到错误结果,且难以预测。

判断标准

Stddev含义行动
< 0.05稳定,结果可信S 级发布要求
0.05 - 0.10轻微波动,可接受观察,无需立即行动
0.10 - 0.30明显不稳定检查 prompt 歧义
> 0.30高度不稳定检查 Skill 规则是否有冲突

7. 幻觉检测(Hallucination Detection)

幻觉检测统计输出中无法在执行记录(transcript)中追溯来源的声明数量,S 级 Skill 要求 0 次幻觉。

幻觉:模型生成了看起来真实但实际上是编造的内容。在 Skill 场景下,典型表现是:接口调用实际失败了,但模型仍然输出「草稿已保存,详情链接:https://...」——链接是编造的,草稿根本不存在。

来源:NLP 领域的 Faithfulness 指标,在 TruthfulQA、FactScore 等基准中有完整定义。

检测方法:评审 Agent(Grader)在验证断言的同时,额外提取输出中的所有「隐含声明」并逐一核查是否有执行记录支撑:

输出声明:「报销草稿已保存,fdId: a1b2c3d4」
检查:transcript 中 saveExpenseDoc 返回值是否包含 fdId=a1b2c3d4?
结果:✅ 有原文支撑,非幻觉

输出声明:「金额已调整为 288 元(超标扣减 32 元)」
检查:transcript 中 checkExpenseItem 返回值是否显示超标金额 32?
结果:❌ transcript 显示无超标,模型编造了超标信息

S 级要求 0 次幻觉:S 级 Skill 的输出(如报销金额、银行账户、保存状态)直接影响用户决策,用户没有办法主动发现幻觉,必须做到零幻觉。


8. 覆盖率(Coverage)

覆盖率衡量测评结论能代表多大范围,综合覆盖率 = 功能覆盖率×0.5 + 路径覆盖率×0.3 + 断言覆盖率×0.2,S/A 级目标 ≥ 85%。

定义

功能覆盖率 = 有用例覆盖的规则数 / 总规则数 × 100%
路径覆盖率 = 有用例覆盖的执行路径数 / 总路径数 × 100%
断言覆盖率 = 有断言覆盖的输出字段数 / 总输出字段数 × 100%

综合覆盖率 = 功能覆盖率×0.5 + 路径覆盖率×0.3 + 断言覆盖率×0.2

为什么重要:通过率 100% 但覆盖率 50%,意味着只测了一半的规则,另一半不知道对不对。覆盖率是「测评结论能代表多大范围」的度量。


完整准入指标表

说明:以下阈值为参考基线,不是行业统一标准,应根据实际业务容错度调整。

指标S 级A 级B 级C 级
通过率≥ 95%≥ 90%≥ 80%≥ 70%
触发率(精确)⚠️≥ 95%≥ 90%≥ 85%≥ 80%
触发率(AI估算)TP ≥ 80%(参考)TP ≥ 80%(参考)TP ≥ 70%(参考)仅参考
增益 Δ> 0,不允许负向> 0≥ -5%不要求
IFR= 100%≥ 95%≥ 90%≥ 80%
稳定性 Stddev< 0.05< 0.10< 0.20< 0.30
覆盖率≥ 95%≥ 85%≥ 70%≥ 50%
灾难场景全部通过(红线)全部通过(红线)不强制不要求
幻觉检测0 次≤ 1 次≤ 2 次不要求
P95 响应时间< 15s< 15s< 30s< 30s

⚠️ 触发率(精确):精确测量需 claude CLI + skill-creator run_eval.py。触发率(AI估算)每次测评自动运行,产出置信度估算,非硬性 FAIL 条件。P95 响应时间自动从 timing.json 采集,在报告效率章节展示。


纯文本 Skill 全面支持

测评体系覆盖所有 Skill 类型,启动时自动检测并切换对应执行模式:

类型判断依据执行模式断言 evidence 来源
mcp_basedSKILL.md 中有 MCP 工具引用真实工具调用transcript 中工具调用记录
code_execution描述了 Bash/脚本执行真实命令执行Bash 调用记录 + 输出文件
text_generation其他(写作、分析、问答等)纯文本模式response.md 原文段落

纯文本模式的断言规范:没有工具调用,断言必须可量化,不能写主观描述:

✅ 好断言:「输出包含三级标题结构,H1/H2/H3 层次清晰」
✅ 好断言:「回复长度在 200 字以内(SKILL.md 要求简洁)」
✅ 好断言:「输出没有包含用户明确说不需要的代码示例」

❌ 坏断言:「回答看起来比较完整」(主观,不可量化)
❌ 坏断言:「格式还不错」(必须具体化:什么格式算对?)

Grader 评审时 evidence 改为引用 response.md 原文段落,同等严格标准:找不到原文支持 → FAIL。


指标之间的关系

不同指标的组合读法才能真正诊断 Skill 的问题所在——单看任何一个指标都可能误判。以下是最常见的 5 种组合模式:

通过率Δ常见根因行动
Skill 质量好,有明显价值✅ 正常发布流程
≈ 0模型本身就能做到,Skill 无增量价值评估是否需要这个 Skill
> 0Skill 方向对,但执行有问题继续优化 Skill
< 0Skill 帮了倒忙,主动变差🔴 停止发布,重新设计
覆盖率 < 50%结论不可信,补充用例

哪些指标是「权威的」,哪些是「经验值」

有明确学术/工业来源

  • 通过率:OpenAI Evals、HELM 等标准基准
  • 增益 Δ:SkillsBench 论文(arxiv.org/abs/2602.12670,2026-02)
  • 触发率:信息检索领域 Recall/Precision
  • 幻觉检测:TruthfulQA、FactScore
  • 稳定性 Stddev:统计学标准差(样本方差 n-1 公式)

内部经验值(无直接学术背书,但有业务逻辑支撑)

  • S 级通过率 ≥ 95% 的具体阈值
  • IFR = 100% 的要求
  • Stddev < 0.05 的稳定性标准

这些经验值基于「业务容错度、用户预期、历史数据」三因素制定,在你的场景下可以调整——但调整时要说明依据,不能随意放宽。


下一篇,我们来看测试用例怎么设计——8 种用例类型,每种解决什么问题。


常见问题

Q:AI Skill 测评的核心指标有哪些,优先级怎么排? 最核心的三个是:通过率(能不能跑对)、增益 Δ(加了有没有帮助)、IFR 指令遵循率(硬规则有没有被遵守)。其余指标(触发率、一致性、稳定性、幻觉检测、覆盖率)是辅助验证维度。发布前三个核心指标任一不达标,不允许上线。

Q:增益 Δ(Delta)是什么,为什么是发布红线? 增益 Δ = 有 Skill 时通过率 − 无 Skill 时通过率。Δ > 0 说明 Skill 有帮助;Δ ≈ 0 说明 Skill 没有增量价值;Δ < 0 说明加了 Skill 反而更差。根据内部测试研究,约 19% 的场景加了 Skill 会出现负向增益。Δ < 0 是硬红线,必须查明根因才能上线,否则等于给用户发布了一个「帮倒忙」的功能。

Q:IFR(指令遵循率)和通过率有什么区别? 通过率是所有断言的通过比例,IFR 只关注 SKILL.md 中标注了「必须/禁止/固定为」的硬性规则的遵守情况。一个 Skill 完全可能通过率 92% 但 IFR 只有 80%——说明大部分功能正常,但有 20% 的时候违反了关键规则(如 docStatus 参数传错,导致草稿直接进入审批流)。S 级要求 IFR = 100%,因为硬性规则一次违反就是生产事故。

Q:AI Skill 的准入标准是怎么制定的,能直接用吗? 准入阈值(S 级 ≥ 95%、IFR = 100% 等)是基于「业务容错度、用户预期、历史数据」三因素制定的内部实践经验值,不是行业统一标准。可以作为参考起点,但应根据你的业务场景调整——比如仅用于内部辅助决策的 C 级 Skill,通过率要求可以放宽到 ≥ 70%。

Q:通过率很高但 Δ 为负,该怎么处理? 这是最危险也最容易被忽视的情况:Skill 本身执行质量还不错(断言大部分通过),但加了之后反而比不加更差。根本原因通常是 Skill 的某条规则过于死板,限制了模型在某些场景的灵活性。排查方法:逐条禁用 Skill 规则模块,重新测评,看哪个模块被禁用后 Δ 变正——定位到具体规则后,把「必须」改为「优先」,给模型保留兜底能力。