【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最好像“导航 + 核心流程”,不要像百科全书。
|
1.作者:Syw 2.出处:http://www.cnblogs.com/syw20170419/ 3.本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 4.如果文中有什么错误,欢迎指出。以免更多的人被误导。 |

浙公网安备 33010602011771号