哈喽,测试宝子们!
如今,Agent Skill 层出不穷,迭代速度也越来越快。写一个能“跑起来”的 Skill 早已不算难题,真正的挑战在于: 每次迭代,如何快速验证它对最新模型的适配性? 手工评测费时费力,有没有趁手的工具?
别急,阿里巴巴开源了 skill-up —— 一个专为 Agent Skill 开发者打造的命令行评测框架。它的使命很简单: 让 Skill 的每一次迭代,都可验证、可回归。
今天,我们就带大家深入认识这个工具。
一、skill-up 是什么?
用测试人的话来说, skill-up 把软件工程里的测试方法论,完整平移到了 Agent Skill 上 。你可以用它验证 Skill 在真实 Agent Engine(如 Claude Code、Codex、Qoder CLI)中的功能正确性,把失败转化为有针对性的修复,并在本地或 CI 中持续回归。
一个典型的 Skill 评测目录长这样:
这是标准的测试工程结构: cases/ 存放用例集, fixtures/ 放测试数据和脚手架, eval.yaml 定义全局配置 —— 包括运行环境、Engine 类型和评估策略。
执行评测后,你会得到三类结果:
-
每条断言的通过情况与证据 (工具调用记录、输出关键字段、判定理由); -
汇总通过率与耗时 / Token 消耗 ; -
进程退出码 (0 = 全部通过,非 0 = 存在失败),可直接接入 CI 作为合并门禁。
此外,它还能同时输出 JUnit XML 和一份可视化的 HTML 报告 。
二、和其他工具的区别?
做 LLM 或 Skill 评测的工具并不少,为什么还要再造一个?相较于其他 Skill 或 LLM 评测工具,skill-up 的定位有三点不同:
-
它是 framework-orchestrated 的独立 CLI , 整个评测过程不需要由某个 AI 会话来驱动,因此天然适合作为一个步骤嵌进 CI 流水线;
-
它把断言拆成 expect(本地零成本)+ judge(按需调模型) 两层,避免大模型偶发抖动直接阻断构建;
-
它面向的是 Agent Skill 这一具体对象 (安装被测 Skill、跨引擎回放、验证工具调用),而不是泛化的单轮 prompt 打分。
同时,对已经用 Anthropic 风格 evals.json 写过评测的项目,它保持兼容,迁移成本接近于零。
三、skill-up 的工作原理:
skill-up 不止是“又一个评测脚本”,它构建了一个 闭环系统 :
-
声明式 YAML 评测 + 隔离的多引擎运行 + 灵活的 Judge 机制 + 结构化报告 ,让质量可度量; -
再由 skill-upper 将失败转化为改进建议,自动修复或补充用例,持续迭代。
同一套流程,既可在本地运行,也能无缝接入 CI;同时兼容 Anthropic 的 evals.json 导入,并支持 JSON、JUnit 和 HTML 三种报告格式。
四、skill-up 的核心设计
1. 声明式配置 —— 像填表一样写测试
评测环境、引擎、用例、判定策略,全部写在结构清晰的 YAML 里,不再散落在杂乱的脚本中。
好处 :任何人打开文件就能看懂“这条用例要验证什么”;新增用例只需新增一份约 40 行的 YAML,维护成本极低。
2. “expect + judge”分层判定 —— 省钱又防抖
-
第一层 expect(门卫) :本地零成本确定性检查(如输出是否含关键词、文件是否存在)。不达标立即失败,不消耗大模型 Token。 -
第二层 judge(裁判) :只有通过第一关才执行,支持规则匹配、脚本退出码或调用 AI 评审官做语义判断。
好处 :拦截大部分明显错误,避免大模型偶发抖动导致 CI 构建被误阻断。
3. 多引擎无缝切换
内置适配主流引擎(Claude Code、Codex、Qwen Code 等)。切换只需一个命令行参数,同一份用例可在不同引擎上回放对比,帮你找到 Skill 真正稳定的“行为公约数”。
4. CI 友好的结构化报告
输出包含逐条断言证据、汇总通过率和 Token 消耗,并提供进程退出码,可直接作为 PR 合并门禁。额外生成的 HTML 报告(网页链接),团队成员点开即看,无需下载日志。
五、实战案例分享
案例一:多轮会话评测
以前 :多数 Skill 评测是“一问一答”——给 Agent 一段 prompt,看回复是否合理。但真实用户是“你一句、Agent 一句”地多轮对话,很多行为单条 prompt 测不出来。比如“必须先 Research 再 Implement”“用户要求跳步时应拒绝”等流程约束,或者“危险操作先确认,用户点头后再执行”等安全行为。
skill-up 解法 :支持在一个用例里定义 多条连续的用户消息 ,逐条发送给 Agent,并在每条回复后检查结果。
核心能力包括:
-
真实会话保持 :每轮都在同一个 Agent 会话中,Agent 能看到全部历史对话; -
逐轮质量门控 : post_condition在每轮回复后立即检查,不达标可早停,省 Token; -
跨轮值传递 :用正则从某轮回复中提取 token,自动填入后续消息; -
精确到轮的最终判定 :既能断言“某轮回复必须含某关键词”,也能验证“某轮是否调用了某个工具”。
小提示:不要在 judge 里重复 post_condition 已把关的断言。门卫负责“能不能往下走”,裁判负责“最后成不成”,各司其职。
案例二:重型端到端评测
如果说多轮测评贴近用户真实交互,那“重型端到端评测”则代表了 skill-up 能承接的 复杂度上限 。
skill-up 解法:
三层漏斗设计
-
第一层 expect(快速拦截) :本地零成本确定性检查(如关键文件是否存在),不达标立即失败,避免进入昂贵的环境构建。 -
第二层 证据脚本(提供确定性证据) :将实际产出与期望产出做过滤后的 diff,输出结构化的 JSON 证据(只提供事实,不做主观判断)。 -
第三层 agent_judge(语义裁判) :将上述 diff 证据喂给评审 Agent,由其结合领域知识判断“代码差异是否属于合理的等价升级或更优修复”。
若评审规则极其复杂,还可以给评审 Agent 额外安装一个独立的 Judge Skill。
需要强调的是,skill-up 在这类场景中并不替代 CI,而是接管“评测语义和执行框架”这一层。真实环境准备、代码拉取、并发调度、报告发布仍交给 CI 平台;skill-up 负责被测 Skill 安装、用例执行、判定和报告结构。职责边界清晰后,本地和 CI 就能共享同一份评测语言。
案例三:集团内部真实迁移 —— 从 1200 行手搓脚本到一份声明
迁移前 :一套评测由约 623 行 Shell + 近 300 行配置解析 + 上百行 CI 编排组成(合计约 1200 行)。逻辑散落多处,本地和 CI 维护两套独立逻辑,新增用例要同时改多个文件,新人根本看不懂判题逻辑。
迁移后 :删除所有通用执行编排脚本,交由框架承接;仓库只保留业务特有的用例清单和证据脚本。
收益多维 :
-
声明式配置让用例意图从“读完几个脚本才能拼出来”变为“打开 YAML 即可看清”; -
分层判定实现廉价失败快速返回,确定性证据稳定产出,复杂差异交由评审 Agent 判断; -
跨引擎回归从重写整套脚本简化为改一个参数; -
本地与 CI 共享同一份评测语义,不再各自为政。
但 体感变化最大的是报告 。过去评测结果深埋在 CI 制品中,查看需经历“进 CI → 找构建 → 下载 → 解压 → 读 JSON”的长路径,对创建者勉强可接受,对评审人、TL、协作方则门槛过高。迁移后,每次评测的 HTML 报告直接生成一个可访问链接,评审、验收、争议解决一键直达。评测只有被看见才有价值,而被看见的前提是路径足够短。
这个案例也印证了:对于“真实代码仓库输入、真实环境执行、产物级 diff 验证、允许合理差异并需要语义评判”的重型端到端场景,skill-up 的既有原语完全可以承接。它不替 CI 解决环境、镜像、标准答案等基础设施问题,而是将散落在脚本中的评测语义抽取出来,用一套稳定的结构承载。
六、skill-up 如何快速上手?
推荐使用仓库内置的 skill-upper Agent Skill,作为对话式的演进驱动器。它会引导 AI Agent 创建评测、运行 skill-up、诊断失败、修复目标 Skill 或配套文件,并在发现覆盖缺口时补充或改进用例,然后重新运行评测 —— 把单次测试变成“评测 → 诊断 → 修复 → 重跑”的闭环。
1. 安装 skill-upper Agent Skill
推荐使用 skills CLI 安装:
安装前无需预先安装 skill-up。skill-upper 在运行时会自动检查 skill-up 命令是否可用,如果缺失,它会引导 Agent 完成安装。
2. 创建并运行第一组评测
在 AI Agent 中打开目标 Skill 项目(至少包含 SKILL.md ):
然后给 Agent 一个明确任务:
Agent 应该会生成类似结构:
当 evals/eval.yaml 位于包含 SKILL.md 的目录下时,skill-up 会在运行时自动安装这个本地 Skill,通常无需在 eval.yaml 里手动指定 Skill 路径。
3. 诊断、修复并持续迭代
首次运行后,不必手工逐条解读报告,继续与 Agent 对话:
skill-upper 会根据 skill-up 的结构化结果驱动下一次修改。每轮迭代都会让 Skill 实现和 eval 评测集保持同步,使修复沉淀为回归保障,而不是一次性补丁。
话题讨论
讨论1、一个Skill通过了skill-up的全部用例,是否就等于“好Skill”?会不会存在“为通过评测而优化”的过拟合风险?
讨论2、你目前都使用过哪些Agent Skill,觉得最好用得SKill是哪一款?主要解决了什么问题?
以上话题,任选其一,欢迎评论区留言,小编会在下下周一(2026年9月14日)下午,选取1位“关注+点赞+留言”的幸运用户,送出《 Codex 快速入门 Harness工程落地 》1本,快来评论区互动吧~

