深入探讨Anthropic Skills:你知道多少?- 小小将的见解

共计 2328 个字符,预计需要花费 6 分钟才能阅读完成。

个人认为,Skills 与之前的 MCP 工具在本质上并无太大区别,都是为了赋予 LLM 模型外部能力,只是在规范的定义上存在差异,因而在使用上有所不同。

https://www.zhihu.com/video/1963241813205849712

根据 Anthropic 的官方定义:

Skills 是包含指令、脚本及资源的文件夹,Claude 能够动态加载这些内容,从而在特定任务上提高其性能。这些技能教导 Claude 如何以可重复的方式完成特定工作,例如依据公司品牌标准撰写文档、采用组织特定流程进行数据分析,或是自动化个人任务。

可以说,Skills 是对 Claude 功能进行模块化扩展的能力。每个 Skill 都包含了指令、元数据以及可选的资源(例如脚本、模板),在相关任务执行时,Claude 会自动调用这些内容。

因此,Skills 与 MCP 工具在本质上都是 LLM 的扩展,但 Skills 显然定义了更为复杂的能力

接下来,我们具体分析 Skills 的文件系统设计,以PDF Skill(赋予模型理解和编辑 PDF 文档的能力)为例。首先,该文件夹内需要包含一个 SKILL.md 文件,该文件必须以 YAML frontmatter 开头,其中包含一些必要的元数据,例如名称(name)和描述(description)。

显而易见,YAML frontmatter 实际上定义了该 Skill 的简要说明,类似于 Tool 的说明。在启动时,Agent 会将所有已安装 Skill 的名称和描述预加载至系统提示词(system prompt)中。这种轻量化的方式允许安装大量 Skills 而不会占用上下文空间,Claude 只需知道每个 Skill 的存在及其使用时机。

Metadata 只是 SKILL.md 文件的第一层内容。当用户请求的内容符合该 Skill 的描述时,Claude 会通过 Bash 从文件系统读取 SKILL.md 文件,并将第二层内容 Instructions 加载到上下文中。Instructions 是 SKILL.md 文件的主体部分,采用 Markdown 格式。实际上,Instructions 是对 Metadata 的细化,详细阐述了使用该能力的工作流、最佳实践及使用指南等信息。

然而,如果该 Skill 的复杂性较高,可能会包含过多内容,此时就无法完全存放在单个 SKILL.md 文件中,因为 LLM 的上下文长度是有限的。在这种情况下,可以在 Skill 目录中捆绑额外文件,并在 SKILL.md 中通过名称引用这些文件。这些额外的关联文件构成了第三层内容,Claude 只在需要时读取这些文件。例如,在 PDF Skill 中,SKILL.md 引用了两个额外文件(reference.md 和 forms.md)。通过将填写表单的指令移至单独的 forms.md 文件,能够保持核心 Skill 的简洁,同时确保 Claude 仅在需要填写表单时才会读取 forms.md。

更具体地说,第三层内容是捆绑的资源与代码,它们仅在需要时加载使用。

这些内容分为三种类型:

  • 指令:额外的 Markdown 文件(如 FORMS.md、REFERENCE.md),包含专业指导和工作流程;
  • 代码:可执行脚本(如 fill_form.py、validate.py),Claude 通过 Bash 运行;脚本提供确定性操作而不占用上下文;
  • 资源:参考材料,例如数据库架构、API 文档、模板或示例。

这种层次化的渐进式结构设计是使 Skills 灵活且可扩展的核心原则。这就像一本结构清晰的手册,首先是目录,然后是具体章节,最后附上详细附录,Skills 使 Claude 在需要时才加载信息。这种设计能够减轻 LLM 的上下文负担。

以下是 Claude 如何加载并使用 PDF Skill 的示例:

  • 首先,上下文窗口包含核心系统提示及每个已安装技能的元数据,和用户的初始消息;
  • Claude 通过调用 Bash 工具读取 pdf/SKILL.md 以触发 PDF 技能;
  • Claude 选择读取技能捆绑的 forms.md 文件;
  • 最后,Claude 在加载了 PDF 技能的相关说明后,开始执行用户的任务。

PDF Skill 包含一个预先编写的 Python 脚本 extract_fields.py,用于读取 PDF 并提取所有表单字段。Claude 可以运行该脚本,而无需将脚本或 PDF 加载到上下文中。由于代码的确定性,这一工作流程是稳定且可重复的。

通过上述对 Skill 的定义及使用分析,我们可以发现 Skill 与 LLM 之间需要紧密配合,期间涉及多次交互。这一点与 MCP Tool 存在显著差异。MCP Tool 的定义相对简单且具体,且需要一次性加载到 LLM 的系统提示词中:

因此,MCP Tool 适合配置非常具体的能力,例如仅用于阅读 PDF 文档并返回特定内容,那么这种情况较为适合使用 MCP Tool,Agent 调用该 MCP Server,Server 执行任务并返回结果。但是如果需要配置的能力较为复杂,难以通过简单工具说明传达给 LLM,那么采用这种分层设计的 Skill 则更加合适。

官方也明确指出了 Skills 与 MCP 的区别:

MCP 将 Claude 连接至外部服务和数据源,而 Skills 则提供流程性知识,指导如何完成特定任务或工作流。这两者可以结合使用:MCP 提供工具访问能力,Skills 则教导 Claude 如何有效使用这些工具。

深入探讨 Anthropic Skills:你知道多少?- 小小将的见解
来源:知乎
原文标题:来聊聊 Anthropic Skills,你了解多少? – 小小将 的回答
声明:
文章来自网络收集后经过 ai 改写发布,如不小心侵犯了您的权益,请联系本站删除,给您带来困扰,深表歉意!
正文完
 0
小智
版权声明:本站原创文章,由 小智 于2026-01-11发表,共计2328字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
使用智语AI写作智能工具,您将体验到ChatGPT中文版的强大功能。无论是撰写专业文章,还是创作引人入胜的故事,AI助手都能为您提供丰富的素材和创意,激发您的写作灵感。您只需输入几个关键词或主题,AI便会迅速为您生成相关内容,让您在短时间内完成写作任务。
利用AI智能写作工具,轻松生成高质量内容。无论是文章、博客还是创意写作,我们的免费 AI 助手都能帮助你提升写作效率,激发灵感。来智语AI体验 ChatGPT中文版,开启你的智能写作之旅!
评论(没有评论)
利用智语AI写作工具,轻松生成高质量内容。无论是文章、博客还是创意写作,我们的免费 AI 助手都能帮助你提升写作效ai率,激发灵感。来智语AI体验ChatGPT中文版,开启你的智能ai写作之旅!
0