Agent中的Skill

系列文章见: 《回忆AI时代》

什么是Skill

2025年10月16日(October 16, 2025),Anthropic当天发布了技术文章《Equipping agents for the real world with Agent Skills》首次公开介绍 Agent Skills、SKILL.md 结构以及动态加载机制。

Skill是一种把知识、流程、代码和资源打包成可复用能力模块的机制,让Agent遇到特定任务时能够直接加载并执行,而不是每次都重新推理。

以下是传统Agent工作方式与有了skill工作方式:

传统 Agent 工作方式 Skill 工作方式
用户任务

LLM 思考

调用工具

继续思考

完成任务
用户任务

发现 SEO Skill

加载 Skill

执行预定义流程

完成任务

Skill在Agent中位置

1
2
3
4
5
6
7
8
9
               Agent

┌───────────┼───────────┐
│ │ │
▼ ▼ ▼
SEO Skill Coding Skill Research Skill
│ │ │
▼ ▼ ▼
Tools Tools Tools
  • Agent 负责选 Skill
  • Skill 负责完成任务
  • Tool 负责执行动作

怎么写Skill

每个 Skill 是一个文件夹,至少包含一个 SKILL.md:

1
2
3
4
5
my-skill/
├── SKILL.md ← 必须
├── scripts/ ← 可选:可执行脚本
├── references/ ← 可选:参考文档
└── assets/ ← 可选:模板、字体等

SKILL.md写法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
---
name: skill-name
description: 这里写"什么时候触发"以及"做什么"。
要写得主动一些,让 Claude 更容易判断何时使用它。
---

# Skill 标题

## 背景 / 概述
简短说明这个 skill 解决什么问题。

## 步骤
1. 第一步做什么
2. 第二步做什么
3. ...

## 注意事项
- 常见错误
- 边界情况处理

Skill书写模版。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
---
name: my-llm-skill
description: 当用户想要做 [X 任务] 时使用此 skill。
触发词包括:[关键词1]、[关键词2]、[场景描述]。
---

# My Skill

## 何时使用
[描述适用场景]

## 步骤

### 第一步:[做什么]
[具体说明]

### 第二步:[做什么]
[具体说明]

## 输出格式
[说明期望的输出是什么样的]

## 注意事项
- [边界情况1]
- [边界情况2]

书写原则

  1. description是触发机制。

Claude 只读 name + description 来决定是否调用这个skill,所以要写清楚”什么情况下用”,而且要稍微”积极”一点:

1
2
3
4
5
6
7
# 不够好
description: 生成 Excel 文件的方法。

# 更好
description: 用于创建、读取、编辑 .xlsx 文件。
任何涉及 Excel、电子表格、CSV 处理的任务都应使用此 skill,
即使用户没有明确说"用 skill"。
  1. 分层加载(Progressive Disclosure)
  • SKILL.md 正文控制在 500 行以内
  • 大型参考内容放 references/ 目录,在正文里说明”什么时候去读它”
  • 脚本放 scripts/,可以直接执行而不用全部载入上下文
  1. 指令要具体
    不要写”处理好文件”,要写”用 openpyxl 读取文件,然后遍历每一行……”

  2. 多域名场景,按变体组织

1
2
3
4
5
6
deploy-skill/
├── SKILL.md ← 判断用哪个云
└── references/
├── aws.md
├── gcp.md
└── azure.md