一. 前言
最近,Skills 这一术语在圈内火了近两个月,算下来,这波热度已经持续了相当长的时间。不过,观察下来发现,大家对 MCP 和 Skills 的理解,可以说是各执一词、视角各异。AI 领域如今是按天迭代的,知识的沉淀必须跟上节奏。因此,趁着这波讨论的热度,赶紧写一篇文章,把对这两者的理解梳理清楚,也算是在这个日新月异的领域里,留下一点自己的思考与沉淀。
二. MCP:连接世界的“管道”协议
先聊 MCP,它解决的是最基础但也最让人头疼的“方言”问题。你可以把 MCP 想象成一套通用的语言翻译器,或者更形象地说,一个可插拔的“管道”协议。
核心职能:标准化连接。 在 MCP 出现之前,Agent 的世界里各说各话,沟通成本极高。要连接数据库?需要一套专门的接口代码。想调用 Slack?又得另写一套。要读取本地文件?还得再写一套。这种体验非常糟糕。MCP 的厉害之处在于,它统一定义了 Agent(即客户端)与外部能力(服务端)之间的交互规范:如何握手、如何列出可用工具、如何发送请求、如何接收响应。简单说,它把“沟通”这件事彻底标准化了。
它提供了什么? MCP 提供的是通用、原子化的能力。一个 MCP Server 暴露出来的内容包含:具体的 Resources(资源,如文件内容)、Prompts(预设的提示模板),以及最重要的 Tools(可执行的函数,例如“执行一条 SQL 查询”)。
它的局限性: 但关键在于,MCP 本身是“哑”的。它就像一个勤快的快递员,只负责把工具准确送达 Agent 手中,却不会告诉 Agent:在什么场景下选用哪个工具、以什么顺序组合哪几个工具,才能解决一个复杂的实际问题。它只管“运”,不管“用”。
三. Agent Skills:能力的“说明书”与“指挥棒”
如果说 MCP 是底层的基础设施,那么 Agent Skills 就是在这些原子工具之上,构建出的更高层次的抽象。
核心职能:封装与编排。 Skill 的诞生,是为了完成某个特定的任务。它像一份打包好的“能力说明书”,里面包含了完成该任务所需的知识、逻辑和工具调用策略。举个例子,一个 Skill 可能内嵌了关于税务法规的业务知识,然后指导 Agent 去调用底层的 MCP 工具(比如“搜索工具”和“计算器工具”),最终得出一个准确的结论。
它提供了什么?
- 发现机制: Skill 规范首先定义了名称、描述,以及最关键的触发条件。这让 Agent 在面对用户问题时,能快速检索到“我这有哪份说明书能用?”
- 按需加载: 这是企业级 Agent 落地的关键。一个强大的 Agent 可能拥有成百上千种能力,如果每次对话都把它们的完整 Prompt 和逻辑一股脑塞进上下文窗口,Context Window 直接就会爆炸。Skill 规范允许 Agent 只加载一个“目录”,等确定要用某个 Skill 后,再动态加载它详细的执行逻辑。这就像找一本书,先看目录,找到需要的章节,再打开细读,而不是把整本书全背下来。
- 知识融合: Skill 不仅仅是动作的集合,它本身就能携带知识。比如一个“撰写法律合同”的 Skill,它内部就包含了合同模板的相关知识,并会指导 Agent 去调用 MCP 工具来填充具体内容。
它的局限性: Skills 当然也有短板。它再厉害,最终也得落地干活,而干活就必须调用底层的执行机制。因此,它最终还是离不开对 MCP 工具、API 或本地脚本的依赖。
四. 二者的协同工作流
理论讲得再多,不如看个例子来得直观。咱们设想一个场景,用户问 Agent:“帮我查查上个月阿里云的账单是不是超支了?”
- Agent 思考: Agent 先在自己注册的 Skills 目录里进行语义匹配,很快,它找到了一个叫
AliCloud_Cost_Analyzer的 Skill。它按需加载了这个 Skill 的详细规范,规范里写到:“这个任务分两步,第一步去获取账单,第二步拿着预算标准去对比分析。” - Agent 执行: 在 Skill 的指导下,Agent 知道第一步需要数据。它转头发现,已经有一个叫
AliCloud_Integration_Server的 MCP Server 连上了。于是,Agent 通过 MCP 协议向那个 Server 发送请求,调用里面的get_cost_and_usage工具。Server 很快返回了 JSON 格式的账单数据。 - Agent 回归逻辑: 数据到手后,Skill 的后续逻辑继续发挥作用,可能是:“现在调用内置的代码解释器,计算这个月的花费是否超过了预设的 500 美元阈值,并生成一份总结报告。” Agent 按部就班,最终把结果回复给用户。
五. 总结
最后,用一张表格把最核心的观点串起来,这样对比着看会更加清晰。
| 特性 | MCP (协议层) | Agent Skills (规范/应用层) |
|---|---|---|
| 关注点 | 连接性:定义稳定通信与高效数据传输的标准。 | 能力与编排:明确做什么任务、如何组合工具。 |
| 抽象级别 | 低级、技术性、原子化工具。 | 高级、语义化、任务导向。 |
| 主要载体 | Server, Client, Protocol, Transport。 | Metadata, Triggers, Logic, Knowledge。 |
| 加载方式 | 连接时全量暴露工具定义。 | 目录式检索,详细逻辑按需加载。 |
