阿里开源:skill-up,一款Agent Skill 评测工具!

简介: 阿里开源的 skill-up 是首个专为 Agent Skill 设计的评测与演进工具,将软件测试方法论完整迁移:支持多引擎运行、声明式 YAML 用例、规则/脚本/LLM 三类断言,并内置自动修复与回归闭环。本地可跑,CI 可集成,让 Skill 质量可度量、可保障。

2026 年走到现在,Agent Skill 已经成了 AI 领域的标配。

把个人经验沉淀成 SKILL.md,把团队最佳实践封装成可复用的技能包,这些都已经是很常规的操作了。最近在社区上看到有篇文章问了一个特别扎心的问题。

「一个 Skill 的『好坏』,到底由谁定义?评判它的标准又是什么?」

这个问题我是真的感同身受。

我自己陆陆续续沉淀了 上百 个自研的 Agent Skill,光AI测试领域的skill,都沉淀了好几十个,从需求拆解、用例生成,到接口解析、脚本生成、失败诊断、报告产出,流水线编排,串起了接口和 UI 自动化的完整流程。

但每次迭代更新一个 Skill,我心里都在打鼓。

改了几行提示词,行为有没有变?跑一遍 demo 没报错,就敢发出去吗?下个版本还会好吗?

在测试领域,有一项铁规,绝不会允许一个没有用例、没有回归、没有质量门禁的系统直接上线。但到了 Skill 这件事上,几乎所有人都在裸奔。写完跑两下,感觉没问题,发布。

原因也不复杂。Skill 的本质是提示词工程,SKILL.md 改一个字,行为就可能漂移。而官方的评测指南(agentskills.io 上的 evaluating-skills)虽然描述了正确的循环,写真实用例、带着和不带 Skill 各跑一遍、给输出评分、汇总结果、迭代改进,但整套流程全靠手工,没有工具化,坚持不了几轮。

直到我看到了阿里开源的这个项目。

skill-up,一款Agent Skill 评测工具

skill-up,阿里开源,用一句话来概括就是:The evaluation and evolution tool for Agent Skills,一款Agent Skill 的评测工具。Go 语言写的,开源两个月,更新的很活跃。

它干的事,用测试人的话说,就是把软件测试那套方法论,完整地平移到了 Skill 上。

你可以用它验证 Skill 在真实 Agent Engine(如 Claude Code、Codex、Qoder CLI)中的功能 正确性,把失败转化为有针对性的修复,并在本地或 CI 中持续回归。

先看它给一个 Skill 项目规定的标准结构。

my-skill/
  SKILL.md                        # Skill 定义文档,被测对象
  evals/
    eval.yaml                     # 评测入口配置(必须)
    cases/                        # 用例目录
      basic-success.yaml          # 每个文件是一个用例
      edge-case-null.yaml
      regression-001.yaml
    fixtures/                     # 测试资源(可选)
      repos/                      # 仓库模板
        sample-project/
      diffs/                      # 补丁文件
        null-check.patch
      scripts/                    # 评估脚本
        check-output.sh
      mcp/                        # MCP 工具配置
        github.json

眼熟吗?这就是一个标准的测试工程目录。

cases/ 是你的测试用例集,fixtures/ 是你的测试数据和脚手架,

eval.yaml 是评测的全局配置,定义了「在什么环境中、用什么 Engine、怎么评估」。

比如:

schema_version: v1alpha1

environment:
  type: none

engine:
  name: claude_code
  model:
    provider: anthropic
    name: claude-sonnet-4-8

cases:
  files:
    - evals/cases/my-test.yaml

工作原理

skill-up 将 Agent Skill 的评测演进合为一个闭环:通过声明式 YAML 评测、隔离的多引擎运行、灵活的 Judge 和结构化报告,让质量可度量;再由 skill-upper 把失败转化为改进,自动修复或补充 eval 用例,并与你持续重跑和迭代。

同一套流程既可在本地运行,也可接入 CI;同时兼容 Anthropic evals.json 导入,并输出 JSON、JUnit 和 HTML 报告。

三种「断言」,对应测试的三种校验方式

评测一个 Skill 的输出对不对,skill-up 支持三种 judge(判定器)。

判定方式 说明 测试人对应的概念
rule_based 规则匹配,文件是否存在、内容是否包含关键字 精确断言
script 跑自定义脚本,校验产物结构、跑语法检查 脚本校验
agent_judge 用另一个模型当裁判,按标准给输出打分 LLM-as-a-Judge

注意第三个。agent_judge 就是我们在大模型评测里反复讲的 LLM-as-a-Judge,用模型评模型的输出,这在 Agent 评测体系里已经是标配手段了,现在直接内置到了 Skill 测试工具里。

在cases中,每个 .yaml 文件定义一个评测用例,包含「发什么 prompt」和「怎么验证结果」。

单轮对话

大多数场景使用单轮 prompt 即可:

id: find-null-bug
title: 应该识别出空指针 bug
description: 验证 Skill 能在代码审查中发现 null 解引用问题

input:
  prompt: |
    Review the current diff and report findings.

context:
  repo_fixture: evals/fixtures/repos/null-check-bug    # 加载仓库模板
  git:
    init: true
    checkout: main
    apply_diff: evals/fixtures/diffs/null-check.patch   # 应用补丁

constraints:
  timeout_seconds: 180
  max_turns: 8

expect:                           # 基本门槛检查
  must_contain:
    - "null"
    - "bug"
  must_not_contain:
    - "LGTM"
  exit_code: 0

judge:                            # 质量评估
  type: rule_based
  success:
    - output_contains:
        all: ["null", "bug"]
    - exit_code: 0

多轮对话

当评测需要多次顺序交互时(例如迭代优化、阶段门控工作流、澄清循环),使用 input.turns 代替 input.prompt

input:
  turns:
    - role: user
      content: "用 Go 实现一个二分查找函数。"
      post_condition:
        must_contain_all: ["func", "binary"]
        on_fail: fail
    - role: user
      content: "为刚才写的函数添加单元测试。"
      post_condition:
        must_contain_any: ["Test", "t.Run", "testing"]
        on_fail: fail

把 skill-up 的概念翻译成测试行话

看完文档我列了张翻译表,你会发现这门工具几乎没有学习成本。

skill-up 里的概念 软件测试里的概念
eval case 测试用例
fixtures 测试夹具 / 测试数据
judge 断言体系
--baseline 基线对比
regression case 回归用例
--iteration 多轮运行 多轮次测试
JUnit XML / HTML 报告 测试报告
CI 支持 持续集成

这不是巧合。Skill 评测面对的问题,非确定性输出怎么断言、怎么防止改动引入退化、怎么让质量评估可重复,就是我们在大模型测试里趟过的路。skill-up 只是把这些答案工程化成了 CLI。

所以我想说一句可能有点武断的判断。

Agent Skill 的质量保障,天生就该是测试人的主场。

写 Skill 的人很多是开发和算法背景,他们擅长把功能做出来。但「怎么证明它是对的、怎么保证它下次还对」,这是测试工程师吃了几十年饭的本事。

快速上手

方式一,装 skill-upper(推荐)

skill-up 仓库里自带了一个叫 skill-upper 的 Agent Skill,装完之后你用自然语言对话就能驱动整个评测流程。

# Claude Code 全局安装
npx skills add https://github.com/alibaba/skill-up/tree/main/skills/skill-upper -g -a claude-code -y

# Codex 全局安装
npx skills add https://github.com/alibaba/skill-up/tree/main/skills/skill-upper -g -a codex -y

安装这个 Skill 前不需要先安装 skill-upskill-upper 在运行时会检查 skill-up 命令是否可用;如果缺失,它会引导 Agent 完成安装。

装好后在 Claude Code 里打开你的 Skill 项目,直接说。

Use skill-upper to evaluate this Skill.
Read SKILL.md, identify its most important behaviors, create realistic eval
cases with appropriate judges, validate the configuration, and run skill-up.

它会自己读你的 SKILL.md、识别核心行为、生成评测用例、跑完评测、给你一份失败分析。

方式二,命令行直接装

curl -fsSL https://raw.githubusercontent.com/alibaba/skill-up/main/install.sh | bash

常用的几个命令。

skill-up run                          # 跑全部用例
skill-up run --engine codex           # 指定引擎和模型
skill-up run --baseline               # 开基线对比
skill-up run --parallelism 4          # 控制并行数
skill-up run --auto                   # 自动识别 Anthropic 的 evals.json
skill-up report --format html         # 生成 HTML 报告

报告产物很齐全,grading.json、benchmark 对比、JUnit XML、HTML,直接可以挂进 CI 当质量门禁。

用 Skill 测 Skill

整个项目里我觉得最妙的是 skill-upper 这个套娃结构。

skill-upper 本身就是一个 Agent Skill,它的职责是给别的 Skill 做测试。

完整的循环是这样的。

对话生成评测用例
  ↓
skill-up 运行评测,产出结构化报告
  ↓
skill-upper 逐条读失败用例
  ↓
判断是 Skill 错了还是用例错了
  ├─ Skill 错 → 修 SKILL.md 和配套文件
  └─ 用例错 → 修 eval case 和判定器
  ↓
把修好的 bug 沉淀成回归用例
  ↓
再跑,再迭代,直到重要行为全部通过

官方管这个叫 Eval-to-Evolution Loop,评测到进化的循环。翻译过来就是测试左移加上持续回归的 Agent 版本。报告变成修复,修复变成回归用例,每一轮迭代都让 Skill 和它的评测集一起变强。

这个思路跟我在《AI 测试实战系列》里反复强调的「bad case 回流」完全是一回事,只不过它把整个循环自动化了。

创建并运行第一组评测

在 AI Agent 中打开目标 Skill 项目。目标项目至少应包含:

my-skill/
  SKILL.md

然后直接给 Agent 一个明确任务:

使用 skill-upper 给这个 Skill 添加评测。
添加这个评测用例:
- 输入:写一个 hello world 的程序。
- 评测:是否包含 hello 和 world 打印。

然后运行 skill-up 完成校验和评测。

Agent 应该会生成类似结构:

my-skill/
  SKILL.md
  evals/
    eval.yaml
    cases/
      basic.yaml
my-skill-workspace/
  iteration-1/
    result.json

evals/eval.yaml 位于包含 SKILL.md 的目录下时,skill-up 会在运行时 自动安装这个本地 Skill,通常不需要在 eval.yaml 里手动写 Skill 路径。

诊断、修复并持续迭代

首次运行后,不必手工逐条解读报告,可以继续与 Agent 对话:

使用 skill-upper 检查最近一次 skill-up 的评测结果。
逐项诊断失败,修复 SKILL.md 或配套文件;如果评测覆盖不足,
补充或改进 eval 用例,然后重新运行 skill-up。
持续迭代直到评测通过,或说明仍然受阻的原因。

skill-upper 会根据 skill-up 的结构化结果驱动下一次修改。每轮迭代都会让 Skill 实现和 eval 评测集保持同步,使修复沉淀为回归保障,而不是一次性补丁。

我的几条建议

最后讲讲我对这事的判断,给三类同学三个具体的动作。

1、有自己的 Skill 的,立刻建评测集

如果你像我一样囤了一堆自研 Skill,别再靠「跑一遍 demo 没报错」的玄学发布。给核心 Skill 配上 10-20 条真实场景的 eval case,接进 CI,每次改动自动回归。

2、团队里有 Skill 资产的,把质量门禁立起来

很多团队现在把内部规范、运维流程都封装成 Skill 分发。这些 Skill 一旦出错,影响的是整个团队的效率。谁来做质量把关?这事不该由写 Skill 的人自己说了算,既当运动员又当裁判,是测试里的大忌。测试同学主动把 Skill 评测体系搭起来,这就是新阵地。

3、还没写 Skill 的,评测思路照样值钱

就算你不写 Skill,skill-up 的整套评测设计,从用例怎么设计、非确定性输出怎么判定,到多引擎怎么对比、报告怎么结构化,就是一份现成的 Agent 评测方法论参考。做 AI 测试的同学把它拆开看一遍,比读十篇概念文章有用。

写在最后

我一直有个观点,AI 时代测试岗的价值不会消失,只会换地方。

以前我们测函数、测接口、测页面,现在多了测模型、测 Agent、测 Skill。被测对象一直在变,「怎么证明它是对的」这个问题永远在。

工具在变,方法论是通的。你在软件测试里攒下的每一分功力,在 Agent Skill 这个新战场上都作数。

skill-up 的地址放这了。

👉 GitHub,https://github.com/alibaba/skill-up

👉 用户手册(中文),https://alibaba.github.io/skill-up/zh/

觉得有用帮忙点个 Star,也欢迎转给团队里管 Skill 资产的同学。


我是狂师,公众号长期分享 AI 测试提效实战。最近我做了一个重大决定,将AI测试开发学习路线开源了:https://github.com/zhoujinjian/ai-testing-guide

并且与开源项目同步配套上线了一款免费在线学习网站👉:https://ai.testfather.cn/

放心食用,觉得有用,就帮忙点个Star吧 ⭐

目录
相关文章
|
21天前
|
Web App开发 人工智能 前端开发
编译通过 ≠ 能用:试试 UseIO,把前端验收还给 AI 自己
AI写代码只需3分钟,但人工验收常耗一整个下午。本文揭示瓶颈不在“生成”,而在“验收”——弹窗遮挡、点击无响应、接口500等前端顽疾,typecheck和单测均难覆盖。文章提出将验收拆解为视觉、交互、网络、控制台四层,让AI自主截屏分析、模拟点击、抓取请求、检查日志,实现闭环自验,真正释放开发者心流。(239字)
|
20天前
|
人工智能 测试技术 定位技术
从0到1打造测试用例生成智能体:RAG+知识图谱实战全记录
本文揭秘如何用“RAG+知识图谱+智能体”三合一方案破解AI测试用例乱编难题:RAG负责精准检索文档,知识图谱建模业务关系(如“订单取消→库存回滚”),智能体融合二者驱动大模型生成高覆盖、可验证的用例。实战中人工审核通过率从32%跃升至89%,让AI不再瞎编,而是照着“业务地图”精准行走。
|
22天前
|
缓存 人工智能 监控
整理了一份 DeepSeek Harness 必备插件清单!
本文是DeepSeek Harness发布半个多月后的插件精选指南,涵盖10款高实用性插件:从生态入口dsh-market、视觉增强modlens,到界面升级、代码侧栏、文件引用、桌面端、多源搜索、长期记忆、费用监控及知识精读工具。附安装命令与适用场景,新手三步起步建议,助你高效打造个性化AI工作台。
1364 4
整理了一份 DeepSeek Harness 必备插件清单!
|
1月前
|
人工智能 缓存 自然语言处理
多智能体不是多开几个 Agent:如何解决分工冲突、任务死锁和结果矛盾?
多智能体协同的核心不是“让更多模型一起工作”,而是建立任务、状态、权限和结果仲裁机制。
351 5
|
20天前
|
测试技术 API 开发者
企业智能体协作治理实践:用 DeepSeek Harness + Haoee 处理版本、权限与资源耦合问题
只有把空间共享、权限分配、内容监督和使用隔离连成闭环,企业才能避免“一个知识库改动,所有智能体一起出问题”
207 0
|
8天前
|
人工智能 监控 JavaScript
最近火爆出圈的,FDE 到底是个什么岗位?
FDE(前沿部署工程师)是AI时代新型复合岗:驻客户现场,贯通技术与业务,主导大模型在真实场景的端到端落地。需兼具AI应用开发、工程化交付与业务沟通三大能力,非单纯“调API”或售前角色。高薪热门,但重实战、重结果。
616 1
最近火爆出圈的,FDE 到底是个什么岗位?
|
1月前
|
Web App开发 人工智能 安全
2026 上半年智能体AI Agent趋势报告 GitHub、PH、HF 三端全网数据调研
《AI Agent 市场趋势分析报告(2026 H1)》基于GitHub、Product Hunt等开源数据,深度剖析AI Agent生态:占比15.64%,成增长最快类别;GitHub与Vercel为首选分发平台;设计、营销、编程等垂直场景落地加速;“软件即数字员工”范式兴起,MCP协议与多Agent蜂群成新基础设施。
2026 上半年智能体AI Agent趋势报告 GitHub、PH、HF 三端全网数据调研
|
4天前
|
缓存 人工智能 测试技术
Codex 子 Agent 配置:config.toml 字段、并行判据与上下文管理
本文详解Codex子Agent配置要点:厘清`config.toml`作用域、`[agents]`字段语义(尤其`max_concurrent_threads_per_session`不含主Agent)、`max_depth=1`的必要性、官方并行判据、轮询开销、主线程模型选择策略、`reasoning.effort`五档含义及上下文管理开关等关键细节,助你规避常见配置陷阱。(239字)
|
17天前
|
机器学习/深度学习 人工智能 自然语言处理
轻量化小模型MiniMind从训练到落地指南
本文基于Ubuntu 22.04与RTX显卡,手把手教你用原生PyTorch从零训练MiniMind(26M–200M)轻量大模型:涵盖环境配置、预训练、SFT微调、LoRA垂域适配、DPO对齐、Web服务搭建及GGUF量化全流程。3小时可跑通基础对话,低成本、可复现、适合新手入门与私有化部署。(239字)
225 2
|
1月前
|
人工智能 缓存 前端开发
智谱GLM-5.3+ZCode Agent,真实项目第一手实测!
智谱推出ZCode智能体开发环境,与旗舰模型GLM-5.3深度协同,实现“原生模型+原生Agent”高效配合。实测显示,ZCode提升任务通过率2.39%,缓存命中率超98%,显著降本增效。零配置、多平台、支持SSH/Docker,真实项目重构验证其开箱即用与工程落地能力。
1019 0
智谱GLM-5.3+ZCode Agent,真实项目第一手实测!