从对话到协作,Skills 如何改变我们与 AI 共事的方式

引言

2025年10月,Anthropic发布了Claude Skills。两个月后,Agent Skills作为开放标准推出。这个看似简单的技术革新,正在悄然改变我们与AI协作的方式。Skills让这些知识和经验可以被封装、被复用、被传承。

一、什么是Skills?

1.1 一个直观的理解

想象你要把一项工作交给新同事。如果不能用口口相传的方式,只能通过文档一次性交接清楚,你会准备什么?

你大概会准备一个交接大礼包,里面包含:

  • 这件事大致怎么做(执行SOP和背景知识)
  • 用什么工具、怎么操作(工具说明)
  • 要用到的模板、素材、历史案例
  • 可能遇到的问题和解决方案

Skills 的架构几乎就是这个交接大礼包的数字版本。一个典型的 Skill 结构如下:

复制代码
skill-name/
├── SKILL.md          # 核心指令文档(必需)
├── scripts/          # 可执行的代码脚本(可选)
├── references/       # 参考文档和规范(可选)
└── assets/          # 模板、素材等资源(可选)

1.2 SKILL.md 是核心

可以看到其他文件都是可选的,只有SKILL.md是必需的。因为SKILL.md是整个 Skill 的"大脑"和"说明书"。它告诉Agent三件最重要的事:

第一,什么时候用这个Skill

yaml 复制代码
---
name: word-to-markdown
description: 将Word文档转换为Markdown格式,支持智能格式识别、图片处理和批量转换
---

开头的这段元数据,只有几十个 token,Agent 启动时就会加载它 。当用户输入例如"把这个文档转成markdown"时,Agent就是通过匹配 description 来判断应该调用word-to-markdown这个Skill。

第二,具体怎么做

SKILL.md 的主体部分会详细说明:

  • 任务的分步骤执行流程
  • 每个步骤的注意事项
  • 什么时候需要调用scripts里的脚本
  • 什么时候需要查阅references里的文档
  • 常见问题和解决方案

第三,做到什么标准

好的SKILL.md可能还会包含:

  • 输出格式规范
  • 质量检查标准
  • 边界情况的说明
  • 最佳实践建议
  • ...

所以最简单的Skill可能只有一个SKILL.md文件,用自然语言把一件事说清楚就够了。复杂的Skill则会在SKILL.md的指引下,协调scripts、references、assets中的各种资源,完成多步骤的复杂任务。

这就是SKILL.md的核心地位:它是Skill的指挥官,其他文件都是它调度的资源。

1.3 渐进式披露:让AI既博学又专注

那这里会有个问题。既然 Agent 在启动的时候就会加载 Skills,如果给 Agent 装了上百个 Skills 会不会把它"撑爆"?如果每次运行都要加载所有 Skills 会不会太慢?

答案是不会。Skills 有个很妙的设计叫:渐进式披露(Progressive Disclosure)。

这个概念大白话讲,就像我们人类学习知识一样:不可能同时把所有细节都记在脑子里,而是先记住"有什么知识",需要时再深入学习具体内容

Skills采用了三层信息加载机制:

第一层:元数据层(始终加载)

只加载SKILL.md开头的name和description,大约50-100个token。这部分就像是Skill的"名片",Agent启动时就会加载所有Skills的名片。

这样做的好处是:即使你有100个Skills,也只需要几千个token来维持"认知"。Agent就像有个索引,知道"我会哪些技能",但不需要记住每个技能的所有细节。

第二层:指令层(触发时加载)

当Agent判断某个Skill与当前任务相关时,才会读取完整的SKILL.md内容,大约500-5000个token。

这就像你遇到具体问题时,才打开相关的操作手册详细阅读。不需要的Skills,它们的详细指令就不会占用宝贵的上下文窗口。

第三层:资源层(按需动态加载)

scripts、references、assets这些文件,只有在SKILL.md明确指示时才会被读取。而且它们的大小没有限制,因为不会一次性全部加载到上下文中。

比如Agent在处理文档转换时,读到SKILL.md中说"对于复杂表格,参考references/table-handling.md",才会去读取那个参考文档。如果这个任务不涉及表格,那个文档就永远不会被加载。

这种设计的美妙之处在于:你可以给Agent装备海量的知识库,但每次运行时只会用到当前真正需要的那部分。就像图书馆,藏书万册,但你每次只会借阅几本。

1.4 Skills与MCP:各司其职的好搭档

Skills和MCP(Model Context Protocol)经常被混淆,甚至被当成竞争对手。但它们其实是互补关系,解决的是完全不同的问题。

维度 MCP Skills
核心痛点 上下文膨胀严重 渐进式披露,按需加载
上下文占用 一次性加载所有工具定义,可能占用数千到数万tokens 初始仅30-50 tokens,按需加载详细内容
加载方式 全量预加载(所有工具schema一次性加载到上下文) 三层渐进加载(元数据→指令→资源)
扩展性 工具越多上下文占用越大,受限于窗口大小 可装备数百个Skills而不影响性能
本质 开放标准协议 知识封装格式
解决的问题 连接性:让Agent能访问外部工具和数据 专业性:让Agent知道如何使用这些能力
提供的内容 WHAT(有什么能力可用) HOW(如何使用这些能力)
典型内容 API接口、数据库连接、文件系统 工作流程、最佳实践、领域知识
形象比喻 Agent的"手脚"(工具箱) Agent的"大脑记忆"(经验库)
使用方式 Agent调用MCP提供的工具 Agent加载Skill中的知识
开发门槛 需要编程,定义接口 只需写文档,描述方法

为什么上下文占用差异这么大?

MCP的设计哲学是"连接优先"。为了让Agent知道有哪些工具可用,MCP需要在启动时就把所有工具的定义(包括参数、schema、使用说明)全部加载到上下文中。这导致了一个问题,在 MCP 工具很多的情况下,会消耗大量的 tokens。比如一个包含22个工具的MCP服务器,仅工具定义就需要约15,000 tokens,在较小的上下文窗口中,MCP工具定义可能占用35%以上的空间,还没开始工作就已经"撑"了。

而Skills采用完全不同的思路。通过渐进式披露,每个Skill初始只暴露30-50个tokens的元数据(name和description),只有当Agent判断需要某个Skill时,才会加载完整的SKILL.md(约500-5000 tokens),scripts和references则更是按需读取。

这意味着即使是给Agent装备100个Skills,上下文占用也只有约5,000 tokens的元数据,远小于一个中等规模的MCP服务器。更重要的是这些元数据始终"值得",因为它们让Agent知道"我能做什么",而不是浪费在冗长的工具定义上。

用一句话总结:MCP让Agent能够"做到"更多事,Skills让Agent能够"做好"这些事,而且更高效。

举个实际的例子:让Agent写一份竞品分析报告。

  • MCP的作用:连接到Google Drive获取数据、访问GitHub读取竞品代码、调用Slack获取内部讨论
  • Skills的作用:指导Agent如何进行SWOT分析、报告结构应该是什么样的、数据可视化用什么配色方案

两者配合,能既"有办法"又"有方法",同时保持上下文的高效利用。

这也是为什么2025年后越来越多人开始重视Skills ------ 不是因为MCP不好,而是因为上下文效率太重要了。

二、如何使用Skills?

2.1 Claude Code:本地运行的AI助理

默认在本地已经安装好了 Claude Code,直接从如何使用Skills开始。

安装Skills

有三种方式可以给Claude Code安装Skills:

方式一:自然语言安装

这种方式是最简单的,找到对应 skill 的 github 地址,直接在Claude Code中输入例如:

复制代码
帮我安装skill,项目地址是:https://github.com/anthropics/skills/tree/main/skills/pptx

Claude Code会自动下载、解压、配置好一切。新手推荐。

方式二:手动安装

Claude Code 专门有一个文件夹来管理所有的Skill文件,可以手动安装:

  1. 从GitHub或其他来源下载Skill文件包(通常是.zip或直接clone项目)
  2. 解压后放到Skills目录

不同操作系统的路径不一样:

Windows系统:

  • 项目级:你的项目路径\.claude\skills\,例如:E:\my-project\.claude\skills\
  • 全局级:C:\Users\你的用户名\.claude\skills\

Linux/macOS系统:

  • 项目级:./.claude/skills/
  • 全局级:~/.claude/skills/

项目级只对当前项目有效,全局级则所有项目都能使用。建议把通用的Skills放在全局级,项目相关的Skills放在项目级。Claude Code 2.1 版本更新了 skills 热加载功能,修改或新创建的 skill 能及时生效。即以前修改 ~/.claude/skills 下的工具文件必须重启会话才能生效,若要调试还蛮痛苦的痛苦的。2.1 版本之后修改了即可生效,允许开发者像编写脚本一样,动态"编程"自己的 AI 助手。

方式三:插件市场(官方推荐)

Claude Code支持插件市场功能,可以像应用商店一样浏览和安装Skills。在Claude Code中输入:

复制代码
/plugin marketplace add anthropics/skills

这会注册Anthropic官方的Skills市场,让你可以访问官方维护的所有Skills。使用如下命令:

复制代码
/plugin

这会打开一个交互式菜单,这时候可以:

  • 浏览所有可用的Skills
  • 查看Skill的描述和功能
  • 直接选择安装

选择想要安装的 Skill 的名称,输入一下命令安装:

复制代码
/plugin install <skill-name>

例如:

复制代码
/plugin install pptx
/plugin install brand-guidelines

如果是 Claude Code 2.1 以及之后的版本,安装完输入 / 查看所有可用的 slash 命令,已安装的 Skills 应该会出现在自动补全列表中

除了官方市场,还有第三方市场可以添加:

使用Skills

安装好Skills后,可以直接显示调用

复制代码
使用 /pptx 这个skill创建一个关于AI的演示文稿

也可以说明需求,Agent会自动选择合适的Skill:

复制代码
帮我把这份报告做成PPT格式

因为 SKILL.md 中的 description 不仅用于分类,还会被Agent用来理解"什么情况下应该用这个Skill"。当需求描述与某个Skill的描述高度相关时,Agent就会自动调用它。

2.2 Coze:云端协作的AI平台

Coze 是字节跳出的AI Agent平台,也支持Skills功能。前段时间刚出,浅浅提一下。主要是云端 vs 本地的区别。

维度 Claude Code Coze
运行环境 本地电脑 云端服务器
安装复杂度 需要安装软件 打开网页即用
文件访问 可访问所有本地文件 只能访问上传的文件
隐私性 数据不离开本地 数据在云端处理
分享便利性 需要打包分发 分享链接即可
定时任务 电脑必须开机 云端自动运行
商业化 难以直接变现 可上架技能商店收费
典型场景 本地文件处理、隐私敏感任务 团队协作、公开分享、自动化任务

在Coze中使用Skills:

  1. 访问 https://space.coze.cn/
  2. 左侧栏选择"扣子编程"
  3. 可以直接上传skill文件(.skill或.zip结尾文件),或者在对话框中描述你的Skill需求
  4. Coze会自动生成Skill文件
  5. 在右侧预览区测试Skill效果
  6. 点击"部署"发布Skill
  7. 可以选择上架到技能商店,让其他人使用(甚至可以设置付费)

Coze 适合那些需要分享给他人的Skills,或者需要定时运行的任务(比如每天早上自动生成资讯日报)。如果你的Skills主要是个人的生产力工具,需要操作本地文件,Claude Code可能更合适。

三、实战案例:创建一个Word转Markdown的Skill

浅浅的通过一个实际的例子看看创建一个skill是什么过程。

3.1 从一个真实的需求开始

假设你需要把Word文档转换成Markdown格式,但是作为一个非开发者不懂什么 pandoc 工具也觉得使用这些工具很麻烦,无法满足更细节的要求。你希望有一个真正"懂你"的转换工具,它知道:

  • 你喜欢什么样的标题层级
  • 表格应该怎么处理才好看
  • 图片要放在哪个目录
  • 批量转换时如何保持一致性

这时候就可以选择创建一个专属的Skill。

3.2 用skill-creator自动生成

首先,安装一个特殊的 Skill叫 skill-creator。它是专门用来创建其他Skill的Skill,有点像"工具制造厂"。

从GitHub安装:

复制代码
帮我安装skill-creator,地址:https://github.com/anthropics/skills/tree/main/skills/skill-creator

或从插件市场安装:

复制代码
/plugin install skill-creator

安装完成后,告诉它你想要什么:

复制代码
创建一个skill,能够将Word文档(.docx)转换为Markdown格式
要求:
1. 智能识别文档结构(标题、段落、列表、表格)
2. 正确处理图片(提取到本地images目录)
3. 保留超链接和文本格式(加粗、斜体)
4. 支持批量转换整个文件夹
5. 输出符合CommonMark标准的Markdown

skill-creator会自动生成一个完整的Skill包,包含例如以下结构:

复制代码
word-to-markdown/
├── SKILL.md                      # 核心指令文档
├── scripts/
│   └── convert.py                # Word转Markdown的Python脚本
└── references/
    └── commonmark-spec.md        # CommonMark格式规范参考

3.3 生成的Skill是什么样的

SKILL.md的内容概要:

开头是元数据部分:

yaml 复制代码
---
name: word-to-markdown
description: 将Word文档转换为格式良好的Markdown文件,支持智能格式识别、图片处理和批量转换
---

# Word转Markdown Skill

## 何时使用
当用户需要将.docx文件转换为.md格式时

然后是详细的执行流程:

  • 文档分析:如何识别标题、列表、表格
  • 格式转换:不同Word样式对应的Markdown语法
  • 图片处理:如何提取和引用图片
  • 质量检查:转换后如何验证结果

还有使用示例和注意事项,确保Agent知道在各种情况下应该如何处理。

scripts/convert.py 的作用:

这是一个Python脚本,使用python-docx库读取Word文档,按照SKILL.md中的规范进行转换。它处理那些靠自然语言描述不够精确的细节------比如表格的Markdown语法、图片的命名规则等。

references/commonmark-spec.md的作用:

这是一个参考文档,详细说明了CommonMark标准的语法规范。当Agent遇到复杂的格式问题时,可以查阅这个文档来确保输出符合标准。

所以具体流程就是,当 Agent 在执行转换任务时,会:

  1. 读取SKILL.md了解整体流程
  2. 调用convert.py执行实际的转换工作
  3. 如果遇到特殊格式,查阅commonmark-spec.md
  4. 根据转换结果生成最终的Markdown文件

3.4 使用和迭代

Skill创建完成后就可以直接使用了:

复制代码
将report.docx转换为markdown

或者批量转换:

复制代码
将docs文件夹下所有Word文档转换为Markdown

Agent会自动识别这个需求应该调用word-to-markdown Skill,然后按照SKILL.md中的指引完成转换。

如果第一次转换的结果不理想怎么办?你可以继续和Agent对话:

复制代码
表格转换有问题,列对齐不对

Agent会基于你的反馈,调整convert.py脚本中的表格处理逻辑,或者更新SKILL.md中的转换规范。经过几轮迭代,这个Skill就会越来越符合你的需求。

当这个 Skill 优化完稳定后,可以把它分享给任何一个有 word 转 markdown 需求的人,他们不需要了解任何技术细节,就能用上你总结出来的"最佳实践"。或者,更进一步,可以再基于这个Skill再创建新的Skills:比如一个专门处理学术论文格式的Skill,它继承word-to-markdown的能力,再增加参考文献的特殊处理逻辑。

这就是Skills的可组合性:每个Skill都是独立的,但可以相互嵌套、相互引用,构建出越来越强大的能力体系。

四、Skill的设计哲学

知识的可移植性

Skills把知识显式化为文件。这意味着:

  • 可以用Git进行版本控制
  • 可以通过GitHub或文件共享
  • 可以在不同平台间迁移
  • 可以持续迭代优化

这听起来很技术化,但换个角度想:这意味着你的经验不再是你个人的私有财产,而变成了可以传承、可以复用、可以不断完善的团队资产。就像一本不断更新的"操作手册",每个使用者都可以贡献自己的改进。

渐进式复杂度

很多技术框架的问题是"门槛太高"。你想做一个简单的功能,却要先理解一大堆概念、配置一堆环境、学习一堆语法。还没开始做,热情就已经被磨灭了。

而 Skills 的理念是"极简起步,按需扩展"。

最简单的Skill只有一个SKILL.md文件,用自然语言把一件事说清楚就够了。不需要学编程,不需要理解复杂的概念,就像给新同事写工作邮件一样简单。

当发现自然语言不够用时,可以继续添加一个Python脚本来自动化某个步骤。当脚本变复杂时,可以拆分成多个子脚本。当文档太长时,可以把某些部分抽离成独立的参考文档。即使是非开发人员也可以做到这点,因为这些脚本可以不用自己编写,AI 会帮忙搞定。

这种渐进式的复杂度,让Skill的创建者能够"边做边学",而不是一开始就被庞大的架构吓退。更重要的是,它让Skills能够"有机生长"------从一个小萌芽,逐步发展成一个功能完善的系统。

人机协作的新范式

Skills很有意思的一个地方是,是它重新定义了人机协作的方式。

原先的 AI 应用要么把一切都预设好(Workflow、规则引擎),要么完全依赖AI的"智能"(ChatGPT 那样的通用对话)。前者太死板,后者太不可控。

Skills走的是一条中间路:人类提供知识和方法,AI提供推理和执行。

这种协作方式充分发挥了各自的优势:人类擅长积累经验、总结方法、设定规范,AI擅长执行细节、处理变数、快速迭代。结果就是一个既专业又灵活的AI应用。

从预设到响应式

再深入一点,这其实是从"预设所有可能"到"响应实际情况"的范式转变。

传统的编程思维是:我需要预想所有可能的情况,为每种情况编写处理逻辑。但现实总是超出预期,于是就不断地打补丁、加特例,代码越来越复杂,维护越来越困难。Skills 赋能的 Agent 采用响应式设计:你告诉它目标和原则,它根据实际情况动态调整策略。

举个例子。一个文档转换的Skill,你不需要预设所有可能的Word格式。你只需要告诉它"标题应该转换为#开头"、"表格要保持对齐"这些基本原则。遇到特殊的格式时,Agent会基于它的理解进行推理,给出最可能的处理方式。如果不确定,它甚至会问你:"这个格式不太常见,我这样处理可以吗?"

这种从"预设"到"响应"的转变,让AI应用具备了真正的适应性。它不再是僵化的工具,而更像是一个能够学习和成长的合作伙伴。

知识的模块化与组合性

Skills 的本质是知识的模块化。这听起来很技术,但其实和乐高积木的原理一样。

每个Skill都是一个独立的知识模块,它:

  • 可以单独使用
  • 可以和其他Skills组合
  • 可以被嵌套在更大的Skill中
  • 可以作为其他Skill的基础

这种组合性意味着N个Skills可以应对远超N种场景:

  • brand-guidelines + pptx = 符合品牌规范的PPT生成器
  • web-scraping + data-analysis + pptx = 自动竞品分析报告
  • brand-guidelines + web-scraping + data-analysis + pptx = 符合品牌规范的自动竞品分析报告

你会发现最后这个复杂的系统其实是由简单的Skills组合而成的。不需要从零开始开发一个"竞品分析系统",只需要把已有的"积木"搭在一起就行。

更重要的是这些Skills可以被无限复用。brand-guidelines 可以被用于网站设计、邮件模板、营销材料等各种场景。每创建了一个新的Skill,不仅解决的是当前的问题,还为未来的问题提供了一个可用的组件。

模块化,组件化,这可玩性就很高了。

五、Skills 到底有多强?

最简单的Skill只需要一个SKILL.md文件,用自然语言把一件事说清楚。这意味着那些最懂业务的人------产品经理、分析师、律师、医生、教师等等,可以直接创建AI应用,而不需要把需求"翻译"给开发工程师。而开发工程师可以从重复性的"翻译工作"中解放出来,专注于更有挑战性的技术问题。领域专家的经验和知识,可以直接转化为生产力。

这意义就很重大。

而且 Skills 的智能上限是很高的,因为 Skills 依托的是通用 Agent 的推理能力,而不是预设的规则。当遇到超出预期的情况时,使用 Skills 的 Agent 会基于对任务的理解进行推理,可能会调用其他Skills,可能即兴编写一段脚本,可能向你询问确认。这种适应性和学习能力,让它的应用场景远超传统AI应用。

Skills 也很灵活,只需要修改文档,甚至直接告诉Agent"下次这样做",下次任务就会应用新的方法。这种快速迭代的能力,让Skills特别适合那些还在探索阶段的场景。快速尝试不同的方法,找到最优解后再固化下来,极大地降低了验证想法的成本。

当AI应用开发的门槛降低,竞争不再是谁能开发,而是谁有更好的方法论、更深的领域知识、更优的工作流程。这对有经验的人来说是好消息。核心竞争力变成对业务的理解、解决问题的方法、积累的经验。这些是AI短期内无法替代的。

六、写在最后

Skills的出现确实改变了我们与AI协作的方式。过去每次和AI对话都要从零开始,反复解释同样的规则。现在,这些知识和经验可以被封装、被复用、被传承。这种转变不仅是效率的提升,更是对知识积累方式的重新思考。那些老员工脑子里的"经验之谈",那些团队多年摸索出的"最佳实践",不再随着人员流动而消失,而是变成了可以传承的显性资产。

一个人的能力总是有限的,但当无数人的经验和知识通过Skills组合在一起时,就能产生远超个体之和的集体智慧。就像乐高积木,每个Skill都是独立的模块,但可以自由组合,应对各种复杂场景。

Skills让AI从"工具"变成了"合作伙伴"。人类提供智慧和方向,AI提供执行和适应。这种协作方式充分发挥了各自的优势:我们擅长积累经验、判断价值、设定目标,AI擅长执行细节、处理变数、快速迭代。

Skills生态才刚刚起步,但趋势已经明确:那些能够将自己的经验和知识转化为Skills的人,将在AI时代获得巨大优势。这不再是谁会写代码的问题,而是谁有更好的方法论、更深的领域知识、更优的工作流程。


参考资料:

  1. Anthropic官方博客 - Building Agents with Skills
  2. Anthropic官方博客 - Equipping agents for the real world with Agent Skills
  3. Agent Skills官方标准 - https://agentskills.io/
  4. Claude Code官方文档 - https://code.claude.com/docs/en/skills
  5. Claude Skills vs. MCP: A Technical Comparison
  6. 别搞混了!MCP和Agent Skill到底有什么区别?
  7. 2026年AI应用技术栈:深度剖析Agent Skill"渐进式披露"架构
  8. Pandoc文档转换工具 - https://pandoc.org/
相关推荐
带刺的坐椅4 小时前
MCP 进化:让静态 Tool 进化为具备“上下文感知”的远程 Skills
java·ai·llm·agent·solon·mcp·tool-call·skills
Elastic 中国社区官方博客6 小时前
Elasticsearch:上下文工程 vs. 提示词工程
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
小Pawn爷8 小时前
03.大模型引领资产管理新纪元
金融·llm
ValidationExpression9 小时前
学习:词嵌入(Word Embedding / Text Embedding)技术
python·学习·ai
zhaosuyuan9 小时前
InstructGPT 2022详细解读
gpt·语言模型·llm·gpt-3
组合缺一9 小时前
开发 Java MCP 就像写 Controller 一样简单,还支持 Java 8
java·人工智能·llm·solon·java8·mcp
星瞳科技OpenMV10 小时前
星瞳OpenMV官方机械臂教程|从零开始:Robot Arm机械臂快速上手
arm开发·图像处理·python·计算机视觉·ai·机器人·openmv
程序员泠零澪回家种桔子11 小时前
MCP架构核心组件
人工智能·ai·架构
DS随心转APP13 小时前
ChatGPT和Gemini做表格
人工智能·ai·chatgpt·deepseek·ds随心转