Agent Skills:大模型能力的渐进式封装与按需加载

49 阅读4分钟

Agent Skills:大模型能力的渐进式封装与按需加载

1. 前置:什么是 MCP?

MCP(Model Context Protocol,模型上下文协议)本质上是一个大模型调用工具的协议标准,相当于一套通用的口令去调用大模型。

简单来说,MCP 是一个对于被调用工具和 LLM 来说都简化了的调用口令。LLM 之前调用工具需要生成一串很长的 Token 作为 API 调用接口,再由专门的代码去解析这个 API 找到参数。这里就会遇到一个痛点:不同工具的 API 规范不一样,生成极易出错,而且每次都需要给很长的 Prompt。

例如,传统查询天气的 Prompt 可能长这样:

{
  "action": "weather_service_api_v4_search",
  "method": "GET",
  "endpoint": "[https://api.weather.com/v1/current](https://api.weather.com/v1/current)",
  "auth_type": "bearer_token",
  "parameters": {
    "location_query": "Shanghai, CN",
    "unit_system": "metric",
    "data_fields": ["temp", "humidity", "wind_speed"]
  }
}

有了 MCP,工具侧暴露通用的、简洁的 API,调用格式高度一致,大大减少了 LLM 侧的调用成本:

{
  "name": "get_weather",
  "arguments": { "location": "Shanghai" }
}

所有的解析、轮询、调用都在 MCP 服务器上完成。目前 Cursor、Claude Desktop 等生态已广泛应用。

但随着工具量的增加,MCP 也会遇到瓶颈:

  • 能力不足:面对复杂任务,智能体需要具备领域知识(比如会调数据库接口但不一定会写 SQL)。
  • 上下文爆炸:任务复杂化后,Prompt 依然会累积大量内容,严重影响模型性能。

Agent Skills 应运而生。


2. Agent Skills 是什么?

Agent Skills 是标准化的程序性知识封装格式。它将知识和工具解离开:MCP 负责调用工具,Skills 负责封装知识。 通过渐进式披露,实现知识的按需逐步加载。

🛡️ 第一层:元数据层 (Metadata)

每一个技能文件夹内都有一个 skill.md 文件。顶部的 frontmatter 部分定义了技能的简单描述:

---
name: paper_searcher
description: 专门用于搜索 arXiv  Google Scholar 上的最新学术论文,支持按关键词和年份筛选。
version: 1.0.0
category: academic
author: your_name
---

在 MCP 框架下,初始化时通常要发送完整的参数定义(JSON Schema)。

  • MCP 做法:加载一段约 150 Tokens 的详细 JSON。如果有 10 个工具,连接瞬间就丢掉 2000 个 Token。
  • Skills 做法:仅发送元数据描述,约占 20-30 Tokens。

contrast.jpg

🛡️ 第二层:技能主体

当智能体解析用户指令,发现匹配某个技能时,才会读取完整的 skill.md 文件,获得该技能完整的 MCP 调用接口。通过这种方式,Token 消耗量被大大压缩。

🛡️ 第三层:附加资源 (文件夹即技能)

这是这套架构最强悍的地方:一个技能就是一个全功能的上下文包。

毕业论文格式审查与润色技能为例,文件夹结构如下:

/skills/paper_polisher/
├── SKILL.md             # 核心元数据与激活逻辑
├── thesis_rules.json    # 复杂的学校排版规范
├── sample_bad_vs_good.md # 润色对照示例 (Few-shot)
├── check_format.py      # LaTeX 语法检测脚本
└── terminology.csv      # 领域专业词汇对照表

当用户提出需求时,系统会按需加载资源:加载 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 总结。

skills_help_ai.jpg

③ 私有化与版本隔离

每个文件夹独立。你可以为不同的技能各做一个包,引用不同词库,互不干扰,像插拔式硬盘一样方便。

④ 动态上下文管理 (Smart Context Loading)

系统根据需求只加载文件夹里的某一个文件。相比 MCP 的全量不可拆分,Skills 能进一步节省每一轮对话的成本。


总结

Agent Skills 通过渐进式披露 + 技能相关文件打包的方式,实现了 Agent 的按需加载,解决了 MCP 在复杂场景下的知识匮乏与上下文冗余问题。