0%

什么是skills(技能)?

官方文档:https://agentskills.io/what-are-skills

什么是skills

智能体技能是一种轻量级的开放式格式,旨在通过专业知识和工作流来扩展人工智能智能体的能力。
其核心是一个包含SKILL.md文件的文件夹。此文件至少包含元数据(至少包括namedescription)和指导智能体如何执行特定任务的指令。技能还可以捆绑脚本(scripts)、模板(templates)和参考资料(references)。

1
2
3
4
5
my-skill/
├── SKILL.md # Required: instructions + metadata
├── scripts/ # Optional: executable code
├── references/ # Optional: documentation
└── assets/ # Optional: templates, resources

skills是如何工作的?

skills采用渐进式披露来高效管理上下文:

  1. 发现:启动时,智能体仅加载每个可用技能的名称描述,仅需知道何时可能相关。
  2. 激活:当任务与某个技能的描述匹配时,智能体会将完整的SKILL.md指令读入上下文。
  3. 执行:智能体遵循指令,根据需要可选地加载引用的文件或执行捆绑的代码。
    这种方法能保持智能体的响应速度,同时让它们能够按需获取更多上下文信息。

SKILL.md 文件

每个技能都始于一个包含YAML前置元数据和Markdown指令的SKILL.md文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
---
name: pdf-processing
description: Extract PDF text, fill forms, merge files. Use when handling PDFs.
---

# PDF Processing

## When to use this skill
Use this skill when the user needs to work with PDF files...

## How to extract text
1. Use pdfplumber for text extraction...

## How to fill forms
...

SKILL.md文件顶部必须包含以下前置元数据:
● name: 简短的标识符
● description: 何时使用此技能
Markdown正文包含实际操作指令,对结构或内容没有特定限制。
这种简单的格式具有一些关键优势:
● 自说明性:技能作者或用户可以阅读SKILL.md文件来了解其功能,这使得技能易于审计和改进。
● 可扩展性:技能的复杂度范围很广,从简单的文本指令到可执行代码、资源和模板均可。
● 可移植性:技能就是文件,因此易于编辑、版本控制和分享。