1. 智能体能力协议化的时代背景
2025年初,Anthropic在推出MCP(Model Context Protocol)后不久,进一步提出了Agent Skills的概念,这标志着智能体技术发展进入了一个新阶段。当时的技术背景是:虽然MCP解决了智能体与外部工具的连接问题,但开发者们逐渐发现,仅仅拥有"连接能力"远远不够。
想象一下这样的场景:你给一位刚入职的实习生开通了公司所有系统的访问权限,却没有提供任何操作手册或业务培训。这个实习生虽然"能够"访问各种系统,但并不知道"应该如何"使用这些系统来完成具体工作。这正是早期智能体面临的困境——MCP让智能体能够连接数据库、API和各种工具,但缺乏领域知识和操作指南。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. Agent Skills的核心设计理念
Agent Skills本质上是一种标准化的程序性知识封装格式。它的设计基于一个关键洞察:连接性(Connectivity)与能力(Capability)需要分离。这种分离带来了清晰的架构优势:
- MCP负责提供标准化的访问接口
- Skills负责提供领域专业知识和工作流程
这种设计类似于计算机系统中的硬件驱动和应用程序的关系。MCP就像打印机驱动,定义了设备如何连接;而Skills就像Word软件,告诉用户如何使用打印机完成具体的文档打印任务。
2.1 渐进式披露机制
Agent Skills最具创新性的特点是其渐进式披露(Progressive Disclosure)机制。这个机制将技能信息分为三个层次:
-
元数据层(Metadata):每个技能存放在独立文件夹中,核心是一个SKILL.md文件,以YAML格式的Frontmatter开头定义基本信息。实测数据显示,每个技能的元数据仅消耗约100个token。
-
技能主体层(Instructions):当智能体判断某个技能与当前任务相关时,会加载完整的SKILL.md文件内容,包括详细指令、注意事项和示例等,这部分通常消耗1,000到5,000个token。
-
附加资源层(Scripts & References):对于更复杂的技能,SKILL.md可以引用同一文件夹下的脚本、配置文件和参考文档等资源,智能体仅在需要时才加载这些内容。
这种分层加载机制相比传统MCP的急切加载方式,可以大幅降低初始token消耗。社区实践表明,在某些场景下,token消耗可以从16,000降低到仅500。
3. Agent Skills的技术实现
3.1 SKILL.md文件规范
一个标准的SKILL.md文件包含以下核心部分:
markdown复制---
# 必需字段
name: skill-name # 技能唯一标识符,使用kebab-case命名
description: > # 简洁精确的描述,说明技能功能、使用场景和核心价值
将中文业务问题转换为SQL查询并分析MySQL employees示例数据库。
适用于员工信息查询、薪资统计、部门分析等场景。
# 可选字段
version: 1.0.0
allowed_tools: [tool1, tool2] # 此技能可调用的工具白名单
required_context: [context_item1] # 需要的上下文信息
tags: [database, analysis, sql] # 分类标签
---
# 技能标题
## 概述
(对技能的详细介绍,包括使用场景、技术背景等)
## 工作流程
(详细的步骤说明,告诉智能体如何执行任务)
## 最佳实践
(经验总结、注意事项、常见陷阱等)
## 示例
(具体的使用案例)
3.2 编写高质量Skills的原则
根据行业实践,编写有效的Skills需要遵循以下原则:
-
精准的Description:这是智能体决策的关键,应该:
- 精确定义适用范围
- 包含触发关键词
- 说明独特价值
-
模块化与单一职责:一个Skill应该专注于一个明确的领域或任务类型,避免功能过于宽泛。
-
确定性优先原则:对于需要精确执行的任务,优先使用脚本而不是依赖LLM生成。
-
渐进式披露策略:合理利用三层结构,将信息按重要性和使用频率分层存放。
4. Agent Skills与MCP的协作关系
4.1 本质区别
虽然Agent Skills和MCP都是智能体技术栈的重要组成部分,但它们解决的问题有本质不同:
- MCP:解决"能够连接"的问题,提供标准化的访问接口
- Skills:解决"知道如何使用"的问题,提供领域专业知识
4.2 混合架构实践
在实际应用中,最佳实践是将两者结合,形成分层架构:
- Skills层:识别任务类型,加载相关技能
- MCP层:执行具体的工具调用
- Skills层:解读结果并生成综合回答
这种架构的优势包括:
- 关注点分离
- 成本优化
- 可维护性
- 复用性
5. 行业应用案例:MySQL员工分析Skill
让我们通过一个具体的社区案例,了解Agent Skills的实际应用。这个技能用于分析MySQL官方的employees示例数据库。
5.1 技能文件结构
code复制skills/mysql-employees-analysis/
├── SKILL.md # 主技能文件
└── db_schema.sql # 数据库结构参考
5.2 核心功能实现
该技能的主要工作流程包括:
- 理解需求:分析用户的中文描述,识别查询目标、筛选条件等
- 构建SQL:根据需求选择合适的查询模式
- 执行查询:调用execute_sql工具执行构建好的SQL
- 解读结果:将查询结果转化为自然语言回答
技能中提供了多种常见查询模式,例如:
sql复制-- 查询当前薪资最高的员工(TOP 10)
SELECT e.emp_no,
CONCAT(e.first_name, ' ', e.last_name) AS name,
s.salary
FROM employees e
JOIN salaries s ON e.emp_no = s.emp_no
WHERE s.to_date = '9999-01-01' -- 当前薪资
ORDER BY s.salary DESC
LIMIT 10;
5.3 复杂业务分析示例
对于"分析公司内部谁的话语权最高"这样的复杂问题,技能提供了综合解决方案:
sql复制WITH manager_hierarchy AS (
-- 统计每个经理管理的下属数
SELECT dm.emp_no, COUNT(de.emp_no) AS subordinate_count
FROM dept_manager dm
JOIN dept_emp de ON dm.dept_no = de.dept_no
WHERE dm.to_date = '9999-01-01'
AND de.to_date = '9999-01-01'
AND de.emp_no != dm.emp_no
GROUP BY dm.emp_no
),
current_salary AS (
-- 当前薪资
SELECT emp_no, salary
FROM salaries
WHERE to_date = '9999-01-01'
),
tenure AS (
-- 任职时长(年)
SELECT emp_no,
TIMESTAMPDIFF(YEAR, hire_date, CURDATE()) AS years_employed
FROM employees
)
SELECT e.emp_no,
CONCAT(e.first_name, ' ', e.last_name) AS name,
COALESCE(mh.subordinate_count, 0) AS team_size,
cs.salary,
t.years_employed,
-- 简单的话语权评分
(COALESCE(mh.subordinate_count, 0) * 10 +
cs.salary / 1000 +
t.years_employed * 5) AS influence_score
FROM employees e
JOIN current_salary cs ON e.emp_no = cs.emp_no
JOIN tenure t ON e.emp_no = t.emp_no
LEFT JOIN manager_hierarchy mh ON e.emp_no = mh.emp_no
WHERE cs.salary > 60000
ORDER BY influence_score DESC
LIMIT 20;
这个案例展示了Agent Skills如何将领域知识(如何衡量话语权)、技术实现(SQL编写)和业务理解(数据解读)完美结合。
6. 行业趋势与未来展望
6.1 标准化进程
虽然Agent Skills由Anthropic提出,但其设计理念正在影响整个行业:
- Anthropic Claude:原生支持Skills,提供官方SDK和技能库
- OpenAI:引入了类似概念,如Custom Instructions增强和GPTs的"知识库"功能
- Google Vertex AI:推出了"Grounding with Functions",设计与Skills+MCP混合架构高度相似
6.2 分层架构的必然性
随着智能体系统复杂度增加,分层架构已成为必然趋势:
code复制应用层(Application Layer)
↓ Agent Skills
↓ 领域知识、工作流、最佳实践
传输层(Transport Layer)
↓ MCP
↓ 标准化接口、工具调用、资源访问
基础设施层(Infrastructure Layer)
↓ 数据库、API、文件系统、外部服务
6.3 未来发展方向
- 协议融合:可能出现统一的智能体能力描述协议,融合MCP的连接性和Skills的知识表达
- 市场化与生态系统:类似NPM、PyPI的智能体能力包管理系统可能出现
- 自动化能力发现:智能体可能发展出自动发现和学习新能力的机制
在实际项目中,建议:
- 对于外部服务连接,优先使用MCP
- 对于复杂工作流,优先使用Skills
- 在上下文受限的场景,使用Skills进行渐进式管理
- 构建企业级智能体时,采用MCP + Skills的分层架构
