Anthropic 正式发布了 claude plugin eval,这是一个专为 Claude Code 插件开发者设计的评估工具。它通过在实际提示下运行插件,并对结果进行量化评分,解决了开发者长期以来无法回答的三个核心问题:技能是否被正确触发?它能否在不同模型或编辑中保持稳定?它是否真的比裸模型表现更好?
- 地址:https://code.claude.com/docs/en/plugin-evals
核心指标:Δ (Delta) —— 插件的真实贡献
评估工作的核心在于对比。默认情况下,每个测试案例会运行两次:
- With-Arm:加载插件。
- Without-Arm:不加载插件(裸模型)。
Δ (Delta) 即为两者得分的差值。这是衡量插件价值的唯一硬指标:
- Δ > 0:插件带来了正向增益。
- Δ ≈ 0:插件没有产生实际影响。如果此时
tool_used: Skill评分器失败,说明 Claude 在自然语言交互中根本没有选择调用该技能。这是仅靠语法检查(claude plugin validate)无法发现的致命缺陷。 - Δ < 0:插件反而干扰了模型的表现。
示例:某案例在加载插件时得分为 1.00,未加载时为 0.33,则 Δ = +0.67。这证明了插件在该场景下的决定性作用。
评估套件结构
评估用例位于插件目录下的 evals/ 文件夹中。每个案例是一个子目录,包含:
prompt.md:测试提示词。支持 Frontmatter 配置max_turns、timeout_seconds、model等参数。注意:@path引用不会被展开,以确保测试环境的纯净。graders/:评分器文件夹。
六种评分器类型
| 类型 | 计费情况 | 说明 |
|---|---|---|
| regex | ✅ 免费 | 通过正则表达式匹配输出内容 |
| tool_used | ✅ 免费 | 检查是否调用了特定工具/技能 |
| tool_order | ✅ 免费 | 验证工具调用的先后顺序 |
| file_exists | ✅ 免费 | 检查磁盘上是否生成了指定文件 |
| llm | 💰 计费 | 使用评判模型(Judge Model)根据自定义标准打分 |
| baseline | 💰 计费 | 将输出与参考答案进行比对打分 |
快速上手与 CI 集成
1. 初始化评估套件
claude plugin eval init
该命令会读取你的插件清单,询问你期望的理想结果,并自动生成初始的案例文件和评分器模板。
2. 运行评估
claude plugin eval . \
--trust-plugin \
--json results.json \
--threshold 0.8 \
--model claude-sonnet-5 \
--judge-model claude-haiku-4-5 \
--no-publish \
--max-cost-usd 20
--trust-plugin:在 CI 环境中必须添加,否则非交互式终端会拒绝运行。--threshold:设定通过率阈值,低于此值则 CI 失败。--max-cost-usd:控制单次评估的成本上限。
3. 查看报告
结果将生成在 evals/results/<timestamp>/report.html 中,包含每个评分器的详细裁决。如果账户支持,报告还会自动发布到 claude.ai。
关键要点
- Δ 是王道:不要只看绝对分数,要看插件带来的增量价值。
- 触发率是关键:如果 Δ 接近零且技能未被调用,说明你的插件描述或触发逻辑需要优化,让 Claude 更“愿意”使用它。
- 成本可控:虽然
llm和baseline评分器会产生额外费用,但通过--max-cost-usd和高效的免费评分器组合,可以将成本控制在合理范围内。 - CI 门控:通过
--threshold和退出码机制,可以将插件评估集成到持续集成流程中,防止劣质更新合并到主分支。
© 版权声明
文章版权归作者所有,未经允许请勿转载。















