【skill】优秀skill的判断标准

优秀的 skill 不是把 prompt 写长,而是把一个重复工作拆成稳定、可触发、可执行、可验证、可维护的工作系统。

SKILL.md 负责“调度和约束”,references/ 负责“知识和细节”,scripts/ 负责“确定性执行”,examples/ 负责“校准质量”

Skill 是什么

Skill 可以理解为“给 ChatGPT 的一份可复用工作手册”。它不是简单 prompt,而是一个小型能力包,通常包含:

  • SKILL.md:入口文件,定义何时触发、怎么执行、输出什么。
  • references/:可按需读取的长文档、规范、模板说明。
  • scripts/:确定性脚本,用于计算、校验、转换、生成文件。
  • assets/:模板、图片、样式文件等输出素材。
  • agents/openai.yaml:展示名称、描述、图标等 UI 元数据。

Skill.md

优秀 skill 的 SKILL.md 应该短、硬、可执行。

它应该告诉模型:

  • 任务目标是什么
  • 必须遵循哪些步骤
  • 什么时候读取哪个 reference
  • 什么时候运行哪个 script
  • 输出格式是什么
  • 有哪些禁止事项
  • 如何处理异常情况

它不应该塞满大量背景知识、长篇方法论、重复解释。长内容应该拆到 references/,让模型按需读取

一个好的结构如下:

skill-name/
├── SKILL.md
├── agents/
│   └── openai.yaml
├── references/
│   ├── scoring-rubric.md
│   ├── examples.md
│   └── edge-cases.md
├── scripts/
│   └── validate_output.py
└── assets/
    └── template.xlsx

 

有边界和失败处理

优秀 skill 一定会告诉模型:

  • 信息不足时怎么办
  • 文件缺失时怎么办
  • 用户需求冲突时怎么办
  • 是否允许假设
  • 是否需要先问澄清问题
  • 是否可以联网
  • 是否能调用外部工具
  • 安全边界是什么

有评估样例

如果这个 skill 是“agent eval”类,尤其应该有 examples 和 rubrics。

一个好的 skill eval 包通常会包含:

  • 测试任务
  • 输入样例
  • 期望输出
  • 评分维度
  • 失败案例
  • 是否调用了正确工具
  • 是否遵守格式
  • 是否完成目标

近期一篇关于 agentic skills 评估的论文提出,skill 作者应构造真实任务,并用 instruction-following 与 goal-completion rubrics 来评估 skill 的效用;他们在 500 个真实 skills 上生成了 1,000 个任务进行评估。

这点很关键:优秀 skill 不是写完就算好,而是能被测试证明它有用

判断一个 Skill 是否优秀的检查清单

维度好 Skill 的表现
触发 一眼知道什么时候用、什么时候不用
范围 聚焦一个可复用任务,不贪大
输入 明确支持哪些输入
输出 有固定结构或质量标准
流程 步骤清晰,可执行
工具 明确何时用脚本、文件、连接器
资源 长资料拆到 references,按需加载
约束 明确禁止猜测、编造、越权
异常 信息缺失、格式错误时有处理方式
评估 有样例、rubric、失败案例
  • 常见上传限制是 skill zip 不超过 25 MB
  • description 是模型判断是否调用 skill 的关键,建议约 100 words 左右
  • 建议把 SKILL.md 控制在 500 行以内

    原因不是“不能超过”,而是它会进入上下文窗口。太长会造成:

    • 触发后占用大量上下文
    • 模型忽略关键规则
    • 后续对话空间变小
    • 执行不稳定
    • 维护困难

    经验上,SKILL.md 最好像“导航 + 核心流程”,不要像百科全书。

posted @ 2026-06-18 11:45  Syw_文  阅读(9)  评论(0)    收藏  举报