概述
在大模型时代,Agent 已经从「会聊天的机器人」进化为「能完成复杂任务的数字员工」。要让 Agent 真正落地到业务场景,绕不开两个关键能力:接入外部世界,以及复用成熟的方法论与流程。
Anthropic 提出的 Model Context Protocol(MCP)和 Agent Skills(Skill)正是在这两点上分别发力:MCP 负责把模型接到各种工具和数据源上,而 Skill 负责把这些能力组织成可复用的任务工作流。
接下来我会从概念、架构、Spring AI 实战到工程实践,系统拆解 Skill 与 MCP 如何协同,帮助你构建真正可用的 AI Agent。
一、从「工具调用」到「任务完成」
1.1 传统工具调用的三个痛点
早期的 LLM 工具调用(如简单插件、函数调用)在工程实践中暴露出几个典型问题:
- 上下文膨胀
- 每个工具都要在 prompt 里声明能力、参数、使用方式,工具一多,prompt 就像「API 文档大全」。
- 结果是模型用于思考的 token 被大量工具描述挤占,成本高、效果不稳定。
- 逻辑散落
- 业务逻辑往往写在 prompt、代码和工具实现之间,难以复用和测试。
- 同一类任务(如「生成周报」)在多个项目里重复造轮子,协作困难。
- 缺乏标准协议
- 不同厂商的工具接入方式五花八门,很难跨模型、跨平台迁移。
- 一旦更换大模型或 Agent 框架,现有集成几乎要推倒重来。
在这个背景下,MCP 和 Skill 分别瞄准了不同层级的痛点:MCP 标准化「怎么连工具」,Skill 规范化「怎么完成任务」。
二、MCP:统一「接外部世界」的模型上下文协议
2.1 MCP 是什么
Model Context Protocol(MCP)是一个开放协议,用于在模型和外部系统之间建立统一、可互操作的连接方式。可以把 MCP 想象成模型世界的通用「外设接口标准」,而不是某个具体的插件市场。
核心特征包括:
- 基于 JSON‑RPC 的请求/响应模型
- 标准化的工具、资源、会话等抽象
- 明确的安全边界和权限控制
- 独立于具体模型厂商,可复用到不同 LLM / Agent 系统中
在工程实践中,MCP 常用于把以下系统暴露给模型使用:
- 数据库(PostgreSQL、MySQL、Snowflake 等)
- 代码仓库与 CI/CD 系统
- 各类 SaaS 服务(工单、CRM、监控告警)
- 文件系统(本地或云存储)
2.2 典型 MCP 架构:谁和谁在「说话」
一个典型 MCP 架构中,会有三类角色:
- 模型 / Agent
- 通过 MCP 客户端向 MCP 服务器发起 JSON‑RPC 请求(调用工具、读取资源)。
- MCP Server(服务端)
- 对接真实世界系统(数据库、API、文件),并按 MCP 规范对外暴露操作。
- 提供工具列表、schema、权限策略等元信息。
- 开发者 / 运维
- 负责配置 MCP 服务器、权限、密钥与部署方式。
这样一来,模型不必关心「如何连数据库」,而只需要理解「有一个工具可以执行安全 SQL 查询」,从而实现能力解耦与可迁移。
三、Skill:把「会用工具」变成「会做事情」
3.1 Skill 的基本概念
Agent Skills(Skill)是一种面向任务的「AI 技能包」,每个 Skill 是一套围绕某类任务的可复用知识与流程。可以把 Skill 理解为:针对一个具体任务,打包好 prompt、步骤设计、工具调用策略与资源的组合。
一个典型 Skill 的结构大致包括:
- 说明文件(如
SKILL.md)- 描述 Skill 的目的、输入输出、适用场景与使用示例。
- 任务指导与提示模版


