第一章: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. 渐进式披露¶
信息分层,按需加载:
小结¶
本章介绍了 Agent Skills 的基本概念:
- Skills 是模块化的能力扩展包
- 采用渐进式加载,高效利用上下文
- 分为工具型、工作流型、领域型、集成型
- 设计原则:简洁、适当自由度、渐进披露
下一章将详细介绍 Skill 的目录结构。