知识库
知识wiki
Agent Skill:定义、结构与开发规范
概述
Agent Skill是AI Agent的可复用能力模块。每个Skill赋予Agent一项特定能力,包含行为定义、工具接口和领域知识。Skill的设计理念类似手机应用——Agent平台作为操作系统,每个Skill安装后即扩展Agent的能力边界。
核心术语
| SKILL.md | Skill的主文件,定义触发条件、行为规则和工具使用说明 |
| 触发条件 | 决定Skill何时被激活的关键词或规则 |
| 工具接口 | Skill需要调用的外部API或MCP Tool定义 |
| MCP Server | 通过MCP协议暴露的标准化工具服务 |
| Plugin | 平台绑定的功能扩展包,通常包含代码逻辑 |
Skill 与 MCP Server 的对比
| 维度 | Skill | MCP Server |
|---|---|---|
| 抽象层次 | 高(行为+知识+规则) | 中(工具接口) |
| 包含内容 | SKILL.md + 工具实现 | 工具定义 + 执行逻辑 |
| 跨框架复用 | 同框架内可复用 | 跨框架/跨模型 |
| Agent绑定 | 通过触发条件绑定 | 通过MCP协议绑定 |
| 进程模型 | Agent进程内 | 独立进程(自然沙箱) |
Skill类型
| 类型 | 描述 | 示例 |
|---|---|---|
| Prompt型 | 纯指令+规则,无需额外工具 | "说话风格"、"翻译" |
| 工具型 | 需要调用外部API或服务 | "天气查询"、"网盘管理" |
| 知识型 | 提供特定领域的知识库 | "法律条文"、"API文档" |
| 复合型 | 指令+工具+知识组合 | "内容运营"(写作+SEO+发布) |
Skill结构
一个标准的Skill通常由以下文件组成:
sites/
└── my-skill/
├── SKILL.md # Skill主文件:触发条件 + 行为规则 + 使用说明
├── tools.py # 工具实现(可选,根据语言不同)
└── tests/ # 测试用例(可选)
SKILL.md 文件结构
# 技能名称:天气预报 # 触发条件:用户询问天气、气温、降雨 # 工具依赖:location-api, weather-mcp-server ## 行为规则 - 当用户提到城市时,自动查询该城市天气 - 返回温度、湿度、风力、天气状况 - 极端天气添加⚠️提醒 ## 使用说明 调用 get_weather(city_name) 获取实时天气数据。 城市名支持中文和英文。 ## 安全规则 - 不确定城市名时,先请求用户确认 - 不提供未来7天以上的预报
设计原则
- 单一职责 — 每个Skill只做一件事,但做到极致
- 自包含 — Skill所需的所有信息(工具、知识、规则)在内部定义
- 显式触发条件 — 清晰定义何时激活、何时不激活,避免多Skill冲突
- 安全边界 — 每个Skill应有独立的安全规则,高危险操作要求用户确认
Skill注册与加载
Skill通常通过Agent平台的配置文件注册:
skills:
- name: "weather"
path: "./skills/weather"
enabled: true
auto: true # 触发条件匹配时自动加载
加载流程:Agent启动时扫描Skill目录 → 解析SKILL.md → 注册触发条件和工具 → 运行时根据用户输入匹配触发条件 → 激活对应Skill。


黑公网安备 23010302001359号