Agent Skills是什么?
Agent Skill是随调随用的专业知识. 它封装了提示词(技能)和其依赖的工具, 能够模块化的给Agent加上某个问题解决能力.
这里需要特别区分: LLM / Planning / Memory / Tools 是 Agent 本身就具备的基础能力; Agent Skill 的作用是按需增强这些能力, 而不是替代它们。
其中 Agent Skill 的作用是把某个领域的最佳实践打包成可复用模块, 在任务匹配时按需注入到 Agent 中:
- 对
LLM: 补充术语、规则和输出要求, 让回答更专业。 - 对
Planning: 给出可执行流程, 减少漏步骤和拍脑袋决策。 - 对
Memory: 提供本技能专属知识与参考文档, 提升上下文质量。 - 对
Tools: 明确可调用脚本和参数规范, 提高执行成功率。
核心价值
- 经验可复用: 把复杂流程(比如团队的 PR 审查流程)打包成一个文件夹, 谁都能直接用。
- 执行更稳定: 多步骤任务按同一套流程走, 结果更一致、不容易漏步骤。
- 资源放一起: 指令、脚本、模板、示例数据都放在同一个 Skill 里, Agent 拿来就能用。
- 按需加载更省上下文: 初始只加载技能
SKILL.md的名称和描述; 只有在模型真正激活技能后, 才加载详细说明和资源, 从而节省上下文 token。
目录结构
假如我们创建一个出门助手的SKILL, 叫做
Going-out assistant
创建下面的目录和文件
skills/going-out-assistant/
├── SKILL.md (Required) 指令和一些描述信息
├── scripts/ (Optional) 可执行脚本(python/javascript)
├── references/ (Optional) 进一步的指引文档
└── assets/ (Optional) 模板文件和其他杂项,如图片
其中SKILL.md文件是我们重点关注的, 他的核心三个要素如下:
- 名称 (Name): 技能的唯一标识(如 get_weather)。
- 描述 (Description): 告诉大模型这个技能是做什么的、什么时候该用它。这是最关键的部分,模型靠语义理解来决定是否调用。
- 参数说明 (Parameters): 规定调用该技能需要输入什么数据(如 city_name: string)。
示例
---
name: going-out-assistant
description: "用于规划出门行程。适用于查天气、找吃喝玩乐地点、安排路线与时间,并给出穿搭和随身物品建议。"
---
# 出门助手
这个技能用于生成一份完整的出门计划, 从天气判断到行李准备。
## 核心流程
按顺序执行以下步骤:
1. **天气分析**: 确认出行时段的天气情况。
2. **地点推荐**: 根据用户偏好推荐吃饭、喝咖啡或娱乐地点。
3. **行程安排**: 规划时间表与地点间路线。
4. **出行建议**: 给出穿搭建议与物品清单。
## 资源
### 参考资料
使用 [references/essential_items.md](references/essential_items.md) 补充不同天气和活动下的常见携带物品。
### 脚本工具
运行下面命令生成格式化清单:
```bash
node scripts/generate_checklist.cjs --weather=[sunny|rainy|cold|default] --activities=[hiking,eating,working]
```
## 规则
- **主动调整方案**: 下雨优先推荐室内活动。
- **别漏小物件**: 默认提醒钥匙、钱包、充电宝。
- **建议要个性化**: 穿搭建议要结合天气与活动强度。
他是如何工作的?
Agent Skill 的工作流程可以分为 6 个阶段:
- Discovery(发现)
在会话开始时, Agent 会扫描 discovery tiers, 并把所有已启用 skill 的名称与描述注入到系统提示词中。
- Activation(激活)
当 Agent 识别到当前任务与某个 skill 的描述匹配时, 它会调用 activate_skill 工具。
- Consent(确认授权)
你会在 UI 中看到一个确认提示, 其中会说明该 skill 的名称、用途, 以及它将获得访问权限的目录路径。
- Injection(注入)
在你批准后:
SKILL.md的正文内容和目录结构会被加入到会话历史中。- 该 skill 目录会被加入到 agent 的允许访问路径, 使其可以读取该目录下打包的资源文件。
- Execution(执行)
模型会在启用该专项能力后继续执行任务, 并在合理范围内优先遵循该 skill 中的过程性指导。