什么是技能(Agent SKill)
什么是 Skills?
Agent Skills 是一种轻量级、开源的格式,用于为 Agent 扩展专业知识与工作流能力。
Skills 的核心是一个文件夹,其中包含 SKILL.md 文件。该文件至少包含元数据(name 名称、description 描述)以及指导 Agent 执行特定任务的指令。Skills 同时可以打包脚本、模板和参考资料。
my-skill/
├── SKILL.md # 必需:指令 + 元数据
├── scripts/ # 可选:可执行代码
├── references/ # 可选:文档资料
└── assets/ # 可选:模板、资源文件
Skills 的工作原理
Skills 使用渐进式披露机制高效管理上下文:
- 发现阶段:Agent 启动时,仅加载所有可用 Skill 的名称与描述,足够判断该 Skill 是否相关即可。
- 激活阶段:当任务匹配某个 Skill 的描述时,Agent 会将完整的
SKILL.md指令加载至上下文。 - 执行阶段:Agent 按照指令执行任务,可按需加载引用文件或运行内置代码。
该方案既能保证 Agent 运行速度,又能按需加载更多上下文信息。
SKILL.md 文件规范
每个 Skill 都以 SKILL.md 文件为入口,文件包含 YAML 头部元数据与 Markdown 指令内容:
---
name: pdf-processing
description: 提取PDF文本、填写表单、合并文件。处理PDF相关任务时使用。
---
# PDF 处理技能
## 使用场景
当用户需要操作 PDF 文件时,使用本 Skill……
## 文本提取步骤
1. 使用 pdfplumber 进行文本提取……
## 表单填写步骤
……
SKILL.md 顶部必须包含以下元数据:
name:简短唯一标识description:该 Skill 的适用场景
Markdown 正文为实际执行指令,对结构和内容无特殊限制。
这种简洁格式具备以下核心优势:
- 自带文档说明:Skill 创作者或用户可直接阅读
SKILL.md了解功能,易于审核、优化。 - 可扩展:Skill 复杂度灵活,可仅为纯文本指令,也可包含可执行代码、资源、模板。
- 可移植:Skill 以文件形式存在,易于编辑、版本管理与分享。