一、Skill 的出现

随着大模型能力的提升,越来越多的系统开始尝试使用 Agent 架构 来完成复杂任务,例如自动化运维、数据分析、代码生成等场景。

在最早期的 Agent 设计中,整体结构其实非常简单

在这种模式下,大模型通过 Tool Calling 的方式选择合适的工具,并根据工具返回结果继续推理,从而完成任务。

例如:

  • • 查询天气 → 调用 get_weather
  • • 查询数据库 → 调用 run_sql
  • • 搜索文档 → 调用 search_docs

这种方式在 工具数量较少时非常有效。但随着 Agent 能力不断增加,系统接入的工具越来越多,问题也逐渐开始显现。

1. 工具规模增长

在早期 Agent 系统中,通常只接入少量工具,例如:查询天气、查询数据库、搜索文档。大模型通过 Tool Calling 选择工具即可完成任务。

但在真实系统中,随着能力不断增加,Agent 往往会接入越来越多的工具,当工具数量从 几个增长到几十个甚至上百个 时:

  • • Prompt 中需要包含大量 Tool 定义
  • • 模型选择工具难度增加
  • • 推理成本显著上升

2. 任务复杂度提升

很多真实任务并不是一次工具调用可以完成,而是包含多个步骤,并且步骤之间存在依赖关系。

例如:规划一次五一南京旅行

查询车票确定出行时间预订酒店查询景点规划每日行程生成旅行计划

这些步骤存在明显依赖,例如:

  • • 酒店需要在车票时间确定后再预订
  • • 景点安排需要结合住宿地点和交通时间

因此,大模型不仅要选择工具,还需要推理 执行顺序和依赖关系

当工具数量和任务步骤增加时,这种推理难度也会迅速上升。

3. 能力模块化需求

工具规模不断增长任务复杂度不断提升 时,Agent 系统需要一种方式来管理这些能力。

在传统软件工程中,我们通常通过模块化来控制复杂度,例如:函数、模块、微服务

Agent 系统同样需要类似机制,将复杂能力拆分为 可管理、可复用的能力模块。例如:旅行规划、日志分析、SQL优化、文档生成

在这样的背景下,Skill 作为能力模块化的机制逐渐出现

二、什么是 Skill

1. Skill 的定义

Skill 是 Agent 的一个能力单元,用于封装完成某一类任务所需的逻辑和资源。

与单个 Tool 不同,Skill 描述的是一类 完整能力或任务流程。在执行过程中,Skill 可以根据需要调用多个 Tool,并组织它们完成任务。

在 Agent 系统中,Agent 会根据用户问题选择合适的 Skill,然后由 Skill 负责组织具体的工具调用与任务执行。

因此可以简单理解为:

  • • Agent:负责推理和任务决策
  • • Skill:负责组织能力流程
  • • Tool:负责执行具体操作

从系统结构上看,Skill 是 Agent 的能力模块,用于将复杂任务组织为可复用的执行流程。

2. Skill 的结构

在 Anthropic 的设计中,一个 Skill 通常以 目录的形式组织,用于封装完成某一类任务所需的说明、知识和执行资源。

一个典型的 Skill 结构如下:

skill/ ├── SKILL.md ├── references/ └── scripts/
  • • SKILL.md:定义 Skill 的能力说明和使用规则,是 Agent 选择和理解 Skill 的主要依据
  • • references:提供 Skill 相关的知识资源,在执行过程中按需加载
  • • scripts:提供完成任务所需的脚本或代码,用于执行具体操作

通过这种结构,Skill 将能力描述、知识资源和执行逻辑统一封装,从而形成可复用的能力模块。

3. Skill 与 Tool 的关系

在 Agent 系统中,Skill 和 Tool 扮演不同角色。

  • • **Tool:**表示具体的执行能力,例如调用 API、执行 SQL 或运行脚本,用于完成某一个明确操作
  • • **Skill:**表示更高层的能力或任务流程。在执行过程中,Skill 可以调用多个 Tool,并组织它们完成任务

从系统结构上看:

  • • **Skill:**负责组织能力流程
  • • **Tool:**负责执行具体操作

Skill 通过组合多个 Tool,从而完成更复杂的任务。

三、Skill 的执行流程

Skill 在 Agent 中的执行通常包含三个阶段:选择、加载和执行。

为了更清晰地说明 Skill 的执行流程,我们以一个典型的 xiaohongshu_publish Skill 为例

xiaohongshu_publish/├── SKILL.md├── references/│   └── style-examples.md└── scripts/    └── publish_xiaohongshu.py    └── save_xiaohongshu_payload.py
  • SKILL.md:定义该 Skill 的能力和使用规则,如何生成并发布小红书内容
  • references/style-examples.md:提供小红书内容的风格示例,供模型在生成内容时参考
  • scripts/save_xiaohongshu_payload.py:用于保存生成内容,方便记录或后续处理
  • scripts/publish_xiaohongshu.py:负责调用接口,将生成的小红书内容发布到平台

接下来,我们基于这个 Skill 来说明其在 Agent 系统中的执行流程。

1. Skill 选择

当 Agent 接收到用户请求时,需要从可用的 Skill 中选择最合适的一个。

通常情况下,Agent 会根据用户问题与 Skill 的 namedescription 进行匹配,从而判断是否需要使用该 Skill。

例如,一个 xiaohongshu_publish Skill 的基本信息可能如下:

---name: xiaohongshudescription: 将用户输入的任意中文内容改写为成小红书风格文案,输出吸引点击的标题、有节奏的正文和话题标签。适用于用户要求“改;支持先提炼生成小红书风格”“写种草文案”“写小红书笔记”“优化稿,再通过独立发布脚本调用发布接口分享内容”等场景。---

实际系统中,Skill 的选择通常分为两个阶段:

  • 粗召回匹配:根据用户输入语义与 Skill 的 name 和 description 进行向量化匹配,筛选出可能相关的 Skill
  • 大模型决策:将召回的 Skill 提供给大模型,由模型结合上下文选择最合适的 Skill

2. Skill 加载

Skill 不会一次性加载全部资源,而是采用 按需加载 的方式。Agent 通常会先读取 SKILL.md 中的能力说明和执行规则,以理解该 Skill 的整体能力。

xiaohongshu_publish/├── SKILL.md├── references/│   └── style-examples.md└── scripts/    └── publish_xiaohongshu.py    └── save_xiaohongshu_payload.py

在这一阶段,Agent 会优先读取 SKILL.md。只有在任务确实需要时,才会进一步读取 references/ 中的内容,或选择性执行 scripts/ 中的脚本。

这种方式被称为 渐进式加载(Progressive Disclosure),可以避免一次加载大量无关信息,从而降低上下文复杂度并提升推理效率。

需要注意的是,scripts/ 中的脚本并不一定都会执行。根据任务流程的不同,脚本既可能在大模型生成前执行,也可能在生成后执行。例如在小红书发布任务中,发布脚本和保存脚本通常会在内容生成之后执行,而其他脚本则可能用于生成前的数据准备。

3. Skill 执行

在完成 Skill 的选择和加载之后,Agent 会按照 SKILL.md 中定义的规则执行该 Skill。

在执行过程中,Agent 可能会读取 references/ 中的内容作为上下文,并根据任务需要调用 scripts/ 中的脚本完成具体操作。

例如在小红书发布任务中,Agent 会先根据参考示例生成小红书内容,然后调用 publish_xiaohongshu.py 脚本将内容发布到平台,同时通过 save_xiaohongshu_payload.py 保存生成结果。

通过这种方式,Skill 将大模型能力与外部工具结合起来,从而完成完整的任务执行。

四、Skill 的设计原则

1. 单一能力原则

每个 Skill 应当只负责一类明确的能力,而不是同时承担多个不相关的任务。

  • • web_search
  • • xiaohongshu_publish
  • • sql_analyze

2. 合理的 Skill 粒度

Skill 的粒度需要保持适中。

  • • 如果 Skill 过大,可能会包含过多逻辑,导致模型难以理解;

  • • 如果 Skill 过小,则会导致 Skill 数量过多,增加选择复杂度。

例如:

  • • 不推荐
  • • content_agent
  • • generate_title
  • • generate_content
  • • 推荐
  • • xiaohongshu_publish

3. 资源按需加载

Skill 中的资源应尽量按需加载,而不是一次性全部提供给模型。

例如:

  • SKILL.md 用于描述能力
  • references/ 存放参考资料
  • scripts/ 提供执行脚本

这种设计可以减少上下文长度,并提升推理效率。

4. 工具与能力解耦

Skill 负责组织任务流程,而 Tool 或 Script 负责具体执行。

  • • Skill:xiaohongshu_publish
  • • Tool:publish_xiaohongshu.py

通过这种方式,可以将能力逻辑与具体执行实现解耦,从而提升系统的灵活性和可维护性。

五、总结与展望

Skill 为 Agent 提供了一种能力模块化的方式,使复杂任务能够被拆分为可管理、可复用的能力模块。

通过 Skill 的结构化组织和渐进式加载机制,Agent 可以在保持能力扩展性的同时,避免上下文膨胀的问题。

在实际系统中,Skill 已成为连接大模型能力与外部工具的重要桥梁。

但从技术发展的角度来看,Skill 很可能只是当前阶段的一种工程实现。随着大模型能力的持续提升,未来可能会出现更加自然的能力组织方式,例如由模型直接理解和调用能力接口,或通过更智能的任务规划与能力路由机制来组织各种能力。

某种意义上看,Skill 更像是 Agent 时代的函数封装。而未来的 Agent 系统,也许会像操作系统一样,通过更加动态的能力调度机制来管理这些能力。至于最终会演进成什么形态,现在还很难确定,但可以确定的是,让 Agent 更高效地组织能力、完成复杂任务,仍然是这一领域持续探索的重要方向。

学AI大模型的正确顺序,千万不要搞错了

🤔2026年AI风口已来!各行各业的AI渗透肉眼可见,超多公司要么转型做AI相关产品,要么高薪挖AI技术人才,机遇直接摆在眼前!

有往AI方向发展,或者本身有后端编程基础的朋友,直接冲AI大模型应用开发转岗超合适!

就算暂时不打算转岗,了解大模型、RAG、Prompt、Agent这些热门概念,能上手做简单项目,也绝对是求职加分王🔋

在这里插入图片描述

📝给大家整理了超全最新的AI大模型应用开发学习清单和资料,手把手帮你快速入门!👇👇

学习路线:

✅大模型基础认知—大模型核心原理、发展历程、主流模型(GPT、文心一言等)特点解析
✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑
✅开发基础能力—Python进阶、API接口调用、大模型开发框架(LangChain等)实操
✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用
✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代
✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经

以上6大模块,看似清晰好上手,实则每个部分都有扎实的核心内容需要吃透!

我把大模型的学习全流程已经整理📚好了!抓住AI时代风口,轻松解锁职业新可能,希望大家都能把握机遇,实现薪资/职业跃迁~

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

在这里插入图片描述

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐