跳转至

第一章:Skills 概述

什么是 Agent Skills?

Agent Skills(技能)是模块化、自包含的功能包,用于扩展 AI Agent 的能力。它们提供专业化的知识、工作流程和工具,将通用 Agent 转变为具备特定领域能力的专业 Agent。

核心价值

┌─────────────────────────────────────────────────────────────┐
│                                                              │
│  通用 Agent                    专业 Agent                    │
│  ┌─────────────┐              ┌─────────────┐               │
│  │ 基础对话    │              │ 基础对话    │               │
│  │ 代码生成    │   + Skills   │ 代码生成    │               │
│  │ 文件操作    │  ────────▶   │ 文件操作    │               │
│  │             │              │ ─────────── │               │
│  │             │              │ PDF 处理    │               │
│  │             │              │ 数据分析    │               │
│  │             │              │ 报告生成    │               │
│  └─────────────┘              └─────────────┘               │
│                                                              │
└─────────────────────────────────────────────────────────────┘

Skills 提供什么

能力类型 说明 示例
专业工作流 多步骤领域流程 数据分析流程、代码审查流程
工具集成 特定工具使用指南 PDF 处理、图像编辑
领域知识 行业/公司特定知识 财务报表格式、API 规范
可复用资源 脚本、模板、参考文档 转换脚本、报告模板

Skills vs 传统插件

特性 Skills 传统插件
加载方式 按需加载 常驻内存
上下文占用 最小化(渐进式) 固定占用
触发机制 自动识别 手动调用
内容形式 自然语言指令 程序代码
扩展性 易于定制 需要编程

渐进式加载机制

Skills 采用三层加载系统,高效管理上下文:

┌─────────────────────────────────────────────────────────────┐
│                                                              │
│  第一层:元数据(始终加载)                                   │
│  ┌─────────────────────────────────────────────────────────┐│
│  │  name: pdf-editor                                       ││
│  │  description: PDF 编辑和处理技能...                      ││
│  │  约 100 词,始终在上下文中                               ││
│  └─────────────────────────────────────────────────────────┘│
│                           │                                  │
│                           ▼ 触发后加载                       │
│  第二层:SKILL.md 主体                                       │
│  ┌─────────────────────────────────────────────────────────┐│
│  │  工作流程、使用指南、示例代码                            ││
│  │  < 5000 词,触发后加载                                   ││
│  └─────────────────────────────────────────────────────────┘│
│                           │                                  │
│                           ▼ 按需加载                         │
│  第三层:捆绑资源                                             │
│  ┌─────────────────────────────────────────────────────────┐│
│  │  scripts/  - 可执行脚本                                 ││
│  │  references/ - 参考文档                                 ││
│  │  assets/ - 输出资源                                     ││
│  │  无限制,按需加载                                        ││
│  └─────────────────────────────────────────────────────────┘│
│                                                              │
└─────────────────────────────────────────────────────────────┘

Skills 分类

按功能分类

# 工具型 Skills
tool-skills:
  - pdf-editor: PDF 编辑处理
  - image-processor: 图像处理
  - docx-editor: Word 文档处理
  - excel-analyzer: Excel 分析

# 工作流型 Skills
workflow-skills:
  - code-review: 代码审查流程
  - data-analysis: 数据分析流程
  - report-generation: 报告生成流程

# 领域型 Skills
domain-skills:
  - finance-reporting: 财务报告
  - legal-document: 法律文档
  - medical-record: 医疗记录

# 集成型 Skills
integration-skills:
  - github-actions: GitHub Actions 配置
  - kubernetes-deploy: K8s 部署
  - cloud-infra: 云基础设施

按复杂度分类

复杂度 特点 示例
简单 单一功能,无依赖 文本格式转换
中等 多步骤,有脚本 PDF 合并加水印
复杂 多模块,有引用 完整数据分析流程
高级 多领域,有资产 企业报告生成系统

Skills 生命周期

┌─────────────────────────────────────────────────────────────┐
│                                                              │
│  1. 发现阶段                                                 │
│     ┌─────────────────────────────────────────────────────┐ │
│     │  Agent 扫描可用 Skills 元数据                        │ │
│     │  匹配用户请求与 Skill description                    │ │
│     └─────────────────────────────────────────────────────┘ │
│                           │                                  │
│                           ▼                                  │
│  2. 触发阶段                                                 │
│     ┌─────────────────────────────────────────────────────┐ │
│     │  加载 SKILL.md 主体内容                              │ │
│     │  解析工作流程和指令                                  │ │
│     └─────────────────────────────────────────────────────┘ │
│                           │                                  │
│                           ▼                                  │
│  3. 执行阶段                                                 │
│     ┌─────────────────────────────────────────────────────┐ │
│     │  按需加载脚本、引用、资产                            │ │
│     │  执行工作流程                                        │ │
│     │  生成输出                                            │ │
│     └─────────────────────────────────────────────────────┘ │
│                           │                                  │
│                           ▼                                  │
│  4. 完成阶段                                                 │
│     ┌─────────────────────────────────────────────────────┐ │
│     │  返回结果给用户                                      │ │
│     │  释放上下文资源                                      │ │
│     └─────────────────────────────────────────────────────┘ │
│                                                              │
└─────────────────────────────────────────────────────────────┘

设计原则

1. 简洁优先

上下文窗口是公共资源。Skills 与其他内容共享上下文:

  • 默认假设:Agent 已经很聪明,只添加它不知道的信息
  • 挑战每个信息:"Agent 真的需要这个解释吗?"
  • 优先使用示例:而非冗长解释

2. 适当的自由度

根据任务的脆弱性和可变性匹配具体程度:

自由度 适用场景 实现方式
高自由度 多种方法有效,依赖上下文 文本指令
中自由度 有首选模式,允许变化 伪代码/参数化脚本
低自由度 操作脆弱,一致性关键 具体脚本,少参数

3. 渐进式披露

信息分层,按需加载:

# 好的设计
## 快速开始
[基础示例]

## 高级功能
详见 [advanced.md](references/advanced.md)

# 不好的设计
[所有内容都在 SKILL.md 中]

小结

本章介绍了 Agent Skills 的基本概念:

  • Skills 是模块化的能力扩展包
  • 采用渐进式加载,高效利用上下文
  • 分为工具型、工作流型、领域型、集成型
  • 设计原则:简洁、适当自由度、渐进披露

下一章将详细介绍 Skill 的目录结构。