Agent 工程化系列 · 第 08 篇
Skills 是什么?为什么它不是一段更长的 Prompt?
把临时提示词,变成可复用、可维护、可共享的工作流能力
前面几篇我们已经讲了 LLM、Agent、Workflow、Function Call 和 MCP。到了这一篇,问题会变得更工程化:如果一个流程已经反复出现,能不能不要每次都重新写一大段 Prompt?
这就是 Skills 出现的背景。它不是一个更长、更复杂的提示词,而是把一个稳定任务的步骤、规范、示例、脚本和模板打包起来,让 Agent 在需要时自动调用。
一句话先讲清楚:Prompt 解决"这次怎么做",Skill 解决"以后遇到这类任务都按这套流程做"。

目录
- 为什么需要 Skills?
- Skills 到底是什么?
- 一个 Skill 里到底有什么?
- Skills 是怎么被触发和执行的?
- Prompt 和 Skill 的本质区别
- 什么任务值得做成 Skill?
- Skills 和 Function Call、MCP 的关系
- 最后总结
01 为什么需要 Skills?
很多人第一次接触 Skills,会把它理解成"高级 Prompt 模板"。这个理解只对了一半。
Prompt 的确可以描述任务,但它通常存在于一次对话里:你临时写一段指令,模型临时照着做。只要换一个人、换一个对话、换一个场景,提示词就可能被改写、遗漏或误用。
而 Skills 的核心价值,是把已经验证过的工作流程沉淀成一个可复用的能力包。比如公众号写作、竞品分析、PPT 美化、数据清洗、代码审查,这些任务都不是一句话能稳定完成的,而是需要固定步骤、输出规范、检查点和辅助资源。

图 2:Skills 解决的是流程复用和结果稳定性问题
02 Skills 到底是什么?
从官方定义看,Skill 是一个可复用、可分享的工作流,用来告诉 ChatGPT 或 Agent 如何更稳定地完成某类任务。它可以包含说明、示例,甚至代码。
从工程角度看,Skill 更像一个"轻量插件包":里面有一个核心的 SKILL.md 文件,也可以带上 scripts、references、assets 等资源。模型不需要每次都记住所有细节,只要任务匹配,就按需读取这套流程。
所以,Skill 不是让模型多知道一个概念,而是让模型多掌握一套"做事方法"。它让经验从聊天记录里抽出来,变成可以安装、分享、版本化、复用的工程资产。
重点: Skill = SKILL.md + 步骤 + 示例 + 可选脚本/模板/资料。它的目标不是回答一个问题,而是稳定完成一类任务。
03 一个 Skill 里到底有什么?
最小的 Skill 通常只需要一个 SKILL.md 文件。这个文件前面会有 front matter,也就是 name、description 这类元信息;正文部分写具体的执行步骤、输出规范、注意事项和示例。
复杂一点的 Skill 还可以带脚本、模板、参考资料和测试样例。例如一个"公众号文章生成 Skill",可以包含文章结构规范、标题风格、图片绘制规则、Word 渲染检查脚本、封面模板等。
这和普通 Prompt 最大的不同在于:Prompt 只有文本指令;Skill 可以把指令、资料、脚本、模板放在一起,形成一个完整的工作流包。

图 3:Skill 更像一个任务能力包,而不是一段孤立文本
04 Skills 是怎么被触发和执行的?
Skills 的一个关键设计是按需加载。平台通常会先把每个 Skill 的 name、description、path 等轻量信息提供给模型,让模型知道"有哪些技能可用"。
当用户任务和某个 Skill 匹配时,模型才会读取完整的 SKILL.md。如果 SKILL.md 里还引用了 references、scripts 或 assets,模型会在需要时再继续读取或执行。
这个机制的好处很明显:你不需要把所有工作流都塞进系统提示词里,也不需要每次对话都复制完整提示词。只有任务需要时,相关流程才进入上下文。

图 4:Skills 通过"先轻量索引、再按需加载"的方式工作
05 Prompt 和 Skill 的本质区别
Prompt 是临时指令,Skill 是可维护流程。
Prompt 更适合一次性任务,比如"帮我把这段话改得更简洁"。Skill 更适合高频任务,比如"以后每次生成公众号文章,都要按固定结构、固定风格、固定检查规则输出"。
如果一个任务只做一次,写 Prompt 就够了;如果一个任务会反复做,而且结果风格、步骤、质量标准都很重要,就应该考虑沉淀成 Skill。

图 5:Prompt 解决临时需求,Skill 解决流程复用
06 什么任务值得做成 Skill?
不是所有提示词都值得做成 Skill。判断标准很简单:这个任务是不是高频、稳定、复杂、需要一致性?
比如"帮我写一句祝福语"没必要做成 Skill,因为变化大、步骤短、复用价值低。
但"按照公司品牌规范生成一份产品分析报告"就适合做成 Skill,因为它有固定结构、固定术语、固定图表风格、固定交付物格式,还可能需要脚本或模板辅助。
| 适合做成 Skill | 不适合做成 Skill |
|---|---|
| 高频重复任务 | 只做一次的临时任务 |
| 有固定步骤和检查标准 | 需求每天都变 |
| 需要模板、脚本、参考资料 | 只是简单改写一句话 |
| 团队多人共用同一流程 | 个人随手问答 |
| 需要版本管理和稳定交付 | 不追求一致性 |
07 Skills 和 Function Call、MCP 的关系
Skills、Function Call 和 MCP 解决的是不同层的问题。
Skill 主要回答"这类任务应该怎么做"。Function Call 主要回答"模型决定调用哪个函数、传什么参数"。MCP 主要回答"外部工具和数据源如何标准化接入 Agent"。
一个真实 Agent 系统里,这三者经常一起出现:Skill 规定流程,MCP 提供工具目录,Function Call 完成具体工具调用。

图 6:Skills 负责方法,Function Call 负责动作,MCP 负责连接
08 最后总结
Skills 的本质,不是提示词变长,而是任务流程变成工程资产。
Prompt 像一次性沟通;Skill 像团队里的标准操作手册。Prompt 适合临时任务,Skill 适合稳定复用。Prompt 主要靠当场表达,Skill 可以包含步骤、示例、脚本、模板和参考资料。
如果说 Function Call 让模型可以调用工具,MCP 让工具接入更标准,那么 Skills 就是在告诉 Agent:面对这类任务时,应该按什么方法把事情做好。
重点: 一句话总结:Skill 不是"更强的 Prompt",而是让 Agent 稳定复用一套做事方法。
参考资料
- OpenAI API Docs - Skills: https://developers.openai.com/api/docs/guides/tools-skills
- OpenAI Help Center - Skills in ChatGPT: https://help.openai.com/en/articles/20001066-skills-in-chatgpt
- OpenAI Cookbook - Skills in OpenAI API: https://developers.openai.com/cookbook/examples/skills_in_api
- Agent Skills Specification: https://agentskills.io/specification
- Anthropic Engineering - Equipping agents for the real world with Agent Skills: https://www.anthropic.com/engineering/equipping-agents-for-the-real-world-with-agent-skills