简介:Skill是封装工作流程、提示词和工具调用规则的文本能力包。本文说明它的组成与运行方式,介绍典型场景,并区分它与提示词、工具调用、微调等概念,同时给出安全审查和选用的要点,帮助读者判断何时使用。
智能体Skill(Agent Skill)是一组以结构化文档封装的能力包,通常是一个Markdown文件。文件内容包括某类任务的操作步骤、可复用的提示词模板,以及何时、如何调用外部工具的规则。把它加载到支持该约定的智能体运行环境后,智能体就具备了对应的专项能力,用户无需在每次对话中重新编写大段指令。
本文聚焦概念本身,不做具体产品的排名或推荐。
理解Skill可以从三个视角切入:
大语言模型具备通用的理解与推理能力,但在具体工作中常出现以下问题:
Skill针对这些问题提供了四方面价值:
例如,一个面向代码修改的Skill可以要求智能体先列出自己的假设,遇到不确定之处主动提问,只修改与任务相关的代码,并用测试验证结果。这些约束若每次都靠用户口头提醒,既费时又难保证执行。
一个典型Skill通常包含以下模块:
| 模块 | 作用 |
|---|---|
| 元信息 | 名称、简介、适用范围,供运行环境判断何时启用 |
| 触发描述 | 说明在哪类输入或场景下应加载该Skill |
| 工作流程 | 分步骤的操作规程,包括检查点与终止条件 |
| 提示词模板 | 可复用的指令片段和输出格式约束 |
| 工具调用规则 | 何时调用哪类工具、参数如何构造、结果如何处理 |
| 约束与边界 | 禁止事项、权限范围、需要人工确认的操作 |
| 示例 | 输入输出样例,帮助模型对齐预期结果 |
下面是一个通用结构的示意,字段名和格式以具体运行环境的约定为准:
---name: 代码变更审查description: 当用户请求审查代码改动或提交前检查时启用---## 工作流程1. 读取变更文件列表,确认改动范围2. 逐处检查逻辑正确性、边界条件和安全风险3. 遇到不确定的假设,先列出并请求用户确认4. 输出问题清单,按严重程度排序## 约束- 不修改与本次任务无关的文件- 执行删除操作前必须获得用户确认## 输出格式- 问题标题、位置、原因、建议修改
Skill的运行通常分为五个阶段:
以下为通用伪代码,用于说明匹配与加载的逻辑:
function handle_request(request, skills):candidates = [s for s in skills if matches(s.description, request)]if candidates is empty:return run_without_skill(request)skill = select_best(candidates)context = build_context(system_prompt, skill.body, request)return agent_loop(context, tools = allowed_tools(skill))
这里有一个关键点:模型把Skill正文当作指令阅读,因此Skill能够实际改变智能体的行为。正因如此,Skill需要像对待代码一样审查,而不能当作普通的说明文档随意使用。
Skill适合流程清晰、重复出现、能够被明确描述的任务。常见场景包括:
在企业场景中,把个人或团队经验封装为Skill时,需要区分通用方法论与受保护的信息。商业秘密、客户数据、个人隐私和雇主保密内容不应直接写入可共享的Skill。涉及劳动关系、知识产权等法律问题,应咨询专业法律人士,本文不作法律结论。
| 概念 | 本质 | 与Skill的关系 |
|---|---|---|
| 提示词(Prompt) | 单次对话中的临时指令 | Skill可以包含提示词,但Skill是持久化、可复用的集合 |
| 工具调用(Function Calling) | 模型输出结构化请求,由程序执行具体函数 | Skill规定何时、如何使用工具,工具本身提供执行能力 |
| 微调(Fine-tuning) | 通过训练修改模型参数 | Skill不改变模型权重,修改和替换成本低 |
| 检索增强(RAG) | 运行时检索外部资料并注入上下文 | Skill侧重流程与规则,RAG侧重事实知识,二者可以组合使用 |
| 插件或扩展 | 宿主程序的功能扩展,通常包含可执行代码 | 多数Skill是文本指令,但也可能引用脚本,两者的安全风险需分别评估 |
简单来说,提示词解决“这一次怎么说”,Skill解决“这一类任务长期怎么做”,工具调用解决“能做什么动作”,微调解决“模型本身的能力如何改变”。
Skill是把工作流程、提示词和工具调用规则封装为可复用文本的能力包,智能体在需要时加载,即可获得对应的专项能力。它的核心价值在于复用、标准化和可审计,适合用于流程清晰、重复出现的任务。
Skill的适用边界也很明确。它不能替代模型本身的能力,无法保证事实准确,对于高风险操作仍需人工把关。选用时应先审查来源,再用小范围测试验证效果,确认稳定后再逐步扩大使用范围。