Skillcheck — Skill 效果验证工具
概述
大多数发布的 SKILL.md 文件从未经过测试。你无法判断它们是真的帮到了模型,还是只是装饰。Skillcheck 用受控实验代替直觉判断。
它将任何 Markdown Skill 文件视为药物试验中的药物:
- 归一化——解析 Skill 文件,从前置元数据读取声明的领域
- 生成——任务生成器只看到领域名称,看不到 Skill 正文(防止泄露指令),生成 2× 候选任务
- 运行——每个任务运行 K 轮试验,两个分支:注入 Skill 作为系统提示 vs 不注入
- 盲审——盲审评分器对每个输出打分,不知道哪个分支产生了该输出
- 计分——成对比较通过率,1000次自助采样产生效果大小、95%置信区间和判定:
HELPS(显著提升)/PLACEBO(无显著差异)/HARMS(显著降低)
适用场景
- 发布了新的 SKILL.md 但不确定是否有效
- 需要量化 Skill 对模型表现的影响
- 要对比多个 Skill 版本的效果
- 需要检测已发布的 Skill 是否已经"失效"(rot 检测)
使用方法
安装
npm install -g @sx4im/skillcheck
# 或直接运行(无需安装):
npx @sx4im/skillcheck
要求 Node.js 20+,支持 Linux、macOS、Windows。
交互模式
skillcheck
首次运行会引导你输入 API Key,然后打开文件选择器,选择 .md 文件,选择效率级别,观察进度直到结果卡片输出。
命令行模式
skillcheck check ./SKILL.md # 检查指定文件
skillcheck check ./SKILL.md --tasks 5 --trials 3 # 自定义任务数和试验轮数
skillcheck check ./SKILL.md --json # 机器可读输出
skillcheck check ./SKILL.md --explain # 查看判定原因
skillcheck rot [--results dir] # 检测已失效的 Skill
效率级别
| 级别 | 任务×轮数 | 典型耗时 |
|---|---|---|
| 快速 | 2×1 | ~30秒 |
| 标准 | 3×2 | ~1-2分钟 |
| 深入 | 5×3 | ~3-4分钟 |
配置
凭证优先级:
- NVIDIA_API_KEY → 直连模式(用自己的 Key)
- SKILLCHECK_TOKEN → 托管模式
- skillcheck setup → 交互式配置
常见问题与陷阱
- 每次运行都是独立实验——任务和输出每次都重新生成,结果有自然波动
- PLACEBO 不意味着 Skill 没用——意味着没有可测量的差异
- 宽置信区间意味着不够确定——用更高效率级别重新运行
- Token 开销——包含 Skill 的系统提示会消耗额外 token
- 默认模型
openai/gpt-oss-120b是经过基准测试选择的,追求速度时可用nvidia/nemotron-3-nano --explain不产生额外开销,它复用已有的输出来展示判定原因
验证清单
- [ ] Node.js ≥ 20
- [ ] API Key 已配置(或设置
NVIDIA_API_KEY) - [ ] 理解 HELPS/PLACEBO/HARMS 判定的含义
- [ ] 理解置信区间的含义(宽 = 不确定)
- [ ] 知道每次运行结果会有波动