#模型时代# 23分钟搞懂Claude Skills:3层上下文管理机制让AI省下99%的Token
Shaw Talebi是一位专注于AI开发的技术博主,我年初分享过很多他对Deepseek架构的解析。
在这期视频中他系统拆解了Anthropic新推出的Skills功能。这个功能解决了一个老大难问题:如何在不撑爆上下文窗口的情况下,给Claude装上无限多的专业技能?
之前讲过,Skill是我眼中今年最惊艳的产品之一,一点不亚于之前的MCP,但是动静没有MCP那么大,估计是因为这是目前更多封闭在Claude内部体系。但是12月中,Anthropic公布说,Agent Skills规范已作为开放标准发布在agentskills.io,意味着用户创建的skills不会被锁定在Claude——同样的skill格式可以在采用该标准的其他AI平台和工具上使用。
因此,我觉得这个理念我觉得对于普通人意义更大,而且一定会外延到其他模型,变成另一个开放标准。
最后再啰嗦一下一些官方阐述。
Anthropic官方对Skills的定义是:提供程序性知识(procedural knowledge)——完成特定任务或工作流的指令。可以同时使用Skills和MCP:MCP连接让Claude访问工具,而Skills教Claude如何有效使用这些工具。
在Claude博客中,是这样解释创建Skills的初衷:随着模型能力提升,现在可以构建与完整计算环境交互的通用Agent(如Claude Code可以使用本地代码执行和文件系统完成跨领域的复杂任务),但需要更可组合、可扩展、可移植的方式来给这些Agent装备领域专业知识。
所以,它的核心设计思想是"渐进式披露"(Progressive Disclosure)——不是一股脑把所有指令塞进去,而是让Claude按需调用。这和传统的MCP(Model Context Protocol)形成了有趣的互补关系。
也再推荐一下这位小哥的频道:搜“Shaw Talebi”,和官方:www.shawhintalebi.com
一、Skills是什么,为什么需要它
用大模型干活,指令越清晰效果越好,这是基本功。但实际操作中,我们要么每次手写指令反复调试,要么从Notion、Google Docs里复制粘贴预存的提示词。两种方式都累人。
Skills把这个流程自动化了。你把指令写一遍,存成skill,Claude会自动识别什么时候该用哪个skill。"你有一套讲解技术概念的指令,有一套验证SaaS创意的流程,有一套前端设计审计的标准——全存进去,Claude自己挑着用。"
二、Skills的技术实现:三层渐进披露
Skills的实现出人意料地简单:一个文件夹,里面放一个skill.md文件。
1、元数据层(约100 tokens)
skill.md文件开头是元数据:名称(64字符限制)和描述(1024字符限制)。这部分在你启动Claude时就进入上下文窗口,代价极小。
2、指令主体层(最多5000 tokens)
skill.md的正文是具体指令,只有当Claude判断这个skill和当前对话相关时,才会读取。Shaw举了个例子:AI tutor、SaaS验证器、前端审计是三个完全不同场景的skill,如果全部预加载,会浪费大量token在无关内容上。
3、扩展资源层(无上限)
这是让Skills真正强大的地方。你可以在skill文件夹里放更多markdown文件、子文件夹,甚至Python脚本。Claude会根据需要一层层往下读。
比如你做了一个SaaS验证器skill,里面可以加一个how-to-btoc.md,专门针对B2C业务的验证指南。只有当用户问到B2C创业想法时,Claude才会去读这个文件。
三、Skills可以带自定义工具
因为Claude运行在有bash shell、Python、Node.js的虚拟环境里,Skills可以包含可执行脚本。
Shaw演示的AI Tutor技能就带了一个Python脚本,用来抓取YouTube视频字幕。在skill.md里只需要告诉Claude:"需要时运行 `python scripts/get_transcript.py [video_url]`",Claude就能调用这个工具做研究。
这意味着Skills不只是静态指令集,而是可以整合工具的完整工作流。
四、Skills vs MCP:什么时候用哪个
很多人搞不清Skills和MCP(Model Context Protocol)的区别。Shaw给了清晰的划分:
适用范围:Skills仅限Claude使用,MCP是开放标准,任何LLM都能接入。
上下文管理:Skills按需加载,元数据仅占100 tokens;MCP在启动时全量加载,Notion的MCP Server一次性就要吃掉约2万tokens。
主要用途:Skills是教Claude更好地用现有工具,MCP是给Claude接入复杂工具和集成。
Shaw说了一个关键判断标准:如果是教Claude怎么做事,用Skills;如果是给Claude接入新能力,用MCP。
比如你想让Claude更好地用Notion,可以写一个Notion技巧的Skill。但如果你要从头实现Notion API集成,直接用现成的Notion MCP Server更省事。
五、Skills、MCP和Subagents的协作模式
在Claude Code里,这三者形成完整的架构:
主Agent是中枢,拥有默认工具、系统提示,看得到所有预加载的Skill元数据和MCP服务。
Subagent是独立的专项执行单元,有自己的上下文窗口。比如你在开发Web应用时想研究FastHTML库,可以启动一个Subagent,给它配上Context7 MCP Server(专门拉最新文档的),让它独立完成调研后把结果返回主Agent。
Subagent的价值在于上下文隔离:专项任务不会污染主Agent的上下文窗口。它继承主Agent的所有Skills,但MCP可以单独配置。
六、实战示例:AI Tutor技能搭建
Shaw演示了一个完整的AI Tutor技能,用于用大白话解释技术概念。
技能文件夹包含三部分:skill.md是主指令文件,定义如何用通俗语言解释技术;research_methodology.md是研究方法指南;scripts文件夹下的get_transcript.py是YouTube字幕抓取工具。
skill.md里有一条关键指令:"回复前先深度思考,探索多种解释方式,评估目标受众,选择最佳结构,规划例子。"这让Claude不会急于输出,而是先做内部推演。
research_methodology.md是200多行的研究指南,只在需要查资料时才加载。这正是渐进披露的价值——不是每个问题都需要研究,神经网络、梯度下降这些基础概念Claude本身就懂。
演示效果:问"用简单语言解释强化学习",Claude自动使用skill,用"现状→问题→解决方案→具体例子"的叙事结构输出。问"解释GRPO并做研究",Claude读取research_methodology.md,启动网页搜索,还能用脚本拉取相关YouTube视频的字幕做深度分析。
总结
Skills解决的核心问题是:如何在保持能力丰富的同时控制上下文成本。
传统做法是所有指令和工具元数据一次性塞进上下文,结果是几万token起步。Skills用三层渐进披露把这个成本降到100 tokens起步,只在需要时按需加载。
对于开发者来说,最实用的心智模型是:MCP解决"有没有能力"的问题,Skills解决"会不会用能力"的问题,Subagents解决"如何分工协作"的问题。三者组合使用,才是Claude Code的完整玩法。
核心归纳
Q1: Skills和传统的Prompt模板有什么本质区别?
传统模板需要你手动判断何时使用、手动复制粘贴。Skills让Claude自己判断相关性,自动调用。更重要的是,Skills只在元数据层占用约100 tokens,完整指令按需加载,这解决了"技能越多,上下文越贵"的矛盾。
Q2: 什么时候该用Skills,什么时候该用MCP?
用MCP接入复杂外部集成(如Notion API、Slack API),用Skills教Claude更好地使用这些工具。如果是从头造轮子实现集成,MCP省力;如果是优化Claude的使用方式和工作流,Skills更合适。
Q3: Skills能做到什么程度的自定义?
除了静态指令,Skills可以包含子文件、子文件夹和可执行脚本。因为Claude运行在有Python和Node.js的虚拟环境里,你可以把任意自定义工具打包进Skills,让Claude按需调用。理论上,一个skill文件夹可以承载完整的专业工作流。 http://t.cn/AX4630rB
发布于 美国
