AI Skill的本质解析:从临时对话到可复用流程
如果你时常听到skill这个词,却始终不明其意。
特别是当你计划创建自己的skill,或是探究其构成原理时,这篇文章能帮你理清头绪。
skill并非一句简单的提示词。
skill更像是一份交付给AI的任务指南,或者说,一本迷你操作手册。
它要解决的并非“这次如何回应”,而是“今后遇到同类任务,你应遵循怎样的流程”。
例如,你经常让AI抓取网页、整理知识库、修改口播稿、转换公众号排版。
若每次都需重新解释,AI自然也能完成。
但它每次都要重新揣测你的需求,重新猜测你偏好的格式,重新推演你的流程步骤。
此时,skill的价值便显现出来。
你将这类重复性任务,打包成一个独立的能力模块。
下次只要用户提及这个场景,AI便会加载这套说明,再执行操作。
因此skill的本质,不在于聊天互动。
在于将“临场发挥”,转化为“可复用的流程”。
先来看最小结构。
一个skill文件夹,最少只需一个文件:
这份SKILL.md是必需的。
缺少它,便不算一个完整的skill。
其内容通常包含两部分。
第一部分是frontmatter,即最上方的YAML信息。
最关键的一般是两个字段:
name是skill的名称。
description并非面向用户的宣传语,它更像触发条件的说明。
你需要在其中明确写出:
因为AI日常首先看到的,往往就是这段描述。
它会先根据描述判断:这个skill是否需要触发。
第二部分则是正文,即具体的使用说明。
你可以将其理解为:
这个skill的工作边界、执行步骤、注意事项、需引用的参考文件,都写在这里。
因为实际任务通常不止一段说明就能涵盖。
常见的结构大致如下:
下面我来逐一讲解。
这是入口文件。
AI先依赖它判断是否使用这个skill。
真正触发后,再按照其中的说明继续读取其他文件。
因此SKILL.md需完成两件事:
第一,阐明这个skill解决什么问题。
第二,告知AI何时该去读取references/目录,何时该运行scripts/目录的脚本。
这个文件通常并非所有skill都必备。
它更偏向界面层的元数据。
例如技能列表中显示的名称、简短描述、默认提示词是什么。
如果你只是先在本地创建一个可用的skill,这一层并非首要考虑。
但若你想将skill做得更规范,或计划接入技能市场、技能面板,这个文件会很有用。
这个目录存放的是可执行脚本。
为何要单独存放?
因为某些操作,仅靠文字解释不够可靠。
例如:
这种情况下,将逻辑写入脚本,比每次让AI现场编写更可靠,也更节省token。
这个目录至关重要。
它存放的是参考资料,而非直接输出物。
例如:
为何不将这些内容全部塞入SKILL.md?
因为篇幅会过长。
skill并非写得越多越好。
真正优秀的skill,通常是入口简洁,详细资料按需读取。
这样上下文更清晰,AI的判断也更可靠。
这个目录存放的是产出时需用到的资源。
例如模板、样式、图标、示例文件、样板文档。
它与references/目录的区别在于:
references/更像是供查阅的。
assets/更像是供使用的。
这里许多人容易误解。
skill并非你手动打开一个文件夹,再复制其中的提示词。
更常见的用法是:
AI先查看skill的描述。
如果用户当前请求匹配了这个场景,它便自动触发。
触发之后,再去读取SKILL.md的正文。
如果正文中还写明:
它再继续执行后续步骤。
因此skill的使用链路,通常是这样的:
用户提出需求 -> AI判断哪个skill相关 -> 读取SKILL.md -> 按需读取references/ -> 按需运行scripts/ -> 生成结果
这也是skill为何适合处理重复性任务的原因。
因为它并非存储答案。
它是存储方法。
如果你是初次尝试,我建议不要一开始就创建庞大的skill。
先从最小闭环做起。
只需三步。
第一步,先选择一个你已经重复执行过3次以上的任务。
例如:
不要选择过于庞大、宽泛的任务。
“帮我做内容运营”这类就太大了。
“把文章改成视频口播稿”这类就比较合适。
第二步,新建一个skill文件夹,只编写一个SKILL.md文件。
像这样:
SKILL.md先写四样内容就足够了:
先别追求复杂的结构。
先让它能运作起来。
第三步,运行几次真实任务。
如果你发现:
再进行拆分。
例如将冗长的说明拆到references/目录。
将稳定的操作拆到scripts/目录。
将模板拆到assets/目录。
这才是比较自然的创建顺序。
不是先搭建一棵漂亮的目录树。
而是先跑通流程,再进行分层。
总结
skill = 任务定义 + 触发条件 + 执行步骤 + 可复用资源。
如果说得更直白一些。
提示词,解决的是“你这次怎么说”。
skill,解决的是“这类事以后怎么做”。
因此真正值得做成skill的,往往具备三个特点:
•会重复出现
• 步骤相对稳定
• 做错成本比较高
例如抓取网页、整理知识库、标准化改稿、固定格式发布。
这些都很适合做成skill。