什么是Agent Skills
Agent Skills:大模型能力的渐进式封装与按需加载
1. 前置:什么是 MCP?
MCP(Model Context Protocol,模型上下文协议)本质上是一个大模型调用工具的协议标准,相当于一套通用的口令去调用大模型。
简单来说,MCP 是一个对于被调用工具和 LLM 来说都简化了的调用口令。LLM 之前调用工具需要生成一串很长的 Token 作为 API 调用接口,再由专门的代码去解析这个 API 找到参数。这里就会遇到一个痛点:不同工具的 API 规范不一样,生成极易出错,而且每次都需要给很长的 Prompt。
例如,传统查询天气的 Prompt 可能长这样:
1 | |
有了 MCP,工具侧暴露通用的、简洁的 API,调用格式高度一致,大大减少了 LLM 侧的调用成本:
1 | |
所有的解析、轮询、调用都在 MCP 服务器上完成。目前 Cursor、Claude Desktop 等生态已广泛应用。
但随着工具量的增加,MCP 也会遇到瓶颈:
- 能力不足:面对复杂任务,智能体需要具备领域知识(比如会调数据库接口但不一定会写 SQL)。
- 上下文爆炸:任务复杂化后,Prompt 依然会累积大量内容,严重影响模型性能。
Agent Skills 应运而生。
2. Agent Skills 是什么?
Agent Skills 是标准化的程序性知识封装格式。它将知识和工具解离开:MCP 负责调用工具,Skills 负责封装知识。 通过渐进式披露,实现知识的按需逐步加载。
🛡️ 第一层:元数据层 (Metadata)
每一个技能文件夹内都有一个 skill.md 文件。顶部的 frontmatter 部分定义了技能的简单描述:
1 | |
在 MCP 框架下,初始化时通常要发送完整的参数定义(JSON Schema)。
- MCP 做法:加载一段约 150 Tokens 的详细 JSON。如果有 10 个工具,连接瞬间就丢掉 2000 个 Token。
- Skills 做法:仅发送元数据描述,约占 20-30 Tokens。

🛡️ 第二层:技能主体
当智能体解析用户指令,发现匹配某个技能时,才会读取完整的 skill.md 文件,获得该技能完整的 MCP 调用接口。通过这种方式,Token 消耗量被大大压缩。
🛡️ 第三层:附加资源 (文件夹即技能)
这是这套架构最强悍的地方:一个技能就是一个全功能的上下文包。
以毕业论文格式审查与润色技能为例,文件夹结构如下:
1 | |
当用户提出需求时,系统会按需加载资源:加载 thesis_rules.json 获取法律依据,加载 terminology.csv 对齐专业术语,甚至运行 check_format.py 进行硬核检测。
3. Agent Skills 的核心优势
① 极高的语义精准度 (Few-shot Support)
MCP 依赖 JSON 描述,适合定义类型,但不擅长描述“风格”。在 JSON 里强插示例会造成 Token 冗余。
Skills 的优势:通过引用 samples.md,在干活时甩给 LLM 几个顶级范例(Few-shot Prompting)。LLM 不再盲目猜测,而是有了手感,输出质量从 70 分直奔 95 分。
② 跨语言的工具集成 (Hybrid Execution)
文件夹可以携带 Python 或脚本。对于规则极强的任务(如公式闭合检查),脚本比 LLM 更快更准。技能可以先跑脚本,再让 LLM 总结。

③ 私有化与版本隔离
每个文件夹独立。你可以为不同的技能各做一个包,引用不同词库,互不干扰,像插拔式硬盘一样方便。
④ 动态上下文管理 (Smart Context Loading)
系统根据需求只加载文件夹里的某一个文件。相比 MCP 的全量不可拆分,Skills 能进一步节省每一轮对话的成本。
目前有很多平台 Claude Code\Cursor已经支持集成 Agent Skills,你也可以按照两阶段加载的方式,先加载元数据,再根据用户指令按需加载技能主体。加载自己的技能。
总结
Agent Skills 通过渐进式披露 + 技能相关文件打包的方式,实现了 Agent 的按需加载,解决了 MCP 在复杂场景下的知识匮乏与上下文冗余问题。