Skip to content

Skills

前文介绍了 Agent 中的工具调用机制,从 Function Calling 到 MCP 的演进历程。但这一过程中仍存在两个问题:

其一,模型难以精准做出关于工具的使用决策,包括具体的参数输入、执行顺序安排,以及失败后的处理方式;

其二,面对复杂的上下文,若将其全部塞进提示词中进行调用,既会消耗大量的上下文 token,还可能混入大量无关信息,导致模型无法专注于核心任务。

2025 年 10 月 16 日,Anthropic 公司在 Claude 中引入 Agent Skill,以此提升模型的复杂任务理解与执行能力。社区开发者们发现这种方式简单易用且效果显著,纷纷在各大社区分享使用案例。同年 12 月 18 日,Anthropic 正式将 Agent Skill 发布为开放标准。

Image

Agent Skill 是什么?

Skill(技能)本质上是一套可复用的工作流模板——把完成某一类任务的最佳实践封装成一个独立包,供 Agent 在需要时加载使用。

你可以把它想象成给你的 AI 助手写的一份工作手册,里面包含:这件事该怎么做、每一步的注意事项、可能遇到什么坑。

Image

一个 Skill 有三层架构:

第一层:元数据层

Markdown
name: paper-analyze
description: 深度分析单篇论文,生成详细笔记和评估,图文并茂

这就是 Skill 的 YAML 头部,告诉 AI 两件事:叫什么什么时候该用

而其下方真正的完整指令和脚本,只有在 Agent 判断"这个 Skill 现在需要用"的时候才会加载。

第二层:指令层

YAML 头部下面是 SKILL.md 的正文,包含这个 Skill 的完整操作指南。

当用户的请求命中了某个 Skill 的描述时,Agent 会主动读取该 Skill 文件夹下的核心说明书 SKILL.md。只有在确定要使用该技能时,具体的SOP、操作步骤和注意事项才会被读取进上下文。

https://github.com/juliye2025/evil-read-arxiv中的 start\-my\-day 这个 Skill 来说,它的指令层包含:

  • 第一步:读取研究兴趣配置(关键词、优先级)

  • 第二步:调用 arXiv API 搜索论文,按相关性+新近性+热门度+质量四维度评分

  • 第三步:筛选出 Top 10 高评分论文

  • 第四步:为前三篇调用 extract\-paper\-images 提取图片

  • 第五步:为前三篇调用 paper\-analyze 生成详细报告

  • 第六步:写入 Obsidian 笔记到 10\_Daily/YYYY\-MM\-DD论文推荐\.md

每一步都写得清清楚楚,Agent 加载后就知道该怎么执行,不需要你再一步步指挥。

第三层:资源层

这是 Skills 最节省 Token 的部分,分为两类情况:

  • 静态资源reference:

    • 如果 Skill 包含大量的参考文档、模板或数据库 Schema,这些文件默认完全不进入上下文。

    • 只有当 SKILL.md 中的指令明确要求时,Agent 才会去读取特定文件的内容。

  • 代码脚本script:

    • Skill 文件夹中通常包含 Python 或 Bash 脚本。

    • Agent 通过命令行工具直接运行这些脚本,脚本的源代码永远不会进入上下文,Agent 只能看到脚本运行后的输出结果。这比让 LLM 自己生成代码或阅读长代码要节省大量 Token。

三层加起来,就构成了一个完整的 Skill:

Markdown
skill-name/          # 文件夹名称 = Skill 名称(建议英文、小写、短横线)
├── SKILL.md         # 必需:核心文件,元数据 + 执行流程
├── scripts/         # 可选:可执行脚本(Python/Bash 等)
├── references/      # 可选:参考文档,按需被 AI 读取
└── assets/          # 可选:模板、图片等静态资源

Image

渐进式加载

你可能会问:一个 Skill 装这么多东西,加载时不就把上下文撑爆了?

这正是 Skill 设计的巧妙之处——渐进式加载(Progressive Disclosure)

Agent 启动时只会加载所有 Skill 的 YAML 头部(描述),也就是"有哪些 Skill、各自什么时候用"。真正的完整指令和脚本,只有在 Agent 判断"这个 Skill 现在需要用"的时候才会加载。

这个设计有两个好处:

第一,上下文成本极低。 你可以装 50 个 Skill,但 Agent 只会加载当前用到的那几个,不会全部塞进上下文。

第二,按需使用。 /start\-my\-day 只在"做论文调研"这个场景才会加载,/paper\-analyze 只在"分析单篇论文"时才会加载。互不干扰,各司其职。

这就好比图书馆和书店的区别——书店把所有书都摆在货架上(全部加载),图书馆只在有人借阅时才去书库取对应的书(按需加载)。

怎么写一个 Skill?

第一种:安装别人的 Skill

比如安装我的每日自动读论文的skills:https://mp.weixin.qq.com/s/rvagvJdHnVIS8BSx6tmprQ

Anthropic 官方的skills仓库也提供了不少:https://github.com/anthropics/skills

也可以在skills市场找到你需要的skills:https://skillsmp.com/zhhttps://skillhub.tencent.com/

第二种:自己定制一个 Skill

如果现成的 Skill 不能满足你的需求,也可以自己定制一个。Anthropic 官方仓库里有一个Skill叫 Skill Creator,专门用来帮你制作 Skill。

做完后可以测试一下是否实现了你需要的功能,如果有什么不满意的地方,还可以继续让 Claude Code 帮你调整这个 Skill,不断优化成你想要的样子。