Claude新功能Agent Skills到底是啥?

智能体技能(Agent Skills)的本质是 “场景知识封装包”,
通过标准化的文件目录结构,
将人类的专业经验转化为智能体可读取的资源,
让通用智能体快速 “变身” 为专业智能体,无需重复开发定制化模型。
智能体技能(Agent Skills)的灵魂,
解决了大模型上下文窗口容量有限的核心问题。
要了解,这里有灵魂两问:
Anthropic 智能体技能(Agent Skills)为什么是“文件夹”?这些文件(如 .md、脚本、配置等)本质上能干什么、为什么重大?
文件夹只是模块化载体(container),目的是把相关的知识、逻辑和行为组合在一起——不是随意一堆文字,而是可执行的结构化信息。
技能将信息分为 “元数据 – 核心指引 – 附属详情” 三层,智能体仅在需要时加载对应层级的内容,既节省算力,又实现了 “无限扩展技能信息量” 的目标。
这种设计和你之前提到的智能体 Infra “分层抽象” 逻辑一脉相承 —— 都是通过 “屏蔽底层复杂度” 提升实用性。
技能并非单纯的 “文本指引”,还支持内置可执行代码。这实现了“大模型负责决策,代码负责执行”。
这种结构就像软件组件里的模块(不是随意写的一段话,而是带说明 + 可执行逻辑 + 资源的完整单元)。

为什么是“文件夹(目录)”?本质缘由
|
文件夹 |
干活目的 |
|
SKILL.md |
核心指令、行为规范、触发逻辑(模型如何使用这个技能) |
|
脚本文件 (Python 等) |
做确定性、可执行的操作,列如:读取 PDF、生成表格、处理数据 |
|
资源文件 (Markdown、模板、数据等) |
为技能提供参考资料、规则、模板、业务知识库 |
|
配置 |
定义技能名称、描述、触发条件等 |

(特别是 SKILL.md)到底是什么?它能干什么?
SKILL.md 本质上是两部分:
1.元数据(Metadata)技能名称、描述、简要说明技能能做什么,这些内容先被加载到模型启动的上下文(system prompt)里,模型根据这些元数据自动决定这个技能是否适用当前任务
2.技能核心内容(指令 + 参考)业务规则、处理步骤、领域逻辑、约束,当模型判断技能相关时,它会主动加载完整内容到语境中继续处理;
实质上,这不是给人看的说明书,而是模型的运行指令。模型会根据这些内容决定如何分解任务、如何构造行为。

文本 + 脚本、文件为什么组合在一起?它们分别做什么?
文本(Markdown):定义业务流程、规则、限制、预期结果,告知模型:“如果遇到这种任务,应该如何看待、如何分步骤处理”,官方称这是 progressive disclosure(逐步披露):只有在需要时才加载更多细节,避免把所有内容全部塞进上下文(节省成本)

以下引用自 Anthropic 官方工程博客和技术文档。
Claude功能强劲,但实际工作离不开流程性知识与业务场景支撑。隆重推出智能体技能(Agent Skills)—— 一种借助文件与文件夹构建专业智能体的全新方案。
随着大模型能力的持续进阶,如今我们已能打造可与完备计算环境交互的通用智能体。以克劳德代码(Claude Code)为例,它可依托本地代码执行与文件系统,完成跨领域的复杂任务。但智能体的能力越强劲,我们就越需要更易于组合、扩展与移植的方式,为其注入特定领域的专业知识。
这正是我们研发智能体技能的初衷:它本质是一套由操作指南、脚本与资源文件构成的标准化文件夹,智能体可动态发现并加载这些内容,从而在特定任务中表现更优。技能将专业经验封装为可复用的模块化资源,赋能克劳德突破通用能力的局限,从 “万金油” 智能体转变为贴合具体需求的专业智能体。
为智能体开发技能,就像给新员工编写入职手册。无需为每个使用场景单独开发零散的定制化智能体,任何人都能通过沉淀与分享流程性知识,为智能体赋予可组合的专业能力。本文将详解智能体技能的定义、工作原理,并分享构建技能的最佳实践。
激活技能的操作十分简便:只需编写一个SKILL.md文件,在其中写入针对智能体的自定义指引即可。技能的本质是一个包含SKILL.md文件的目录,该目录下还可存放结构化的操作指南、脚本与资源文件,为智能体拓展全新能力。
技能的结构解析
为直观展示技能的工作方式,我们以支撑克劳德文档编辑功能的核心技能为例展开说明:克劳德原本就具备较强的 PDF 解析能力,但在直接操作 PDF(如填写表单)方面存在明显短板,而这款 PDF 技能恰好能补足这一能力缺口。
从最简形态来看,技能就是一个包含SKILL.md文件的目录。该文件必须以 YAML 前置元数据开头,其中需填写名称(name) 与描述(description) 两项必填内容。智能体启动时,会自动将所有已安装技能的元数据加载到系统提示词中。
这种元数据设计是分级信息披露的第一层:它只向克劳德传递 “该技能适用于何种场景” 的核心信息,无需将技能的全部内容加载到上下文窗口,从而节省算力与上下文空间。SKILL.md的正文内容则是第二层详情 —— 当克劳德判定当前任务与该技能相关时,才会读取完整的SKILL.md文件内容。

SKILL.md文件的结构包含三类关键信息:名称、描述,以及与技能核心操作相关的场景指引。文件必须以 YAML 前置元数据开头,其中的名称与描述会在智能体启动时被加载到系统提示词中。
当技能的复杂度提升后,单一的SKILL.md文件可能会过于臃肿,或包含仅适用于特定场景的内容。此时,开发者可在技能目录中添加更多附属文件,并在SKILL.md中通过文件名引用这些内容。这些附属文件构成了分级信息披露的第三层及更深层次的内容,克劳德仅会在需要时主动查阅。
在下文展示的 PDF 技能示例中,SKILL.md文件引用了reference.md(参考手册)与forms.md(表单操作指南)两个附属文件。通过将表单填写的具体步骤迁移到独立的forms.md文件中,开发者可让技能的核心文件保持精简,同时确保克劳德仅在执行表单填写任务时才加载该文件。
如何为技能添加附属内容?你可将更多场景信息封装为附属文件,克劳德会根据系统提示词的指引,在需要时触发并读取这些内容。
分级信息披露是让智能体技能兼具灵活性与可扩展性的核心设计原则。这就像一本结构清晰的手册:先展示目录,再呈现具体章节,最后附上详细附录。技能让克劳德实现了 “按需加载信息” 的目标。
配备文件系统与代码执行工具的智能体,无需在执行特定任务时加载技能的全部内容。这意味着,技能可承载的信息量理论上是无上限的。
技能与上下文窗口的关系
下图展示了用户指令触发技能时,智能体上下文窗口的动态变化过程。
技能通过系统提示词被触发并加载到上下文窗口中。具体执行流程如下:
初始状态:上下文窗口包含核心系统提示词、所有已安装技能的元数据,以及用户的初始指令;
触发技能:克劳德调用 Bash 工具,读取pdf/SKILL.md文件的内容,从而激活 PDF 技能;
加载附属内容:克劳德根据任务需求,选择读取技能包内的forms.md文件;
执行任务:克劳德加载 PDF 技能中的相关操作指引后,正式处理用户的任务。
技能与代码执行
技能还可内置脚本代码,克劳德可根据任务需求,将这些代码作为工具自主调用执行。
大模型在诸多任务中表现出色,但某些操作通过传统代码执行会更高效可靠。例如,通过生成 token 来排序列表的成本,远高于直接运行排序算法。除了效率考量,许多应用场景还需要代码执行带来的确定性与稳定性—— 这是大模型难以替代的。
在上述 PDF 技能示例中,我们内置了一个预编写的 Python 脚本,其功能是读取 PDF 文件并提取所有表单字段。克劳德无需将脚本代码或 PDF 文件内容加载到上下文窗口,即可直接运行该脚本。而代码的确定性特质,也让整个工作流程具备了可重复、可验证的稳定性。
技能可内置脚本代码,克劳德会根据任务的具体性质,自主决定是否将这些代码作为工具调用执行。
技能的开发与评估指南
以下是协助你快速上手技能开发与测试的实用提议:
从评估入手:先用典型任务测试智能体,定位其能力短板与需要补充的场景信息,再针对性地分阶段开发技能;
结构化设计,兼顾扩展性:当SKILL.md文件过于臃肿时,及时拆分内容为附属文件并通过引用关联;若某些场景信息互斥或极少同时使用,可通过分文件管理降低 token 消耗;此外,代码既可以作为可执行工具,也可以作为参考文档 —— 需明确标注克劳德应直接运行脚本,还是仅将其作为参考资料读取;
换位思考,从克劳德的视角设计:观察智能体在实际场景中使用技能的表现,并据此迭代优化;重点关注技能的名称与描述 —— 这是克劳德判断是否触发该技能的核心依据;
与克劳德协作迭代:在与克劳德协同完成任务的过程中,可引导它将成功经验与常见错误,提炼为可复用的场景信息与代码,整合到技能中;当智能体使用技能执行任务时出现偏差,可让它自我反思问题根源。这种方式能帮你精准捕捉克劳德真正需要的信息,而非仅凭主观预判进行设计。
技能使用的安全注意事项
技能通过操作指引与代码为克劳德赋能,在提升能力的同时,恶意技能也可能会给运行环境带来漏洞,或诱导克劳德泄露数据、执行非预期操作。
提议你仅从可信来源安装技能。若需安装来源可信度较低的技能,务必在使用前进行全面审计:先通读技能包内的所有文件,明确其功能用途,重点检查代码的依赖项与附属资源(如图片、脚本);同时,警惕技能中引导克劳德连接不可信外部网络的指令或代码。
技能的未来规划
目前,智能体技能已全面支持 Claude.ai、Claude Code、Claude 智能体 SDK 及克劳德开发者平台。
未来几周,我们将持续推出新功能,覆盖技能的创建、编辑、发现、分享与使用全生命周期。我们尤其期待技能能协助企业与个人,将专属业务场景与工作流程无缝融入克劳德;同时,我们也将探索技能与模型上下文协议(MCP)服务器的互补性 —— 通过技能,让智能体掌握更复杂的外部工具与软件交互流程。
展望更远的未来,我们希望实现智能体自主创建、编辑与评估技能的目标,让它们能将自身的行为模式提炼为可复用的能力模块。
技能的概念与格式都秉承简洁易用的原则,这一特性让企业、开发者与终端用户都能轻松构建定制化智能体,为其赋予全新能力。
思考一下问题;
1. 如何保持通用性又能注入专业知识?
这个问题的核心在于 通用能力 和 专业能力 的平衡。
通用能力是基础:克劳德等大模型的“通用能力”是指它们能够处理各种类型的任务,但其处理效果相对较为基础。例如,语言模型可以回答问题、执行代码、提供提议等,但没有特定领域的深入知识。因此,通用能力为智能体提供了广泛的适用性。
注入专业知识是提升智能体能力的方式。通过“技能”的方式,专业领域的深厚知识(如医疗、金融、法律等)可以被封装为模块化的内容,并通过文件夹结构注入到智能体中。这些专业技能可以包含定制化的操作流程、特定领域的工作脚本和指导文档等。它们使得智能体在某些专业领域的表现远超通用能力。
通过这种方式,智能体并不会直接“变强”,而是变得更加 定制化 和 专用化。列如,通用的智能体能够完成广泛的任务,但当你需要进行金融风险评估时,你可以通过加载专门的“金融评估”技能,使得智能体具备深度的行业知识。这种做法并不是增强通用能力的深度,而是通过 组合 和 注入特定领域的能力 来为智能体赋予 专项技能,从而应对更具体的业务需求。

