Skip to content

claude plugin eval 测插件到底有没有用

插件装上了、技能也能调,不等于「装了它 Claude 才答对」。模型本身就很强,很多用例关掉插件也能过。新命令 claude plugin eval 要回答的就是这件事:同一批真实提示词,带着插件跑一遍、再关掉插件跑一遍,看分数差了多少。

插件怎么打包、怎么从 marketplace 装,见 插件指南。本文只谈评测。Skills 也能走同一套管线,写法见 Skills 指南

它到底在比什么

评测不是「插件自己编译过就算合格」。流程是:

  1. 准备若干用例:真实提示词 + 「什么叫好、什么叫差」的检查项
  2. 带着插件(或 skill)跑这些用例,打分
  3. 再关掉插件重跑同一批用例
  4. 看有插件 / 没插件的分差(delta)

绝对分高不一定说明插件有用。两边都是满分,多半是模型自己就会,插件没贡献。差值为正、且稳定,才值得继续打磨或发布。

先把 Claude Code 更新到带这个命令的版本:

text
claude update

先 init:用真实提示词起草套件

进到插件根目录(有 plugin.json.claude-plugin/plugin.json 的那一层),跑:

text
claude plugin eval init

你要准备的不是空话,而是:

  • 几条真实会敲的提示词(该触发、不该触发都带上)
  • 好结果长什么样、坏结果长什么样

Claude 会据此起草用例和检查项,先小规模试跑一套,再告诉你全量跑大概要花多少。这一步的目的是把「我觉得挺好」变成可重复的套件,而不是让你手写一整份测试框架。

目录结构还没摆对、本地都加载不起来时,先回去对照 插件指南 的布局,再评测没有意义。

再 eval:终端对照分和 HTML 报告

套件起草完,同一目录执行:

text
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,这和评测是两条线:前者看「装没装上」,后者看「装上有没有用」。

实操小结

  1. claude update,在插件目录跑 claude plugin eval init,带上真实提示词和好坏样本
  2. 看它给出的全量费用估计;先 claude plugin eval --runs 1 试跑
  3. 全量 claude plugin eval,对照有插件 / 没插件的分差和 HTML 报告
  4. 差值为零先查 skill 描述和触发条件,再改插件本身
  5. 只评测信任的插件:hooks / MCP 按你的权限跑

手感用来发现方向,评测用来决定能不能发。差值稳定为正,再谈 marketplace 文案也不迟。

Claude-cn.org,专注于 Claude Code 中文教程