今天早上,Anthropic 发布了 Claude Skills,这是一种助其模型获取新功能的全新模式:
- Claude 现可使用 Skills 改进模型执行特定任务的方式。Skills 的实质是包含指令、脚本与资源的文件夹,Claude 模型可在需要时加载这些资源。
- Claude 只会在 Skill 与当前任务相关时才会加以调用。在使用 Skill 之后,Claude 将可更好地完成特定任务,例如使用 Excel 或遵循组织内部的品牌指南。
相关文档:
Skills 说明文档:https://docs.claude.com/en/docs/agents-and-tools/agent-Skills/overview
Claude Skills Cookbook:https://github.com/anthropics/claude-cookbooks/tree/main/Skills
Skill 是一个包含 SKILL.md 文件的目录,该文件包含为代理提供附加功能的指令、脚本和资源的组织文件夹。
Skills 的概念非常简单。Skill 就是一个 Markdown 文件,用于告诉模型如何执行某项操作,同时允许附带额外的文档和预先编写的脚本。通过运行这些脚本,模型即可顺利完成 Skill 描述的任务。
Claude 的全新文档生成功能(与新的代码解释器功能于今年 9 月一同推出)就完全通过 Skill 来实现。这些功能现已被纳入 Anthropic 代码库,涵盖.pdf、.docx、xlsx 以及.pptx 文件。
除了磁盘上的一堆文件以外,这项功能中还有另一个重要细节。在会话开始时,Claude 的各种工具会扫描所有可用的 Skill 文件,并从 Markdown 文件的前置 YAML 中读取各文件的简短说明。这种方式具有极高的成本效益:每 Skills 仅占用几十个额外 token,只有在用户请求该 Skill 以协助解决任务时才需要加载完整详情。
上手尝试
下面,我们看看 Anthropic 发布的 slack-gif-creator skill 示例的元数据:
此工具包用于创建专为 Slack 优化的 GIF 动图,包含尺寸约束验证器加可组合动画元件。当用户通过“为我制作一个某人正在做某事的 Slack GIF”描述请求生成适用于 Slack 的 GIF 动图或表情符号动画时,即可使用此 skill。
我本人在 Claude 移动端 Web 应用中试用了此 skill,搭配的模型是 Sonnet 4.5。我先在设置中启用了 slack-gif-creator skill,而后向系统输入提示词:
为我生成一个发往 Slack 的 GIF 动图,表明 Skills 比 MCP 酷得多。
Claude 随后生成了以下 GIF:
好吧,这个动图实在不咋样。但 Skills 的一大优势在于容易迭代改进。以下是它编写的 Python 脚本中的重要代码片段,注释部分是我自己加上的:
- # 首先将 skill 目录添加至 Python 路径
- import sys
- sys.path.insert(0, "/mnt/Skills/examples/slack-gif-creator")
- from PIL import Image, ImageDraw, ImageFont
- # 此类位于 skill 的 core/ 目录之下
from core.gif_builder import GIFBuilder
# ... 构建 GIF 动图的代码 ...
# 将结果保存至磁盘:
info = builder.save("/mnt/user-data/outputs/Skills_vs_mcps.gif",
num_colors=128,
optimize_for_emoji=False)
print(f"GIF created successfully!")
print(f"Size: {info["size_kb"]:.1f} KB ({info["size_mb"]:.2f} MB)")
print(f"Frames: {info["frame_count"]}")
print(f"Duration: {info["duration_seconds"]:.1f}s")
# 使用 check_slack_size() 函数确保文件足够小,适用于 Slack 发送:
passes, check_info = check_slack_size("/mnt/user-data/outputs/Skills_vs_mcps.gif", is_emoji=False)
if passes:
print("✓ Ready for Slack!")
else:
print(f"⚠ File size: {check_info["size_kb"]:.1f} KB (limit: {check_info["limit_kb"]} KB)")
整个过程非常简洁。Slack GIF 的最大体积不会超过 2 MB,因此该 Skill 中包含一条验证函数,模型可使用它来检查文件大小。如果尺寸太大,模型会尝试进一步缩小。
Skills 依赖编码环境
Skills 机制的实现,依赖于模型能够访问文件系统、是否具备导航工具以及在该环境下执行命令的能力。
这也是当前大模型工具的常见模式。2023 年初发布的 ChatGPT 代码解释器就是典型案例,这种向本地机器扩展的模式随后在 Cursor、Claude Code、Codex CLI 和 Gemini CLI 等编码智能体工具中均得到应用。
这项特质也成为 Skills 同之前其他大模型扩展(例如 MCP 和 ChatGPT 插件)之间的最大区别。但作为重要的依赖项,Skills 释放出的新功能之多也让不少朋友感到困惑。
Skills 既强大又易于创建,因此必须想办法为大模型提供更加安全的编码环境。虽然在提示词中强调安全也有一定效果,但我们最好能够弄清楚如何将运行环境沙箱化,以便将提示词注入等攻击限制在可接受的损害范围之内。
Claude Code 充当通用智能体
今年 1 月,我曾对 AI/ 大模型做过一些极端测试,并认定智能体会像之前的其他成果一样陷入失败:我认为 2025 年将有更多关于智能体的泡沫破裂,让大部分对于这个术语感到兴奋的朋友们大失所望,而以此为基础延伸出的投资项目也将蒙受重大损失。
但事实证明我完全错了,2025 年无疑是真正的“智能体”之年。
只能说 Claude Code 这个名字起得不太好。它不仅仅是一款编码工具,更是一款通用型计算机自动化工具。以往任何可以通过输入命令来实现的功能,现在都可以通过 Claude Code 自动完成。因此我们可以把它视为一种通用智能体,而 Skills 的出现更加支撑起这一结论。
我发现 Skills 的想象空间真的非常巨大。比如说,我们可以设置一个装满 Skills 的文件夹,从容处理以下任务:
- 获取人口普查数据并分析其结构。
- 使用合适的 Python 库将不同格式的数据加载进 SQLite 或 DuckDB。
- 将数据在线发布为 S3 存储桶内的 Parquet 格式文件,或以表格形式推送至 Datasette Cloud。
- 由经验丰富的数据报告 skill 快速从一组新数据中发现有趣的故事。
- 由另一 Skill 使用 D3 构建出清晰易读的数据可视化结论。
恭喜各位,这样就构建了一个“数据新闻智能体”,它可以发现并协助发布针对最新人口普查数据的新闻。而整个实现,依靠的就只是一个装满 Markdown 文件和 Python 示例脚本的文件夹。
Skills 与 MCP 的对比
自去年 11 月首次发布以来,模型上下文协议(MCP)就引起了巨大关注。我总是开玩笑说,它之所以能火起来,是因为每家公司都知道自己需要一套“AI 战略”。而构建或者发布自己的 MCP 实现,是达成这个目标的最简单方法。
可随着时间推移,MCP 的局限性也开始显现。其中最显著的一点是对 token 的大量消耗:众所周知,GitHub 官方 MCP 本身就消耗了巨量上下文 token,而这种消耗量越大,大模型自身就越是没有发挥实际作用的空间。
自从开始认真使用编码智能体以来,我对 MCP 的兴趣开始逐渐消退。因为我发现几乎一切原本需要 MCP 实现的功能,现在都可以用 CLI 工具来解决。大模型知道要如何调用 cli-tool –help,因此我们不再需要耗费大量 token 来描述如何使用——模型会在必要时自行处理。
Skills 也拥有同样的优势,而且让我甚至不再需要亲自实现新的 CLI 工具。我可以直接用 Markdown 文件来描述如何完成任务,并在必须确保可靠性或效率时引入额外脚本。
Skills 来了
Skills 最令人兴奋的一点,就是其非常易于共享。我预计将有大量 Skills 以单文件形式实现——更复杂的 Skills 则采取文件夹形式以包含更多文件。
我也在思考自己可以构建哪些 Skill,比如怎么开发一款 Datasette 插件。
Skills 设计的另一大优势,在于它能跟其他模型配合使用。
我们可以先准备一个 Skills 文件夹,再将 Codex CLI 或者 Gemini CLI 指向它,然后要求“读取 pdf/SKILL.md 文件,再为我创建一个描述此项目的 PDF 文件”。这样哪怕工具和模型本身并不具备系统性的 skill 知识,整个流程也可以正常起效。
我相信后续会迎来 Skills 生态的寒武纪大爆发,相比之下甚至今年的 MCP 热潮都显得平淡无奇。
简单才是关键
也有人对 Skills 表达了反对,认为它们太过简单、几乎算不上什么高级功能。
还有人尝试将更多指令直接放进 Markdown 文件,并要求编码智能体在执行任务之前先读取该文件。比如 AGENTS.md 就已经成为成熟模式,其文件已经可以包含“在尝试创建 PDF 之前先读取 PDF.md 内容”的指令。
但 Skills 的这种天然简洁性,正是让我如此兴奋的原因所在。
MCP 是一套完整的协议规范,涵盖主机、客户端、服务器、资源、提示词、工具、采样、根目录、启发和三种不同的传输方式(stdio、流式传输 HTTP 和 SSE)。
而 Skills 却仅仅就是 Markdown 文本,再加上少量 YAML 元数据和一些可选脚本,能够在任何环境下运行。它们其实更接近大模型的精髓——提供一些文本,然后让模型自行解决问题。
Skills 将复杂部分全都甩给了大模型框架和相应计算机环境。纵观过去几年间我们对于大模型运行工具的认识,这也许才是最明智、最具现实意义的探索方向。
原文链接:
https://simonwillison.net/2025/Oct/16/claude-Skills/
本文来自微信公众号 “AI前线”(ID:ai-front),作者:Simon Willison,36氪经授权发布。