文档目录

文档/进阶

42plugin-eval

技能评估套件:用断言测试和盲测对比,量化技能的真实贡献

技能越来越多,但哪个真的有用?42eval 用断言测试 + 盲测对比,量化每个技能的实际贡献。

为什么需要评测技能?

一个技能可能让 AI 的输出结构更清晰,也可能只是多绕了一圈,结果和直接问 AI 差不多。更糟的情况是,技能反而限制了模型本身的能力,输出质量不升反降。

没有评测,这些都只能靠感觉。42eval 把感觉变成数据。

如何启用

42eval 是 42plugin CLI 的内置功能,默认关闭。先确认 CLI 版本在 0.3.9 或更高:

42plugin --version

42eval 需要 42plugin CLI 0.3.9 或更高版本。运行 42plugin upgrade 升级到最新版。

如果还没有安装 CLI:

macOS / Linux
curl -fsSL https://get.42plugin.com/cli | bash
Windows
irm https://get.42plugin.com/cli.ps1 | iex

然后开启:

42plugin builtin enable 42plugin-eval

启用后你会获得:

  • 命令行工具 42plugin eval:适合批量操作和自动化
  • 交互式技能 /42plugin-eval:在 Claude Code 中使用,AI 引导你完成评测

你还需要一个要评测的 Skill。本页教程以 psych-review(心理学文献综述)为例,用你自己写的任何 Skill 都可以照着做。

核心方法:衡量技能的增量贡献

42eval 不问「输出好不好」,而是问「相比不用技能,输出多了什么」。

用同一道题考两遍:一遍让 AI「带着技能」答题,一遍让 AI「裸考」。然后对比两份答卷,逐条检查断言是通过还是失败。差值就是技能的真实贡献。

断言的四种分类

分类检查什么举例
structure(结构)输出有没有特定的章节、表格、代码块「包含 PICOS 五个章节标题」
content(内容)有没有特定的实质性内容「至少分析了 3 个核心实体」
differential(差异化)没有技能就做不到的事「使用了技能定义的三阶段分析法」
quality(质量)整体输出质量是否达标「给出了可执行的下一步建议」

其中 differential(差异化) 断言是重点:它检查的是「只有用了技能才会出现的东西」。每道考题至少要有 2 条差异化断言,否则无法区分「模型本来就会做」和「技能帮了忙」。

技能矩阵:四种技能类型

42eval 用一个 2×2 矩阵刻画技能的价值来源:AI 模型自身能力和技能编码的人类经验质量。

模型能力强模型能力弱
人类经验高mastery(精通)codification(规范)
人类经验低leverage(杠杆)scaffolding(脚手架)

不同象限的技能,价值来源和评测策略不同。42plugin eval classify 会自动分析并推荐对应的评测策略。

断言健康度:评测你的评测

评测完成后,每条断言会被标记健康状态:

状态含义建议
skill-differential(技能价值)带技能通过,裸考失败保留,这是技能的核心贡献
always-pass(始终通过)两侧都通过替换,断言没有区分度
always-fail(始终失败)两侧都失败检查,断言可能不合理
inverse(反向)裸考反而通过排查,技能可能帮了倒忙

两种使用方式

两种方式效果完全一样,产出的数据格式和报告也一致,区别只在操作体验:

交互式(推荐新手)命令行
怎么启动在 Claude Code 中输入 /42plugin-eval在终端输入 42plugin eval run
体验AI 一步步引导你,像对话你自己准备好用例,一键执行
适合第一次用、想学习流程批量评测、集成到自动化流程

方式一:在 Claude Code 中交互式评测

适合第一次使用或快速评测一个技能。

/42plugin-eval

AI 会引导你走完六个阶段,你不需要记任何命令,只需要回答 AI 的问题。

  1. 给技能做「体检分类」:AI 读取 Skill 内容,判断它属于哪个象限,不同类型用不同的评测方式。
  2. 搭建评测工作区:在项目目录下创建 .42eval/技能名/,存放所有评测数据。
  3. 设计「考题」:这是最关键的一步。AI 帮你想出 3-5 个测试场景,并为每道题设计评判标准(断言),例如「输出必须包含 PICOS 五个组成部分」。你可以修改和补充。
  4. 正式「考试」:同一道题考两遍,一遍带技能,一遍裸考,再对比两份答卷,看每条断言通过还是失败。
  5. 出成绩单:汇总所有考题的结果,生成可视化的 HTML 报告。
  6. 根据成绩改进:报告会告诉你技能哪里好、哪里需要改。改完可以再评测一轮,看是否进步。

方式二:命令行独立运行

适合批量评测或 CI 集成。

# 1. 给技能分类
42plugin eval classify <技能路径>

# 2. 初始化评测工作区
42plugin eval init <技能路径>

# 3. 编写测试用例(在 .42eval/技能名/cases/ 目录下创建 JSON 文件)

# 4. 运行评测
42plugin eval run <技能路径> -i 1

# 5. 查看统计摘要
42plugin eval benchmark <技能路径> -i 1

# 6. 生成可视化报告
42plugin eval report <技能路径> -i 1 --open

读懂评测结果

关键指标是 delta(增量):用了技能后,断言通过率比不用技能高出多少。

delta评价含义
> 30%优秀技能价值非常显著
20–30%良好技能有明确效果
10–20%及格有一定帮助,还能优化
< 10%不及格技能可能需要重新设计

迭代改进

评测不是终点,而是改进的起点:

# 修改技能后重新快照(保留旧版本存档)
42plugin eval init <技能路径> --force

# 用新版本号跑第二轮评测
42plugin eval run <技能路径> -i 2

# 查看两轮之间的提升
42plugin eval benchmark <技能路径> -i 2

benchmark 会自动计算 version_delta(版本间增量),告诉你这次改进提升了多少。同时记得更新断言:把「始终通过」的换成更有挑战性的版本,让评测标准和技能一起成长。

命令速查

命令说明
42plugin eval classify <路径>技能分类(属于哪个象限)
42plugin eval init <路径>初始化评测工作区
42plugin eval init <路径> --force重新快照(技能改了之后用)
42plugin eval run <路径> -i <轮次>运行完整评测
42plugin eval benchmark <路径> -i <轮次>查看统计摘要
42plugin eval report <路径> -i <轮次> --open生成并打开 HTML 报告
42plugin eval serve <路径>启动本地报告查看器

所有命令都支持 --json(输出机器可读的 JSON 格式)。

实战教程:评测 psych-review

下面用「心理学文献综述」技能 psych-review 走完一次完整的命令行评测。它指导 AI 按学术规范做系统性文献综述——听起来很专业,但它真的比直接问 AI 更好吗?

第一步:给技能分类

42plugin eval classify .claude/skills/psych-review

这条命令让 42eval 阅读技能内容,从两个维度分析:模型能力有多强,以及技能里编码的人类经验质量有多高。

输出示例:

2×2 矩阵分类结果
────────────────────────────────────────
  象限: mastery — 精通
  策略: comparison — 盲测对比
  模型自身能力: strong (68/100)
  人类经验: best (91/100)
  置信度: 0.8

矩阵定位:
          模型能力强(strong)    模型能力弱(weak)
        ┌──────────────────┬──────────────────┐
  人类  │ ★ mastery        │ codification     │
  经验高│   (精通)          │   (规范)          │
        ├──────────────────┼──────────────────┤
  人类  │ leverage         │ scaffolding      │
  经验低│   (杠杆)          │   (脚手架)        │
        └──────────────────┴──────────────────┘

psych-review 落在 mastery(精通) 象限:AI 模型本身就有一定的文献综述能力(68/100),同时技能编码了高质量的学术规范和工作流(91/100)。模型能干,技能也写得好,所以需要更严格的评测方式来区分「技能到底帮了多少忙」。技能落在其他象限也完全正常,只是说明价值来源不同,42eval 会自动匹配对应的评测策略。

第二步:初始化工作区

42plugin eval init .claude/skills/psych-review

这条命令做两件事:

  1. 在项目根目录下创建 .42eval/psych-review/ 文件夹
  2. 把技能内容拍一张「快照」保存下来(即使之后修改了技能,评测用的仍是当时的版本)

创建出来的目录结构:

.42eval/psych-review/
├── config.json            # 刚才的分类结果
├── skill-snapshot/        # 技能内容快照
└── cases/                 # 测试用例(现在是空的,等你来填)

第三步:编写测试用例

这一步是评测的核心:给技能出几道题,并定义好「什么算答对了」。在 cases/ 目录下创建 JSON 文件,每个文件是一道考题。psych-review 设计了 3 道题,下面是考题 1:PICOS 框架定义(cases/eval-1.json)。

{
  "caseId": "eval-1",
  "caseName": "Basic PICOS Framework",
  "prompt": "I need to conduct a systematic review on CBT for adolescent depression. Help me define the PICOS framework.",
  "expectations": [
    {
      "id": "exp-1",
      "description": "Response must define all 5 PICOS components",
      "category": "differential",
      "critical": true
    },
    {
      "id": "exp-2",
      "description": "Population must specify age range (e.g., 12-18 years)",
      "category": "differential",
      "critical": true
    },
    {
      "id": "exp-3",
      "description": "Must suggest creating project directory structure",
      "category": "structure",
      "critical": false
    }
  ]
}

字段很少:

  • prompt(输入):你想让 AI 回答的问题
  • expectations(断言):你期望输出应该满足的条件
  • 每条断言有一个 category(分类,见上文四种分类)和 critical(是否关键)

不知道怎么写断言?在 Claude Code 中输入 /42plugin-eval,告诉 AI 想考什么题目,它的断言生成器会输出 5-6 条断言供你挑选和修改。

第四步:运行评测

42plugin eval run .claude/skills/psych-review -i 1

-i 1 表示「这是第 1 轮评测」,以后改进了技能可以用 -i 2 跑第 2 轮。系统会自动完成所有工作:

开始执行评测 (v1)
  技能: psych-review
  用例数: 3

[eval-1] Basic PICOS Framework
  执行 with_skill...          ← AI「带着技能」答题
  ✓ 已保存 (4435 字符)
  执行 without_skill...       ← AI「裸考」同一道题
  ✓ 已保存 (2348 字符)
  评分中...                    ← 评分器逐条检查断言
  ✓ 评分完成
  ✓ 完成

[eval-2] Database Search Strategy
  ...
  ✓ 完成

[eval-3] APA Citation Format
  ...
  ✓ 完成

聚合结果...

✓ 评测完成!

评分器对两份答卷逐条核对断言:通过还是失败,并引用原文作为证据。with_skill 的输出(4435 字符)比 without_skill(2348 字符)长了将近一倍,但长不等于好,所以需要断言来精确衡量。

第五步:看统计摘要

42plugin eval benchmark .claude/skills/psych-review -i 1

输出:

基准测试结果
──────────────────────────────────────────────────
  技能: psych-review
  迭代: v1
  评测数: 3

  with_skill 平均通过率: 100.0%
  without_skill 平均通过率: 77.8%
  delta: +22.2%

  断言健康度: 3 差异化 | 3 始终通过

关键数字是 delta: +22.2%:用了技能后,断言通过率比不用技能高出 22.2 个百分点,落在「良好」区间,技能确实有用。

最后一行「断言健康度」评估的是你出的考题质量:3 条「差异化」确实能区分技能的贡献;3 条「始终通过」太简单,AI 不用技能也能通过,后面需要替换成更有挑战性的版本。

第六步:打开评测报告

统计摘要只是概览。42eval 真正的亮点是一份交互式 HTML 报告:

42plugin eval report .claude/skills/psych-review -i 1 --open

浏览器会自动打开一份深色主题的报告页面。

如何读懂评测报告

报告首页:三个数字说清全局

报告首页:使用技能 100% vs 无技能 50%,提升 +50%

首页是三个大数字:

  • 100.0%(使用技能的通过率):AI「带着技能」答题时,所有断言全部通过
  • 50.0%(无技能的通过率):AI「裸考」时,只有一半的断言通过
  • +50%(提升幅度):技能带来的提升量

页面顶部的橙色标签 MASTERY SKILL 表示这个技能属于「精通」象限。底部还有几个辅助信息:3 个测试场景、18 项检查通过、评级「优秀」。

场景对比:哪道题最能体现技能的价值

场景对比:三个场景的蝴蝶图

往下是一组「蝴蝶图」:左边橙色条是「使用技能」的通过率,右边灰色条是「无技能」的通过率。三道考题的对比:

  • Basic PICOS Framework(PICOS 框架定义):+100%。AI 裸考得了 0 分,带技能满分,说明技能提供了模型完全不具备的能力
  • APA Citation Format(APA 引用格式):+33%。技能在学术格式规范上有明确帮助
  • Database Search Strategy(数据库搜索策略):+17%。技能仍然有用,但 AI 裸考已经答得不错(83%)

这个对比能帮你发现:技能在哪些场景下价值最高,在哪些场景下可能多余。

分类矩阵:技能在坐标系中的位置

分类矩阵:psych-review 位于 mastery 象限

这张 2×2 矩阵图把技能放在一个坐标系里:

  • 横轴:AI 模型对这类任务的原生能力(左边强,右边弱)
  • 纵轴:技能编码的人类经验(上面高,下面低)

psych-review 位于左上角的 mastery(精通) 象限,标了一个绿色对勾:AI 本身擅长这类任务,同时技能也写得很好,两者的配合需要精细的评测策略才能度量。

检查项诊断:你出的考题质量怎么样

检查项诊断表

这是报告中信息密度最高的部分:不只评估技能,还反过来评估你的考题设计得好不好。表格每行是一条断言,右边两列 WITH 和 W/O 显示通过次数,诊断结果的含义与处理方式见前文「断言健康度」。

在 psych-review 的报告中,6 条断言全部被标记为「技能价值」,说明每条断言都能有效区分技能的贡献。如果出现「始终通过」,把太简单的断言换掉即可。

核心洞察与结论:一眼看到下一步该做什么

核心洞察:四张卡片

报告最后用四张卡片总结发现:

  • 显著提升:通过率从 50% 提升到 100%,技能效果显著
  • 核心价值:9 项检查只有带技能才能通过,技能的独有贡献占了一半
  • 最佳场景:PICOS 框架定义是技能发挥最大价值的地方
  • 稳定表现:所有场景都从技能中获益,没有出现负面影响

底部有两个按钮:「导出 Markdown」方便归档分享,「访问 42plugin.com」回到平台。

常见问题

相关功能