什么是 Skill?#
Agent Skills 是一种轻量级的开放格式,用于通过专业知识和工作流扩展 AI 智能体(Agent)的能力。
从本质上讲,Skill 是一个包含 SKILL.md 文件的文件夹。该文件包含元数据(至少包括 name 和 description)以及告诉智能体如何执行特定任务的指令。Skill 还可以捆绑脚本、模板和参考资料。
my-skill/
├── SKILL.md # 必填:指令 + 元数据
├── scripts/ # 可选:可执行代码
├── references/ # 可选:文档
└── assets/ # 可选:模板、资源技能如何运作#
Skill 使用 渐进式披露(Progressive Disclosure) 来高效地管理上下文:
发现(Discovery):在启动时,智能体仅加载每个可用 Skill 的名称和描述,这足以让它知道该 Skill 何时可能相关。
激活(Activation):当任务与 Skill 的描述匹配时,智能体会将完整的
SKILL.md指令读取到上下文中。执行(Execution):智能体遵循指令,并根据需要加载引用的文件或执行关联的代码。
这种方法在保持智能体响应速度的同时,让它们能够根据需求访问更多上下文。
SKILL.md 文件#
每个 Skill 都始于一个包含 YAML Frontmatter 和 Markdown 指令的 SKILL.md 文件:
---
name: pdf-processing
description: 提取 PDF 文本、填写表单、合并文件。在处理 PDF 时使用。
---
# PDF 处理
## 何时使用此技能
当用户需要处理 PDF 文件时,使用此技能...
## 如何提取文本
1. 使用 pdfplumber 进行文本提取...
## 如何填写表单
...SKILL.md 顶部必须包含以下 Frontmatter:
name: 简短的标识符。description: 描述何时使用该技能。
Markdown 正文包含实际指令,对结构或内容没有特定限制。
这种简单的格式具有以下关键优势:
- 自文档化(Self-documenting):Skill 作者或用户可以阅读
SKILL.md并了解其功能,使 Skill 易于审计和改进。 - 可扩展性(Extensible):Skill 的复杂程度不一,既可以仅包含文本指令,也可以包含可执行代码、资产和模板。
- 便携性(Portable):Skill 只是普通文件,因此易于编辑、版本控制和分享。
后续步骤#
- 查看规范说明:了解完整的格式规范。
- 为智能体添加技能支持:构建一个兼容的客户端。
- 查看示例技能:在 GitHub 上浏览。
- 阅读编写最佳实践:学习如何编写高效的 Skill。
- 使用参考库:验证 Skill 并生成 Prompt XML。