共计 2971 个字符,预计需要花费 8 分钟才能阅读完成。
Anthropic 最近推出了一项新功能 Claude Skills,旨在赋予通用人工智能代理(Agent)更强的专业能力。用户可以通过创建包含 SKILL.md 文件的技能文件夹,为 Claude 注入可执行脚本、模板和资源,从而实现 Excel 处理、PPT 生成等特定任务的自动化。
不妨大胆说一句,AI Agent 的实际应用,关键在于强大的模型底座,诸如 Skill、MCP 等功能不过是附加的元素,完全可以通过代码轻松实现。
Agent 的核心动力始终是大型语言模型(LLM)本身。
其它所有事物其实都是在为这个不够可靠的大脑构建框架,提供工程化的约束。
与近期 OpenAI 的多样化尝试相比,A 社推出的 Skill 功能还是值得赞赏的 …
周末的深夜,我无法入眠,便写下一些干货,帮助大家更快理解 Claude Skills 的本质、使用方法,以及如何将其理念整合到自己的体系中(无需依赖 Claude)。
那么,Claude Skills 究竟是什么呢?
简单来说:Skill 是一个标准化的文件夹,用于打包 Agent 完成特定任务所需的知识和工具。
可以把它看作是模型的说明书或者标准作业程序(SOP,亦或是之前较为流行的概念:SPEC 的升级版)。
此次,Anthropic 不仅发布了相关概念,还直接开源了一个 GitHub 仓库(链接见:https://github.com/anthropics/skills),其中包含大约 20 个官方 Skill 的源码示例。
这才是其最有价值的部分,它将理论转化为代码:

一个 Skill 文件夹通常包括以下几个部分:
SKILL.md:核心文件,必不可少。它使用 YAML 格式记录元数据(名称、描述),并用 Markdown 详细说明指令,指导 Claude 在何种情境下及如何使用该 Skill。
scripts/:存放可执行的 Python、Shell 脚本。比如在 PDF 处理的 Skill 中,包含 fill_fillable_fields.py 这类确定性代码。
references/:保存参考文档,例如 API 文档、数据库架构及公司政策等,供 Claude 查阅的知识库。
assets/:存放资源文件,比如 PPT 模板、公司 Logo、React 项目脚手架等,这些文件是 Claude 执行任务时直接使用的,而非用于阅读。

因此可以总结为:
一个 Skill = 任务说明书 SKILL.md + 工具代码 (scripts) + 专业知识 (references) + 资源素材 (assets)。
它将完成特定任务所需的一切内容进行了打包,本质上是一种代码和资源的组织方式,体现了约定优于配置的理念。
其核心:减轻上下文窗口负担
这一部分是 Claude Skills 设计的精髓,也是它与普通的 RAG/MCP/FunctionCalling 之间的主要区别。它是一种智能的、旨在节省上下文窗口的分层加载策略。
既然是分层策略,那么具体有哪几层呢?

第一层:元数据(名称 + 描述)。这部分信息简洁明了,常驻于 Claude 的记忆中。当用户提出任务时,Claude 会迅速扫描所有可用 Skill 的描述,以判断哪个可能相关。这是初步筛选,成本极低。
第二层:SKILL.md。当 Claude 认为某个 Skill 相关时,它才会加载 SKILL.md 中的详细指令。这部分内容指导 Claude 完成任务的步骤、应遵循的规则,以及如何利用文件夹内的其他资源。这一步的上下文消耗处于中等水平。
第三层:脚本和参考文档。只有在 SKILL.md 的指令明确要求时,或者 Claude 在执行过程中判断需要时,它才会读取 scripts/ 中的代码或 references/ 中的文档。这一步的上下文消耗是按需的,避免了一次性将所有内容都装入。
这一机制的优势不言而喻,大大节省了宝贵的上下文窗口。它先根据经验选择合适的 SOP,然后查阅 SOP 进行操作,遇到具体问题再咨询附录或工具手册。这样的逻辑,虽然我们用代码也能实现,但 Skills 将其标准化了。
那么它与 MCP 的关系如何?会有替代吗?
直接回答,完全不是一回事,二者不会替代,甚至是相辅相成的。
MCP 是一种通信协议,规定了 Agent(客户端)如何与提供工具的服务(服务端)进行标准化的交流。它解决的是 Agent 与外部工具之间的对话问题。
而 Claude Skills 则是一种能力封装格式,它规定了 Agent 应该具备的知识、工作流和内部工具。解决的是 Agent 的思考与行动问题。
Skill 中的知识能够引导 Agent 更有效地使用遵循 MCP 协议的工具。一个 Agent 完全可以加载某个 Skill,然后依据 Skill 中的指令访问远程的 MCP 服务器。

因此可以看出,二者并非替代关系,而是相互独立并可组合的。MCP 负责连接,而 Skills 则负责驱动。一个解决通信标准,另一个则解决能力封装。
这套体系对我们开发者有什么意义?
回到开头的论点,既然这其实是一堆文件夹和代码,作为开发者,我们能得到什么呢?
最大的价值在于:Anthropic 将他们在生产环境中锤炼出来的 一套 Agent 能力管理的设计模式开源了。我们完全可以借鉴这个模式,应用于自己的 Agent 体系,无论你使用的是 Qwen、Deepseek,还是其他模型。

当你的 Agent 能力逐渐增多时,如何进行管理呢?一个几千行的 System Prompt?还是一个包含众多工具函数的大杂烩文件?这些都难以维护。
而 Skills 提供了一种解耦与模块化的解决方案。你的团队中的 Agent 不再依赖于庞大且难以维护的 system_prompt.txt,而是由多个标准化的 Skill 文件夹构成的能力库,每个 Skill 都可以独立进行版本控制、测试和迭代。
举个例子:
例如,你可以为公司创建一个数据分析工具,命名为:internal-analytics-skill,其中包含:
SKILL.md:指导 Agent 如何查询公司内部数据仓库。
scripts/generate_report.py:一个固定的 Python 脚本,用于生成规范格式的周报。references/db_schema.md:数据仓库的 Schema 文档。
assets/report_template.docx:周报的 Word 模板。
当有新的 Agent 实例加入时,你只需让它加载这个 Skill,它就能立即学会如何进行数据分析,而无需重新训练或编写复杂的 Prompt。
综上所述,Claude Skills 本身并不是一种黑科技。它最大的启示在于:AI Agent 的未来,一部分依赖于模型,另一部分则源于工程。
希望这些内容对你有所帮助。我是安小强,一名仍在探索的 AI Agent 从业者,若觉得有用,欢迎关注我们共同交流。

