你是否遇到过这样的情况:让 AI 帮你处理 Excel 表格,结果格式不对;让它按照公司的品牌规范生成文档,却总是偏离标准;或者需要它理解某个特定领域的知识,但解释总是流于表面。

通用 AI 助手虽然强大,但在专业任务面前往往力不从心。如何让 AI 具备专业技能,成为特定领域的专家?Agent Skills 给出了一个优雅的解决方案。

什么是 Agent Skills

Agent Skills(代理技能)是一种轻量级的开放格式,用于扩展 AI 代理的专业能力。简单来说,它是一套标准化的"技能包",让 AI 能够按需加载和使用专业知识和工作流程。

核心组成

一个 Skill 本质上是一个文件夹,包含以下内容:

my-skill/
├── SKILL.md          # 必需:技能说明和指令
├── scripts/          # 可选:可执行代码
├── references/       # 可选:参考文档
└── assets/           # 可选:模板和资源

SKILL.md 是每个 Skill 的核心文件,包含两个部分:

  1. YAML 前置元数据:技能的标识和描述
  2. Markdown 正文:详细的使用说明和指导

例如,一个 PDF 处理 Skill 的 SKILL.md 可能是这样的:

---
name: pdf-processing
description: Extract text and tables from PDF files, fill forms, merge documents. Use when working with PDF documents or when the user mentions PDFs, forms, or document extraction.
---

# PDF Processing Skill

## Quick Start
Use pdfplumber for text extraction...

## Advanced Usage
For form filling, use PyPDF2...

与普通 Prompt 的区别

你可能会问:这不就是写一个详细的 prompt 吗?实际上,Agent Skills 和传统 prompt 有几个关键区别:

  1. 结构化组织:Skill 将指令、代码、参考资料分离,而不是把所有内容塞进一个 prompt
  2. 渐进式加载:系统启动时只加载元数据,需要时才加载完整内容,节省上下文空间
  3. 可执行代码:Skill 可以包含实际可运行的脚本,而不仅仅是文字说明
  4. 可组合性:多个 Skill 可以同时使用,相互配合完成复杂任务
  5. 可移植性:同一个 Skill 可以在不同平台(Claude apps、API、Claude Code)使用

Agent Skills 的作用

让通用 AI 变成专业助手

最直接的作用是让通用 AI 助手具备专业能力。比如,你可以创建一个"财务分析"Skill,包含:

  • 财务报表解读的规范
  • 常用财务指标的计算方法
  • 行业对比的标准流程

当用户需要分析财务报表时,AI 会自动加载这个 Skill,按照专业标准完成任务。

封装组织知识和工作流

对于企业来说,Agent Skills 是封装组织知识的最佳方式。每个团队可以创建自己的 Skill:

  • 设计团队:品牌规范、设计系统、模板库
  • 开发团队:代码规范、审查标准、部署流程
  • 运营团队:数据分析方法、报告模板、SOP

这些知识以 Skill 的形式保存,新员工通过 AI 就能快速掌握团队的工作方式。

实现可复用的专业能力

传统的做法是每次都在 prompt 中重复说明要求,或者训练专门的模型。Agent Skills 提供了一种中间方案:

  • 一次创建,多次使用:写好一个 Skill,可以在不同场景反复使用
  • 版本控制:Skill 可以版本化管理,追踪变更历史
  • 团队共享:通过版本控制系统,整个团队都能使用相同的 Skill

核心优势

技能叠加使用

多个 Skill 可以同时使用,AI 会自动识别哪些 Skill 相关并协调使用。比如处理一份包含数据的 PDF 报告:

  • 加载"PDF 处理"Skill 提取内容
  • 加载"数据分析"Skill 分析数据
  • 加载"报告生成"Skill 格式化输出

这种组合能力让 AI 能够处理复杂的多步骤任务。

跨平台使用

Agent Skills 使用统一的格式,可以在不同平台间无缝迁移,这意味着你只需要创建一次 Skill,就能在所有支持的环境中使用。

渐进式加载

这是 Agent Skills 设计的核心优势。系统采用"渐进式披露"(Progressive Disclosure)策略:

  1. 启动阶段:只加载所有 Skill 的 name 和 description
  2. 激活阶段:当任务匹配时,加载对应 Skill 的完整 SKILL.md
  3. 执行阶段(按需):只在需要时加载 scripts、references 等资源

这种设计带来的好处:

  • 节省上下文空间:不需要把所有 Skill 的内容都加载到内存
  • 快速响应:启动时只处理元数据,速度更快
  • 灵活扩展:可以安装大量 Skill,而不会影响性能

支持可执行代码

Skill 不仅可以包含文字说明,还能包含实际可执行的代码。这对于需要精确操作的任务特别有用:

  • 文件处理:脚本处理 PDF、Excel 等文件格式
  • 数据转换:将数据从一种格式转换为另一种
  • 验证检查:自动验证输出是否符合规范

代码执行在安全的沙箱环境中进行,既保证了功能强大,又确保了安全性。

工作原理:渐进式披露

理解渐进式披露的工作原理,有助于更好地设计和使用 Skill。

阶段一:发现(Discovery)

系统启动时,会扫描所有可用的 Skill 目录,但只读取每个 Skill 的 YAML frontmatter 部分:

---
name: pdf-processing
description: Extract text and tables from PDF files...
---

这部分内容很小(通常不到 100 tokens),所以即使有几十个 Skill,启动成本也很低。

阶段二:激活(Activation)

当用户提出一个任务时,AI 会:

  1. 扫描所有 Skill 的 description
  2. 判断哪些 Skill 与任务相关
  3. 加载相关 Skill 的完整 SKILL.md 内容

例如,用户说"帮我提取这个 PDF 的文本",AI 会识别出"pdf-processing"Skill 相关,然后加载它的完整指令。

阶段三:执行(Execution)

在执行过程中,如果需要:

  • 运行脚本:加载并执行 scripts/ 目录下的代码
  • 查阅资料:读取 references/ 目录下的文档
  • 使用模板:加载 assets/ 目录下的资源

这些资源只在真正需要时才加载,进一步节省上下文空间。

如何创建 Skill

基本结构

创建一个 Skill 只需要三个步骤:

  1. 创建目录:在合适的位置创建技能目录
  2. 编写 SKILL.md:包含 frontmatter 和正文
  3. 可选资源:根据需要添加 scripts、references、assets

SKILL.md 格式

SKILL.md 必须包含 YAML frontmatter 和 Markdown 正文:

---
name: your-skill-name
description: Brief description of what this skill does and when to use it
---

# Your Skill Name

## Instructions
Clear, step-by-step guidance...

## Examples
Concrete examples...

Frontmatter 要求

name 字段(必需):

  • 最大 64 个字符
  • 只能包含小写字母、数字和连字符
  • 不能以连字符开头或结尾
  • 必须与目录名匹配

description 字段(必需):

  • 最大 1024 个字符
  • 应该描述技能做什么以及何时使用
  • 包含关键词,帮助 AI 识别相关任务

好的 description 示例:

description: Extract text and tables from PDF files, fill forms, merge documents. Use when working with PDF documents or when the user mentions PDFs, forms, or document extraction.

不好的 description 示例:

description: Helps with PDFs.  # 太模糊,没有说明具体能力和使用场景

示例:代码审查 Skill

---
name: code-review
description: Review code for quality, security, and maintainability following team standards. Use when reviewing pull requests, examining code changes, or when the user asks for a code review.
---

# Code Review

## Quick Start

When reviewing code, check:

1. Correctness and potential bugs
2. Security best practices
3. Code readability and maintainability
4. Test coverage

## Review Checklist

- [ ] Logic handles edge cases correctly
- [ ] No security vulnerabilities (SQL injection, XSS, etc.)
- [ ] Code follows project style conventions
- [ ] Functions are appropriately sized and focused
- [ ] Error handling is comprehensive
- [ ] Tests cover the changes

## Providing Feedback

Format feedback as:
- **Critical**: Must fix before merge
- **Suggestion**: Consider improving
- **Nice to have**: Optional enhancement

## Additional Resources

- For detailed coding standards, see [STANDARDS.md](references/STANDARDS.md)
- For example reviews, see [examples.md](references/examples.md)

总结

Agent Skills 提供了一种新的方式来扩展 AI 的能力。它通过标准化的格式、渐进式加载机制和可组合的设计,让 AI 能够按需加载专业知识和技能。

参考资料

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐