Agent Skills:让 AI 代理学会"专业技能"的开放标准
什么是 AgentSkills?AgentSkills 是 Anthropic 在 2025 年推出的一个开放标准,用于给 AI 代理添加特定领域的专业技能和知识。简单来说,它就像是为 AI 助手编写的"专业培训手册"。
想象一下,你雇佣了一名新员工,你需要给他一份详细的操作指南,告诉他如何完成特定的工作任务。AgentSkills 就是这样的指南——但它是为 AI 准备的。
每个 Agent Skill 由一个文件夹组成,其中包含:
SKILL.md:核心配置文件,包含技能的元数据和操作指令脚本文件:可执行的代码(如 Python、Bash 等)模板文件:可复用的资源(如代码模板、配置文件)参考文档:相关的说明和示例为什么需要 AgentSkills?在 AgentSkills 出现之前,每次想让 AI 完成特定任务时,都需要在提示词中手动添加大量上下文信息。这种方式存在几个问题:
上下文效率低每次对话都需要重复输入相同的背景信息,浪费了宝贵的上下文窗口。
难以维护当需要更新某个流程时,需要在多个地方修改,容易遗漏或不一致。
无法复用团队中其他人遇到类似问题时,无法直接使用你之前创建的解决方案。
缺乏标准化每个人创建的"技能"格式不一,难以共享和集成。
AgentSkills 通过标准化的格式解决了这些问题:
按需加载:AI 只在需要时才加载相关技能,节省上下文。集中管理:技能集中存储,更新一次即可全局生效易于共享:标准格式便于团队协作和社区共享跨平台兼容:同一技能可在不同 AI 平台上使用如何创建你的第一个 AgentSkill创建一个 AgentSkill 非常简单,只需要三个步骤。
步骤 1:创建目录结构首先创建一个文件夹,比如命名为 pdf-parser:
pdf-parser/ ├── SKILL.md ├── examples/ │ └── sample.pdf └── scripts/ └── extract_data.py 步骤 2:编写 SKILL.md 文件SKILL.md 是技能的核心,使用 YAML 前置数据(Frontmatter)来定义元数据:
name: PDF Data Extractor description: Extract structured data from PDF invoices and receipts version: 1.0.0 author: Your Name tags: [pdf, parsing, data-extraction] capabilities:
- Extract text from PDF files
- Parse invoice data (date, amount, items)
- Output structured JSON format
PDF Data Extractor
使用场景
当你需要从 PDF 发票、收据或其他文档中提取结构化数据时使用此技能。
使用方法
- 将 PDF 文件放在
examples/目录 - 告诉 AI 你要提取哪些字段
- AI 会自动调用
scripts/extract_data.py处理
示例
输入:"提取 invoice.pdf 中的日期、总金额和商品列表" 输出:```json "date": "2025-01-15", "total": 1250.00, "items": [ ] 注意事项确保 PDF 文件是可搜索的文本格式,而非扫描图片支持的 PDF 大小不超过 10MB
步骤 3:添加必要的脚本和资源
在 scripts/extract_data.py 中编写处理逻辑:
import PyPDF2
import json
import sys
def extract_pdf_data(pdf_path):
"""提取 PDF 数据"""
with open(pdf_path, 'rb') as file:
reader = PyPDF2.PdfReader(file)
text = ""
for page in reader.pages:
text += page.extract_text()
return text
pdf_path = sys.argv[1]
data = extract_pdf_data(pdf_path)
AgentSkills 的高级特性1. 动态发现与加载支持 AgentSkills 的 AI 系统(如 Claude Code)会自动扫描项目中的 .claude/skills/ 目录,并根据任务需求动态加载相关技能。
.claude/
├── skills/
│ ├── pdf-parser/
│ ├── code-review/
│ └── email-draft/
└── src/
当你说"帮我检查这个代码"时,AI 会自动加载 code-review 技能。
2. 技能组合多个技能可以组合使用,解决复杂问题。例如:
pdf-parser 提取文档内容data-analyzer 分析数据report-generator 生成报告3. 版本管理每个技能都有版本号,便于追踪更新和兼容性管理。
实战示例:创建一个代码审查技能让我们创建一个实用的代码审查技能。
目录结构code-review/
├── SKILL.md
├── checklists/
│ ├── security.md
│ └── performance.md
└── templates/
└── review-template.md
SKILL.md 内容---
name: Code Review Assistant
description: Systematic code review with security and performance checks
version: 2.1.0
tags: [code-review, quality, security]
---
# Code Review Assistant
## 工作流程
1. 理解代码的目的和上下文
2. 使用安全检查清单审查潜在漏洞
3. 使用性能检查清单评估性能问题
4. 生成结构化审查报告
## 安全检查清单
- 输入验证是否充分
- 是否有 SQL 注入风险
- 敏感数据是否正确处理
- 认证授权机制是否健全
## 性能检查清单
- 循环复杂度是否过高
- 是否有不必要的数据库查询
- 内存使用是否合理
- 是否有 N+1 查询问题
## 输出格式
使用 `templates/review-template.md` 格式化报告。
AgentSkills 最佳实践1. 保持专注一个好的技能应该只做一件事,并把它做好。
❌ 不好的例子:全能文档处理器(处理所有类型的文档) ✅ 好的例子:PDF 发票解析器(专门处理 PDF 发票)
2. 明确的输入输出契约清楚定义技能接受什么输入、产生什么输出。
capabilities:
input:
- PDF 文件路径(字符串)
- 目标字段列表(数组)
output:
- JSON 格式的结构化数据
3. 提供丰富的示例让用户和 AI 都能快速理解如何使用这个技能。
4. 包含错误处理告知 AI 遇到错误时应该如何处理。
## 错误处理
- 如果 PDF 文件损坏,返回友好错误消息
- 如果提取失败,尝试其他方法或建议用户检查文件格式
5. 版本管理规范遵循语义化版本控制(Semantic Versioning):
MAJOR.MINOR.PATCH例如:1.0.0 → 1.1.0 → 2.0.0如何使用 AgentSkills方法 1:在项目中直接使用将技能放在项目的 .claude/skills/ 目录:
.claude/
├── skills/
│ └── your-skill/
└── src/
方法 2:使用 Claude CodeClaude Code 原生支持 AgentSkills,创建技能后即可直接使用:
# Claude Code 会自动发现并加载技能
claude "使用 pdf-parser 技能处理这个文件"
方法 3:集成到自己的应用参考 AgentSkills GitHub 中的实现示例。
常见问题Q: AgentSkills 只能在 Claude 上使用吗?A: 不是。AgentSkills 是开放标准,已被多个平台支持,包括 GitHub Copilot、Vercel 等。
Q: 一个项目可以有多少个技能?A: 数量没有硬性限制,但建议根据实际需求添加,避免技能过多导致选择困难。
Q: 如何分享我创建的技能?A: 可以通过 GitHub、npm 或专门的技能市场分享你的技能。
Q: AgentSkills 和传统的提示词工程有什么区别?A: AgentSkills 是标准化、可复用、可组合的,而传统提示词难以维护和共享。
总结AgentSkills 代表了 AI 能力扩展的新范式——从"临时提示"到"标准化技能"。
主要优势:
📦 模块化和可复用🔧 易于维护和更新🤝 便于团队协作🌐 跨平台兼容🚀 可组合性强无论是开发者还是领域专家,都可以通过 AgentSkills 将自己的专业知识转化为 AI 技能,让 AI 成为真正的"专家助手"。
开始行动:
访问 AgentSkills GitHub 查看更多示例尝试创建你的第一个技能加入社区分享和交流经验本文基于 AgentSkills 开放标准编写,更多详细信息请参考官方文档。