用 claude plugin eval 测插件到底有没有用
插件装上了、技能也能调,不等于「装了它 Claude 才答对」。模型本身就很强,很多用例关掉插件也能过。新命令 claude plugin eval 要回答的就是这件事:同一批真实提示词,带着插件跑一遍、再关掉插件跑一遍,看分数差了多少。
插件怎么打包、怎么从 marketplace 装,见 插件指南。本文只谈评测。Skills 也能走同一套管线,写法见 Skills 指南。
它到底在比什么
评测不是「插件自己编译过就算合格」。流程是:
- 准备若干用例:真实提示词 + 「什么叫好、什么叫差」的检查项
- 带着插件(或 skill)跑这些用例,打分
- 再关掉插件重跑同一批用例
- 看有插件 / 没插件的分差(delta)
绝对分高不一定说明插件有用。两边都是满分,多半是模型自己就会,插件没贡献。差值为正、且稳定,才值得继续打磨或发布。
先把 Claude Code 更新到带这个命令的版本:
claude update先 init:用真实提示词起草套件
进到插件根目录(有 plugin.json 或 .claude-plugin/plugin.json 的那一层),跑:
claude plugin eval init你要准备的不是空话,而是:
- 几条真实会敲的提示词(该触发、不该触发都带上)
- 好结果长什么样、坏结果长什么样
Claude 会据此起草用例和检查项,先小规模试跑一套,再告诉你全量跑大概要花多少。这一步的目的是把「我觉得挺好」变成可重复的套件,而不是让你手写一整份测试框架。
目录结构还没摆对、本地都加载不起来时,先回去对照 插件指南 的布局,再评测没有意义。
再 eval:终端对照分和 HTML 报告
套件起草完,同一目录执行:
claude plugin eval终端里会看到每个用例有插件 / 没插件的分数。同时生成一份带完整细节的 HTML 报告,方便逐条看检查项过没过。账号若支持,报告也会发成私有产物,不必把评测细节公开出去。
读报告时优先看差值,不要只看「带插件那一列是不是绿的」。差值为零或接近零,常见原因是技能 description 写得太糊,自然语言根本没触发到你的 skill——这和日常 Skills 调优是同一件事,见 Skills 指南。
三条硬约束,别跳过
评测会真正调用模型。它消耗 token(订阅额度或 API 账单都算),结果也有方差:同一条用例多跑几次,分数不会钉死在一个数上。
因此:
- 全量前先用
--runs 1试跑,确认套件能跑通、费用数量级可接受,再加跑次 - 插件里的 hooks 和 MCP 会以你的身份执行。只评测你信任的插件;陌生包先当不可信代码,权限边界见 权限与沙箱
- 评测不能替代安装时的信任判断。能跑通 eval 只说明「在这批用例上有差值」,不说明 hooks 不会误删文件
Skills 也能测,不只是插件包
官方说明里,skill 和插件都可以对着同一批用例跑。单仓 .claude/skills 里那份反复粘贴三次才沉下来的流程,同样适合用评测看「加上 skill 到底稳不稳」,不必非等到打成 marketplace 包。插件是跨仓复用的包装;评测关心的是行为有没有变好。
本地开发仍可用 --plugin-dir 加载未发布的包,改完再 /reload-plugins,这和评测是两条线:前者看「装没装上」,后者看「装上有没有用」。
实操小结
claude update,在插件目录跑claude plugin eval init,带上真实提示词和好坏样本- 看它给出的全量费用估计;先
claude plugin eval --runs 1试跑 - 全量
claude plugin eval,对照有插件 / 没插件的分差和 HTML 报告 - 差值为零先查 skill 描述和触发条件,再改插件本身
- 只评测信任的插件:hooks / MCP 按你的权限跑
手感用来发现方向,评测用来决定能不能发。差值稳定为正,再谈 marketplace 文案也不迟。