阅读,与值得关注的内容Readance

阿里开源 skill-up:你写的 Skill,可能一直在裸奔!!

大家好,我是玄姐。

PS:

AITutor 来了。每个人的 AI 原生学习伙伴,全网首发,点击预约。

2026 年走到现在,Agent Skill 已经成了 AI 领域的标配。
把个人经验沉淀成 SKILL.md,把团队最佳实践封装成可复用的技能包,这些都是常规操作。但社区里最近有个问题特别扎心:
一个 Skill 的好坏,到底由谁定义?评判标准又是什么?
我们观察到,不少团队手里囤了几十上百个自研 Skill,从需求拆解、用例生成,到接口解析、脚本生成、失败诊断,串起了完整流程。可每次迭代,写的人心里都在打鼓:改了几行提示词,行为有没有变?跑一遍 demo 没报错,就敢发出去吗?
在软件工程领域,没有用例、没有回归、没有质量门禁的系统,绝不允许上线。但到了 Skill 这件事上,几乎所有人都在裸奔:写完跑两下,感觉没问题,发布。
原因不复杂。Skill 的本质是提示词工程,SKILL.md 改一个字,行为就可能漂移。官方评测指南(agentskills.io 的 evaluating-skills)虽然给出了正确循环:写真实用例、带不带 Skill 各跑一遍、给输出评分、汇总结果、迭代改进。但整套流程全靠手工,没有工具化,坚持不了几轮。
直到阿里开源了 skill-up,这个局面有了转机。

PS:

Harness 工程更多案例深入免费学习去这里:

图片
1.打开 AITutor 新一代 AI 原生学习伙伴:www.aiaitutor.com 2.在首页输入"Harness” 就能看到更详细更丰富案例。3.包含了图文、视频、播客、闪卡、代码、测验等9种学习模态。

1、skill-up 是什么

一句话概括:The evaluation and evolution tool for Agent Skills,一款 Agent Skill 的评测与进化工具。Go 语言实现,开源4个月,更新非常活跃。
How skill-up evaluates and evolves Agent Skills through automatic eval repair and iteration
它干的事,用工程语言讲,就是把软件测试那套成熟方法论,完整平移到 Skill 上:在真实 Agent Engine(Claude Code、Codex、Qoder CLI)中验证 Skill 的功能正确性,把失败转化为有针对性的修复,并在本地或 CI 中持续回归。
先看它给一个 Skill 项目规定的标准结构:
my-skill/├── SKILL.md              # Skill 定义文档,被测对象└── evals/    ├── eval.yaml         # 评测入口配置(必须)    ├── cases/            # 用例目录,每个文件是一个用例    │   ├── basic-success.yaml    │   ├── edge-case-null.yaml    │   └── regression-001.yaml    └── fixtures/         # 测试资源(可选)        ├── repos/        # 仓库模板        ├── diffs/        # 补丁文件        ├── scripts/      # 评估脚本        └── mcp/          # MCP 工具配置
眼熟吗?这就是一个标准的测试工程目录。cases/ 是测试用例集,fixtures/ 是测试数据和脚手架,eval.yaml 是评测全局配置,定义了在什么环境中、用什么引擎、怎么评估。比如:
schema_version: v1alpha1environment:  type: noneengine:  name: claude_code  model:    provider: anthropic    name: claude-sonnet-4-8cases:  files:    - evals/cases/my-test.yaml

2、工作原理:评测与进化合成一个闭环

skill-up 将 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、怎么搭环境、怎么验证结果:
input:  prompt: "Review the code changes for potential bugs."setup:  git:    init: true    checkout: main    apply_diff: evals/fixtures/diffs/null-check.patch   # 应用补丁constraints:  timeout_seconds: 180  max_turns: 8expect:                        # 基本门槛检查  must_contain:    - "null"    - "bug"  must_not_contain:    - "LGTM"  exit_code: 0judge:                         # 质量评估  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。

3、最妙的设计:用 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 和它的评测集一起变强。

4、快速上手

方式一,装 skill-upper(推荐)。
在 Agent 里直接给它下达任务:
Use skill-upper to evaluate this Skill.Read SKILL.md, identify its most important behaviors, create realistic evalcases 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.jsonskill-up report --format html # 生成 HTML 报告
报告产物很齐全:grading.json、benchmark 对比、JUnit XML、HTML,直接可以挂进 CI 当质量门禁。
首次运行后,也不用手工逐条解读报告,继续与 Agent 对话即可:让 skill-upper 检查最近一次评测结果,逐项诊断失败,修复 SKILL.md 或补充 eval 用例,然后重新运行,直到评测通过。每轮迭代都让 Skill 实现和 eval 评测集保持同步,修复沉淀为回归保障,而不是一次性补丁。

5、三条落地建议

最后给三类同学三个具体动作。
第一、手里有自研 Skill 的,立刻建评测集。别再靠跑一遍 demo 没报错的玄学发布。给核心 Skill 配上 10 到 20 条真实场景的 eval case,接进 CI,每次改动自动回归。
第二、团队里有 Skill 资产的,把质量门禁立起来。很多团队把内部规范、运维流程封装成 Skill 分发,一旦出错,影响的是整个团队的效率。质量把关不该由写 Skill 的人自己说了算,既当运动员又当裁判,是质量工程的大忌。
第三、还没写 Skill 的,这套评测思路照样值钱。用例怎么设计、非确定性输出怎么判定、多引擎怎么对比、报告怎么结构化,skill-up 就是一份现成的 Agent 评测方法论参考,拆开看一遍,比读十篇概念文章有用。

6、写在最后

我们一直有个判断:AI 时代,质量保障的价值不会消失,只会换地方。
以前测函数、测接口、测页面,现在多了测模型、测 Agent、测 Skill。被测对象一直在变,怎么证明它是对的,这个问题永远在。工具在变,方法论是通的。
项目地址放这里:
    GitHub:https://github.com/alibaba/skill-up中文用户手册:https://alibaba.github.io/skill-up/zh/

    送个福利:

    新一代 AI 原生学习伙伴 AITutor「www.aiaitutor.com」,重构学习方式,AI 驱动个性化精准成长,体系化学习+真实案例,塑造 AI 实战能力。快来免费体验吧。

    PS:AITutor 来了。每个人的 AI 原生学习伙伴,全网首发,点击预约。

    7、加我微信

    扫码加我👇有很多不方便公开发公众号的我会直接分享在朋友圈,欢迎你扫码加我个人微信来看👇

    图片

    加星标★,不错过每一次更新!

    ⬇戳”阅读原文“,立即体验 AITutor

    前往微信阅读全文

    内容来自公众号,可前往微信查看原文。

    查看作者的更多文章 →