第38章:Skills技能体系
学习目标
- 理解Skills的核心定位:MCP之上的能力封装
- 掌握Skill的组成部分:Tools、Prompts、知识库
- 了解Skill的发现、加载、执行机制
- 学会从测试视角评估Skill质量
前置要求
- 已完成第36-37章MCP的学习
- 理解AI Agent的基本概念
- 了解Prompt Engineering基础
一句话定义
Skill(技能)
Skill是封装好的AI能力包,包含Tools(工具)、Prompts(提示词模板)、知识库(Knowledge),让AI可以像"调用函数"一样执行复杂任务。
生活类比:技能证书
为什么叫Skill?
就像人考取技能证书:会计证代表你有记账能力、驾照代表你能开车。Skill就是AI的"技能证书"——封装了执行某类任务所需的全部能力。
例如:"测试报告生成"Skill包含读取测试数据的工具、生成报告的Prompt模板、报告规范的知识库。
Skill与MCP的关系
Skill层级关系
┌──────────────────────────────────────────────────────────────────┐
│ Skill 与 MCP 的关系 │
│ │
│ ┌───────────────────────┐ │
│ │ Skill(技能包) │ ← 最高层:完整的任务能力封装 │
│ │ │ │
│ │ 包含: │ │
│ │ - Tools(工具) │ │
│ │ - Prompts(提示词) │ │
│ │ - Knowledge(知识库) │ │
│ │ - Workflows(工作流) │ │
│ └──────────┬────────────┘ │
│ │ │
│ ┌──────────▼────────────┐ │
│ │ MCP Server(工具服务) │ ← 中间层:工具实现 │
│ │ │ │
│ │ 提供: │ │
│ │ - 工具定义和执行 │ │
│ │ - 数据访问 │ │
│ │ - 基础Prompt模板 │ │
│ └──────────┬────────────┘ │
│ │ │
│ ┌──────────▼────────────┐ │
│ │ MCP Protocol │ ← 基础层:通信协议 │
│ │ (JSON-RPC通信) │ │
│ └───────────────────────┘ │
│ │
│ 关系: │
│ Skill调用MCP Server的工具 → MCP通过协议传输 → AI得到结果 │
│ │
└──────────────────────────────────────────────────────────────────┘
Skill的核心组成
| 组成部分 | 说明 | 作用 | 示例 |
|---|---|---|---|
| Tools | 具体执行功能的工具集 | 让Skill能"做事" | 查询测试结果、生成报告、发送通知 |
| Prompts | 预设的提示词模板 | 让Skill"知道怎么做" | 报告生成模板、缺陷分析模板 |
| Knowledge | 领域知识库文档 | 让Skill"懂领域知识" | 测试规范文档、常见问题FAQ |
| Workflows | 预设的执行流程 | 让Skill"有序执行" | 测试执行流程、报告审批流程 |
Skill的典型结构
Markdown - Skill目录结构
test-report-generator/
├── SKILL.md # Skill定义文件(元信息)
├── tools/
│ ├── query_results.py # 查询测试结果工具
│ ├── generate_html.py # 生成HTML报告工具
│ └── send_email.py # 发送邮件通知工具
├── prompts/
│ ├── report_summary.md # 报告摘要生成Prompt
│ ├── bug_analysis.md # 缺陷分析Prompt
│ └── executive_summary.md # 管理层摘要Prompt
├── knowledge/
│ ├── test_standards.md # 测试规范文档
│ ├── report_templates.md # 报告模板说明
│ └── common_issues.md # 常见问题FAQ
└── workflows/
└── daily_report.yaml # 每日报告生成流程
SKILL.md定义示例
Markdown - SKILL.md示例
---
name: test-report-generator
version: 1.0.0
description: 自动生成测试报告的技能包
author: 测试团队
tools:
- query_results
- generate_html
- send_email
prompts:
- report_summary
- bug_analysis
- executive_summary
knowledge:
- test_standards
- report_templates
---
# 测试报告生成器 Skill
## 功能说明
自动从测试平台拉取执行结果,生成HTML格式的测试报告,并发送给相关人员。
## 适用场景
- 每日测试汇总报告
- 版本发布测试报告
- 缺陷分析报告
## 使用示例
用户输入:"生成今天的测试报告"
Skill会:
1. 查询今日测试结果
2. 分析缺陷分布
3. 生成HTML报告
4. 发送给团队
## 输入参数
- date: 报告日期(可选,默认今天)
- project: 项目名称(可选)
- format: 报告格式(html/pdf,默认html)
Skill的发现与加载机制
AI如何找到并使用Skill?
- 发现:AI扫描Skills目录,解析每个SKILL.md的元信息
- 匹配:用户提问时,AI根据description匹配最合适的Skill
- 加载:加载Skill的Tools、Prompts、Knowledge到上下文
- 执行:AI按Skill定义的流程调用工具完成任务
企业测试Skills示例
| Skill名称 | 功能 | 包含能力 |
|---|---|---|
| test-case-generator | 自动生成测试用例 | 需求解析工具、用例模板Prompt、测试规范Knowledge |
| defect-analyzer | 缺陷根因分析 | 日志分析工具、根因分析Prompt、常见缺陷Knowledge |
| test-planner | 制定测试计划 | 风险评估工具、计划模板Prompt、测试策略Knowledge |
| regression-checker | 回归测试执行 | 版本比对工具、执行流程Workflow、回归范围Knowledge |
| performance-monitor | 性能监控分析 | 指标采集工具、分析Prompt、性能阈值Knowledge |
测试视角:Skill质量评估要点
| 评估维度 | 检查项 | 验证方法 |
|---|---|---|
| 定义完整性 | SKILL.md元信息完整、描述清晰 | 检查必需字段(name、description、tools) |
| 工具可用性 | 所有Tools可正常调用 | 逐个调用工具,验证返回格式 |
| Prompt有效性 | 模板能生成符合预期的输出 | 使用模板生成内容,人工评审质量 |
| 知识库准确性 | 知识内容正确、更新及时 | 抽查关键知识点,验证准确性 |
| 匹配准确性 | AI能正确识别何时使用该Skill | 测试多种提问方式,验证Skill选择 |
| 执行成功率 | Skill完整执行且结果正确 | 端到端测试Skill执行流程 |
本章小结
- Skill是封装好的AI能力包,包含Tools、Prompts、Knowledge、Workflows四个核心部分
- Skill位于MCP之上,是更高层的能力封装——MCP提供工具,Skill组合工具完成任务
- Skill的典型结构:SKILL.md定义文件 + tools目录 + prompts目录 + knowledge目录
- AI通过发现、匹配、加载、执行四个步骤使用Skill
- 测试团队可构建测试报告生成、用例生成、缺陷分析等专属Skills
- Skill质量需评估定义完整性、工具可用性、Prompt有效性、知识准确性、匹配准确性、执行成功率
扩展阅读
- 第39章:Skills开发实战 - 从零构建测试Skill
- 第40章:Agent智能体架构 - 多Skill协作的Agent设计