什么是 Agent Skills?
文档索引
本文翻译自What are skills?,介绍了 Agent Skills 的概念、工作原理以及如何使用。
在进一步探索之前,请先使用此文件来发现所有可用的页面。
什么是技能?
Agent Skills是一种轻量级、开放式的格式,用于通过专业知识和工作流程来扩展 AI 代理的能力。
其核心是,一个技能就是一个包含 SKILL.md文件的文件夹。该文件包含元数据(至少需要 name和 description)以及指导代理如何执行特定任务的指令。技能还可以捆绑脚本、模板和参考资料。
my-skill/
├── SKILL.md # 必需:指令 + 元数据
├── scripts/ # 可选:可执行代码
├── references/ # 可选:文档
└── assets/ # 可选:模板、资源
技能如何工作
技能通过渐进式披露(progressive disclosure)来高效管理上下文:
- 发现(
Discovery):启动时,代理仅加载每个可用技能的名称和描述,仅需足以知道何时可能与之相关。 - 激活(
Activation):当某项任务与某个技能的描述匹配时,代理会读取完整的SKILL.md指令到上下文中。 - 执行(
Execution):代理遵循指令,并可根据需要加载引用的文件或执行捆绑的代码。
这种方法在按需为代理提供更多上下文的同时,也能保持其运行速度。
SKILL.md 文件
每个技能都始于一个包含 YAML 前置元数据和 Markdown 指令的 SKILL.md文件:
---
name: pdf-processing
description: 从 PDF 文件中提取文本和表格、填写表单、合并文档。
---
# PDF 处理
## 何时使用此技能
当用户需要处理 PDF 文件时,使用此技能...
## 如何提取文本
1. 使用 pdfplumber 进行文本提取...
## 如何填写表单
...
以下前置元数据是 SKILL.md文件顶部必须包含的:
name:一个简短的标识符description:描述何时使用此技能
Markdown 正文包含实际的指令,对结构或内容没有特定的限制。
这种简单的格式具有一些关键优势:
- 自我说明:技能作者或用户可以阅读
SKILL.md来理解其功能,使得技能易于审查和改进。 - 可扩展:技能在复杂度上可以不同,从纯文本指令到可执行代码、资源和模板。
- 可移植:技能只是文件,因此易于编辑、版本控制和分发。
后续步骤
- 查看规范以了解完整的格式。
- 为你的代理添加技能支持以构建兼容的客户端。
- 在 GitHub 上 查看技能示例。
- 阅读编写最佳实践来编写高效的技能。
- 使用参考库来验证技能并生成提示 XML。