什么是 Agent Skills?
从“通用全能”走向“专业精深”的技术跃迁
定义
Agent Skills 是智能体能力的标准化封装单元。它不仅仅是一段提示词(Prompt),而是一个包含元数据、执行指令、代码脚本和静态资源的完整包。它让智能体能够像安装 APP 一样扩展能力,实现真正的模块化开发。
解决的问题
- Context Window 爆炸:避免一次性将所有能力塞入提示词。
- 幻觉问题:通过精确的指令和工具约束,减少模型胡言乱语。
- 复用性差:打破“Prompt 复制粘贴”的低效模式,实现跨智能体共享。
与其他标准的对比
| 特性 | Agent Skills | MCP (Model Context Protocol) | 纯 Prompt 模式 |
|---|---|---|---|
| 定位 | 能力封装标准 | 通信协议 | 文本指令 |
| 动态加载 | ✔ 支持 | 部分支持 | ✗ |
| 内置脚本执行 | ✔ 支持 | 需外部实现 | ✗ |
| 权限管理 | ✔ 内置 | 需外部实现 | ✗ |
| 版本管理 | ✔ 内置 | ✗ | ✗ |
| 学习曲线 | 中等 | 较高 | 低 |
核心设计:渐进式披露
Progressive Disclosure — 像游戏引擎加载地图一样加载知识
核心哲学
Agent Skills 的核心哲学是“按需加载”。智能体在初始状态下只知道技能的“存在”(元数据),只有当确信需要使用该技能时,才会加载其“详情”(指令),并在执行过程中动态调用“资源”(脚本/文件)。
核心价值
- 节省 Token:极大减少上下文窗口占用
- 保持纯净:避免无关信息干扰模型理解
- 灵活扩展:新技能即插即用,无需重启
图1:Agent Skills 的三层渐进式披露架构
架构与工作流程
从发现到执行的完整闭环
文件构成
一个标准的 Skill 文件夹包含:
SKILL.md: 核心描述文件,包含 YAML 元数据和 Markdown 指令。scripts/: 存放 Python 或 Node.js 执行脚本。resources/: 存放静态数据、模板或图片。
生命周期
智能体不会一直“拿着”技能。它在用户提问时搜索技能,在需要时挂载技能,在任务完成后卸载技能,恢复清爽状态。
图2:智能体技能调用闭环流程
技能分类体系
三大核心类别,覆盖智能体能力的完整谱系
Foundational Skills
核心能力技能,提供基础交互与通用处理能力
- 文件读写与管理
- 代码执行与调试
- 内存与上下文管理
- 网络请求与 API 调用
Domain Skills
针对特定行业或专业领域的专家级技能
- 财务分析与报表生成
- 法律文书审查
- 医疗知识查询
- 工程设计与 CAD 集成
Integration Skills
连接外部系统和服务的桥接技能
- Slack/Teams 消息集成
- Jira/GitHub 任务管理
- Salesforce CRM 操作
- 数据库查询与同步
技能元数据字段说明
| 字段名 | 类型 | 必填 | 说明 |
|---|---|---|---|
name |
string | ✔ | 技能唯一标识名称,建议使用 kebab-case |
description |
string | ✔ | 简洁描述技能功能,用于匹配检索 |
version |
string | ✔ | 语义化版本号,如 1.2.0 |
category |
enum | ✗ | 分类标签:foundational | domain | integration |
tools |
array | ✗ | 技能提供的工具列表,包含工具名称、描述和参数 Schema |
dependencies |
array | ✗ | 依赖的其他技能名称列表 |
permissions |
array | ✗ | 所需权限:file_read | file_write | network | execute |
应用价值与场景
为什么你需要 Agent Skills 而不是更长的 Prompt?
图3:传统模式 vs Agent Skill 模式资源占用对比
典型应用场景
- 复杂数据分析:加载包含 Python Pandas 脚本的技能,处理 CSV 文件。
- 代码评审专家:加载特定语言(如 Rust)的评审规范和最佳实践文档。
- 企业流程自动化:加载包含 API 密钥和调用逻辑的内部工具技能。
核心优势
- 省钱:大幅减少 Input Token。
- 准确:专注特定领域,减少干扰信息。
- 安全:沙箱执行脚本,权限可控。
最佳实践
构建高质量 Agent Skill 的关键原则
✅ 推荐做法
- 单一职责:每个 Skill 只解决一类问题,避免“瑞士军刀”式设计
- 明确边界:在描述中清晰定义技能能做什么、不能做什么
- 示例驱动:在 SKILL.md 中提供 2-3 个典型用例
- 幂等操作:确保工具重复调用不产生副作用
- 错误优雅处理:提供清晰的错误提示而非程序崩溃
❌ 避免做法
- 过度耦合:不要在单个 Skill 中依赖太多外部服务
- 硬编码凭证:密钥、Token 应通过环境变量注入
- 巨型指令:避免单个 SKILL.md 超过 2000 字
- 忽略版本:每次修改必须更新 version 字段
- 模糊描述:“这个技能可以做很多事”是无效的
技能文件结构示例
📁 data-analyzer/ ├── SKILL.md # 核心描述文件 ├── scripts/ │ ├── analyze.py # 主执行脚本 │ ├── visualize.py # 可视化辅助脚本 │ └── requirements.txt # Python 依赖 ├── resources/ │ ├── templates/ # 报告模板 │ └── examples/ # 示例数据 └── tests/ └── test_analyze.py # 单元测试
快速开始指南
5分钟构建你的第一个 Skill
Step 1: 创建技能目录
# 在你的 skills 目录下创建新技能
mkdir -p skills/weather-reporter
cd skills/weather-reporter
Step 2: 编写 SKILL.md
创建核心描述文件,包含 YAML 元数据和 Markdown 指令,见下方完整示例
完整 SKILL.md 示例
--- name: Weather Reporter description: 查询指定城市的天气并给出穿衣建议 version: 1.0.0 category: integration permissions: - network tools: - name: get_weather description: 获取指定城市的天气数据 parameters: city: type: string description: 城市名称 required: true --- # Weather Reporter Instructions 你是一位贴心的天气助手。 ‣ 触发条件 - 用户询问某城市天气 - 用户询问穿衣建议 ‣ 执行步骤 1. 使用 `get_weather` 工具获取数据 2. 根据温度和天气状况,给出幽默的穿衣建议 3. 如果下雨,提醒用户带伞 ‣ 输出格式 - 城市名称 + 当前温度 - 天气状况描述 - 穿衣建议(带点幽默)
Step 3: 添加执行脚本(可选)
# scripts/get_weather.py import requests def get_weather(city: str): # 调用天气 API api_url = f"https://api.weather.com/{city}" response = requests.get(api_url) return response.json()
Step 4: 注册与测试
- 将技能目录放入智能体的
skills/路径 - 重启智能体或执行热重载命令
- 在对话中输入“北京今天天气怎么样”测试
- 检查技能是否被正确加载并执行
常见问题
关于 Agent Skills 的疑问解答
MCP 是一种通信协议,定义了 LLM 与外部工具之间的消息格式。Agent Skills 则是能力的封装标准,它可以通过 MCP 协议暴露其工具。两者是互补关系:Agent Skills 定义“做什么”,MCP 定义“怎么沟通”。
Agent Skills 支持多层安全机制:1) 权限声明:技能必须在元数据中声明所需权限;2) 沙箱执行:脚本在隔离环境中运行;3) 审计日志:所有操作可追溯;4) 用户确认:敏感操作需用户明确授权。
可以。通过元数据中的 dependencies 字段声明依赖关系。运行时,系统会自动加载依赖技能。但建议保持依赖关系简单,避免循环依赖和过深嵌套。
推荐使用分层调试策略:1) 单独测试脚本功能;2) 使用模拟 LLM 测试技能调用流程;3) 在开发模式下连接真实智能体进行端到端测试。大部分 IDE 插件支持技能热重载。
可以,但需要在 permissions 中声明 network 权限。运行时系统会检查权限并在必要时提示用户确认。建议使用网络白名单限制可访问的域名。
版本与演进
Agent Skills 标准的发展路线图
v1.0 — 基础版 (2025.06)
核心规范发布,包含 SKILL.md 格式定义、元数据 Schema、基础工具接口。支持 Python 和 Node.js 脚本执行。
v1.5 — 安全增强版 (2025.09)
引入权限模型、沙箱执行环境、审计日志。支持技能签名验证,确保来源可信。
v2.0 — 多模态版 (2026.01)
支持图像、音频、视频处理技能。引入技能市场 (Skill Marketplace) 概念,实现技能的发现、分享与订阅。
v2.5 — 协作版 (2026.06)
支持多智能体协作场景,技能可在智能体之间共享。引入技能编排 (Skill Orchestration) 能力。
欲了解更多或参与标准制定,请访问
GitHub 规范仓库