紧接上一篇分享,今天的重点是Skill。
你是否有过这样的困扰:
好不容易写了一个 AI Skill,却发现 AI 根本不按你的要求执行?
或者技能写好了,但 AI 从来不调用它?
问题可能出在 SKILL.md 上
今天这篇文章,就分享一些skill的编写知识点,打造你的听话AI助手~
Skill是什么?
Skill你完全可以理解成一个或者几个特定功能的组合,AI可以根据你编写的内容按照你的预期方式执行下去,避免AI自己按照自己的想法随意发挥,最后执行结果不尽如意。
Skill包括什么?
一个标准的skill包含以下几类文件:
-
SKILL.md文件(必备)
这是我们任何一个skill技能必备的核心文件,没有它也就相当于没有skill。
-
Scripts脚本库(可选)
这里主要存放一些skill所用到的技能脚本。
-
references资料库(可选)
这里可以放一些行业规范、资料文档等,比如我们的开发规范指南内容
-
assets资源(可选)
这里主要是一些脚本用到的资源素材,个人用得比较少
注:其实大多数时候就一个SKILL.md就能满足大部分的场景了,其余的都可以根据自己需求按需编写。
Skill应该怎么写
SKILL.md文件由以下几部分组成:
- 技能元数据
- 技能描述
- 正文指令
技能元数据
技能元数据主要是包括技能的名称、技能版本号、以及维护者信息。
- 技能名称:
必须是英文、无空格、动宾结构的清晰命令,例如:search_web、zip_file等
- 版本号:
这个就是定义一个版本号,便于维护更新。
- 维护者信息:
这个不必须,如果是团队写作,建议还是添加上。
技能描述
技能描述对技能的效果是至关重要的,决定了你的skill是否好用,有效。 其主要内容包括:
- 功能介绍:
一句话简单介绍skill的作用就行。
- 触发场景:
明确告诉AI在遇到什么问题、执行什么指令时应该用这个技能去处理。
- 禁用场景:
明确告诉AI什么时候不能用,避免AI幻想,滥用skill影响预期效果。
正文指令
这个就是执行skill时具体应该按照什么步骤去干活,用Markdown格式编写就行。 当然这里面如果涉及到scripts脚本库的,也是一样描述清楚就行。
示例对比
错误示例
用于查询天气
正确示例
当你需要获取指定城市的实时天气数据时调用此工具。 必须提供城市的标准中文名称(如:重庆市)。 不支持查询历史天气
常见避坑指南
-
正确命名
命名不正确,skill脚本将无法生效。
-
配置路径正确:
不同ai工具可能有它自己的skill存放路径,路径不正确,skill脚本也是无法生效的,具体AI对应路径可以直接问ai工具,它会告诉你的。