当前位置:首页 > 科技资讯 > 正文

Claude Skills:AI模型功能扩展的创新模式深度解析

今日清晨,Anthropic公司正式推出了Claude Skills,这是一种助力其AI模型获取新功能的革命性模式:

  • 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

Claude Skills:AI模型功能扩展的创新模式深度解析 Skills  AI模型扩展 技能文件夹 MCP对比 第1张

Skill是一个包含SKILL.md文件的目录,该文件组织了一系列为AI代理提供附加功能的指令、脚本和资源。

Skills的概念极为简洁。一个Skill就是一个Markdown文件,用于指导模型如何执行某项操作,同时允许附带额外的文档和预编写脚本。通过运行这些脚本,模型能够顺利完成任务。

Claude的全新文档生成功能(与今年9月推出的新代码解释器功能同步发布)完全通过Skill实现。这些功能现已集成到Anthropic代码库中,支持.pdf、.docx、xlsx以及.pptx等多种文件格式。

除了磁盘上的文件集合,这项功能还有一个关键细节。在会话开始时,Claude的各种工具会扫描所有可用Skill文件,并从Markdown文件的前置YAML中读取简短说明。这种方式成本效益极高:每个Skill仅占用几十个额外token,只有在用户请求该Skill协助解决任务时才加载完整详情。

上手尝试 

接下来,我们查看Anthropic发布的slack-gif-creator skill示例元数据:

此工具包专为创建Slack优化的GIF动图设计,包含尺寸约束验证器和可组合动画元件。当用户通过描述请求生成适用于Slack的GIF动图或表情符号动画时,即可调用此skill。

我在Claude移动端Web应用中测试了此skill,搭配Sonnet 4.5模型。先在设置中启用slack-gif-creator skill,然后输入提示词:

请生成一个发往Slack的GIF动图,展示Skills比MCP更酷。

Claude随后生成了以下GIF:

Claude Skills:AI模型功能扩展的创新模式深度解析 Skills  AI模型扩展 技能文件夹 MCP对比 第2张

尽管这个动图效果一般,但Skills的一大优势在于易于迭代改进。以下是它编写的Python脚本关键代码片段,注释由我添加:

  1. # 首先将skill目录添加到Python路径
  2. import sys
  3. sys.path.insert(0, "/mnt/Skills/examples/slack-gif-creator")
  4. from PIL import Image, ImageDraw, ImageFont
  5. # 此类位于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/