← 返回方法论

Skill 评测实践指南:从 0 到 1 建立你的技能评测体系

适用于想建立自己的技能评测体系的个人开发者或小型团队

---

                    ┌─────────────┐
                    │  性能比较    │  ← 证明 Skill 带来了改善
                    ├─────────────┤
                    │  功能测试    │  ← 验证输出质量
                    ├─────────────┤
                    │  触发测试    │  ← 确保该触发时触发
                    └─────────────┘

[
  {"query": "帮我填写这个 PDF 表单", "should_trigger": true},
  {"query": "创建带 5 个任务的项目", "should_trigger": true},
  {"query": "今天天气怎么样", "should_trigger": false},
  {"query": "帮我写个 Python 脚本", "should_trigger": false}
]

注意事项:

  • should-not-trigger 的查询要有挑战性("写 Python 脚本" 作为 PDF 技能的负例太简单)
  • 寻找"near-misses":那些共享关键词但实际需求不同的查询
  • 至少 10 个正例 + 10 个负例

{
  "skill_name": "pdf-filler",
  "evals": [
    {
      "id": 1,
      "prompt": "帮我填写 ~/Downloads/application.pdf,姓名为张三",
      "expected_output": "成功生成填写后的 PDF 文件",
      "files": ["~/Downloads/application.pdf"],
      "expectations": [
        "输出文件存在于文件系统",
        "PDF 内容包含'张三'",
        "其他原有内容保持不变"
      ]
    }
  ]
}

┌─────────────────────────────────────────────────────────┐
│                    评测迭代飞轮                          │
│                                                         │
│   准备测试集 ──► 运行评测 ──► 审查结果 ──► 优化 Skill   │
│        ▲                                      │         │
│        └──────────────────────────────────────┘         │
└─────────────────────────────────────────────────────────┘

---

┌────────────────────────────────────────────────────────────┐
│              一体化技能进化系统                              │
│                                                            │
│  ┌──────────────┐    ┌──────────────┐    ┌──────────────┐│
│  │ GenericAgent │ +  │ skill-creator│ +  │  业务知识    ││
│  │   (探索)     │    │   (验证)     │    │  (沉淀)      ││
│  └──────┬───────┘    └──────┬───────┘    └──────┬───────┘│
│         │                    │                    │        │
│         ▼                    ▼                    ▼        │
│  ┌─────────────────────────────────────────────────────────┤
│  │  技能资产层                                               │
│  │  • 执行路径自动捕获  → GenericAgent                      │
│  │  • 评测验证质量保障  → skill-creator                     │
│  │  • 业务逻辑深度嵌入  → 你自己                             │
│  └─────────────────────────────────────────────────────────┤
└────────────────────────────────────────────────────────────┘

技能类别 示例 触发关键词
内容创作 写小红书笔记、公众号文章 "写一篇关于..."
数据分析 生成图表、处理 CSV "分析这份数据"
文档处理 PDF 填写、Word 转换 "帮我填写这个表"
代码开发 编写测试、重构代码 "为这个函数写测试"

参考 Anthropic 建议的成功指标:

指标 目标值 测量方法
触发率 ~90% 相关查询 运行 10-20 个测试查询
通过率 ≥80% 断言通过数 / 总断言数
Token 节省 相比无 Skill 节省 30%+ benchmark 对比
API 错误 0 次失败 监控执行日志

1. 编写 Skill 后立即创建测试集
2. 运行基础功能测试(2-3 个用例)
3. 审查输出质量
4. 根据反馈优化
5. 上线后收集真实使用反馈
6. 每月进行一次全面评测

---

A: 从 3-5 个核心用例开始,重点覆盖:

  • 最常见的用户场景
  • 最容易出错的边界情况
  • 最有区分度的对比场景

A: 检查 description 是否包含足够的关键词。参考模式:

"当用户说 [具体动作] + [具体对象] 时使用,例如:[示例触发语]"

A: 建议配比:

  • 简单判断(文件存在、格式正确):自动化 ✓
  • 质量判断(表达流畅、逻辑清晰):人工审查 ✓
  • 风格判断(符合个人/品牌调性):人工审查 ✓
---

指标 含义 目标
Precision 触发时正确的比例 > 90%
Recall 覆盖了多少该触发的场景 > 85%
Pass Rate 断言通过比例 > 80%
Delta 相比基线的改善 越高越好

脚本 用途
run_eval.py 运行触发评估
run_loop.py 自动迭代优化
generate_review.py 生成 HTML 查看器

---

本文档基于 Anthropic skill-creator 官方文档和社区实践整理