在这里插入图片描述

Pre

在当前的 AI Agent 技术栈中,Skills 与 MCP(Model Context Protocol)正在迅速成为两条同样关键、却分工不同的“能力螺旋”。一条向内塑造 Agent 的方法论和行为模式,一条向外打通数据、工具与系统边界。 对于想要在工程实践中落地高可用、高可控 Agent 的团队来说,理解并用好这两者,将直接决定你的智能体是“玩具 Demo”,还是能接上真实业务的大规模生产系统。


一、从“提示工程”到“能力工程”

传统的 Prompt Engineering 更像是“写一段好提示”,靠人脑临时发挥,难以系统复用。 Skills 与 MCP 则代表了一种新的范式:将知识与能力工程化,变成可版本化、可组合、可治理的基础设施。

1.1 一句话区分 Skills 与 MCP

  • Skills:教 Agent “怎么思考”
    把流程、规范、最佳实践、输出格式等,以结构化的方式固化下来,让 Agent 在遇到某类任务时,自动采取“专业人士会怎么做”的那套方法。
  • MCP:让 Agent 知道“能访问什么”
    它定义了 Agent 如何安全、标准化地访问数据库、API、文件系统、协作工具等外部世界,相当于给 Agent 配备统一的“能力总线”。

如果打个比方:Skills 更像“系统内建的专业模块”,MCP 更像“插在主板上的扩展接口”。

1.2 能力栈中的位置

可以把一个实用 Agent 的能力栈简单分层为:

  • 基础模型能力:推理、生成、理解指令
  • Skills 层:流程、方法论、规范、输出模板
  • MCP 层:Google Drive、GitHub、Postgres、Slack 等外部系统接口
  • 执行引擎:代码执行、工具调用、工作流编排等

从这个视角看,Skills 更多塑造“内在心智结构”,MCP 则负责“外部神经连接”。


二、Skills:把“经验与方法”变成可执行资产

很多团队已经积累了大量可复用的 Prompt 片段:代码审查 checklist、产品文案风格指南、数据分析 SOP、报警处理流程等。 Skills 解决的问题,就是把这些零散的 Prompt 升级为一种标准化的“知识胶囊”

2.1 三层渐进披露:既多技能,又不炸上下文

Anthropic 的 Skill 设计,有一个非常优雅的三层结构:

  • 元数据层
    • 加载时机:Agent 启动时
    • 内容:name、description 等
    • 类比:目录、封面,帮助 Agent 识别“有这么一个技能”
  • 指令层
    • 加载时机:与当前任务语义匹配时
    • 内容:完整 Markdown 指令、流程、示例
    • 类比:具体章节内容
  • 资源层
    • 加载时机:需要额外文档/脚本时
    • 内容:大体量参考文档、脚本、附录
    • 类比:附录与工具书

这种设计的关键收益是:即便挂载了上百个 Skill,Agent 也不会一上来就把所有内容塞进上下文,而是按需分级加载,兼顾“能力丰富”与“Token 友好”。

2.2 一个最小可行 Skill 长啥样?

典型的 Skill 是一个文件夹 + SKILL.md 的结构,SKILL.md 里用 YAML frontmatter + Markdown 正文来描述它是谁、干什么、怎么干。 以“Python 代码审查标准”为例,最小结构大致如下(示意简化):

code-review-standard/
└── SKILL.md

SKILL.md 中通常包含:

  • 元信息:name、description、allowed-tools、推荐模型等
  • 操作手册:审查步骤、关注点、输出格式
  • 示例:典型输入输出样例,帮助模型对齐风格

在更复杂的 Skill 中,还会拆出:

advanced-analyzer/
├── SKILL.md          # 总入口:概述 & 索引
├── METHODOLOGY.md    # 详细方法论
├── REFERENCES/       # 各种参考文档
└── scripts/          # 可执行脚本

通过这种结构,一个 Skill 不再只是“一段长 Prompt”,而是一个可维护的“小型知识包”

2.3 为什么说“写 Skill”门槛很低?

对一线开发者来说,Skill 的最大优势在于:主要工作就是写 Markdown

  • 用你熟悉的方式整理知识:Checklist、流程图、SOP
  • 用 Git 管理版本:代码评审流程升级、品牌规范更新都能走正常 PR 流程
  • 通过 allowed-tools 做白名单,确保安全边界不会被随意突破

这让 Skills 成为一个非常适合团队内部推广的“轻量级工程实践”:比搭一个平台简单得多,却能把“好的 Prompt 习惯”沉淀为真正的资产。


三、MCP:给 Agent 一条标准化“能力总线”

如果说 Skills 是在“教 Agent 做事的方法”,MCP 做的是“把 Agent 接上真实世界的设备和系统”。 它的目标是:用一个统一协议,打通各种工具和数据源,让不同 Agent/不同宿主都能以一致方式调用这些能力。

3.1 Client–Server 架构与 JSON-RPC

MCP 采用了经典的 C/S 架构,协议层基于 JSON-RPC 2.0。

  • MCP Client
    • 内置在宿主(如 Claude Desktop、某些 IDE 插件)中
    • 负责启动与管理 MCP Server 进程
    • 负责发起工具列表、工具调用、资源读取等请求
  • MCP Server
    • 作为独立进程运行
    • 实现 tools/listtools/callresources/read 等接口
    • 内部对接 REST API、GraphQL、SDK、数据库驱动等
  • 传输层
    • 本地场景常用 stdio(既简单又安全)
    • 远程部署时可用 WebSocket

对 Agent 来说,它只需要知道“有哪些工具、怎么调用、入参 Schema、返回 Schema”,至于背后是 GitHub 还是内部 CRM,并不重要。

3.2 调用生命周期与设计要点

以“查询 GitHub 未读通知”为例,一个典型流程大致是:

  1. Client 向 Server 请求 tools/list,拿到 get_notifications 之类的工具描述
  2. Agent 根据自然语言任务选定工具与参数
  3. Client 使用 tools/call 调用该工具
  4. Server 与 GitHub 通信,拿到结果后返回给 Client
  5. 结果以结构化 JSON 返回,再注入到 Agent 的上下文中继续推理

MCP 在设计时强调了几个点:

  • 无状态调用:每次 tool call 独立,避免复杂状态同步
  • 结构化 I/O:参数与结果用 JSON Schema 约束,方便验证与调试
  • 能力发现:工具列表与用法可动态查询,使得 Agent 能“自发现”可用能力

3.3 常见 Server 类型与使用场景

当前社区与官方已经提供了大量 MCP Server 示例,例如:

  • filesystem:本地文件读写,典型用于本地代码库分析
  • postgres:通过 SQL 查询结构化业务数据
  • github:查看 PR、创建 Issue、项目巡检
  • slack:读取消息、发送通知、自动化运维告警
  • puppeteer:网页抓取、截图、自动化测试

换句话说,MCP 正在把“写一堆 ad-hoc 工具函数”的时代,替换为“接一个统一协议,享受共享生态”的时代。


四、Skills vs MCP:多维度差异与互补

把两者放在同一张表里,对比会更直观。

4.1 关键差异一览

维度 Skills MCP
设计哲学 知识封装:教 Agent 如何思考 能力连接:让 Agent 能访问哪些信息和系统
时间属性 持久化、版本化存储,像长期记忆 调用时临时注入结果,像瞬时感官输入
挂载位置 Agent 内部方法论层 Agent 外部工具与数据源层
交互方式 声明式 + 自动触发 命令式 + 按需调用
Token 策略 三层渐进加载,尽量减少无关内容 调用时注入,结果用完即释放
开发成本 Markdown + 少量脚本,门槛极低 需实现 Server,成本中等但可复用性强
典型场景 代码规范、SOP、写作/分析框架、品牌手册 DB 查询、GitHub/Slack 操作、文件访问、自动化任务
失败模式 推理不准、风格不统一,可靠自我纠正缓解 上游服务出错、网络波动、权限问题
管理方式 Git 仓库管理、Review、版本发布 配置文件声明、运维监控、权限治理

从时间与空间两个维度看,可以简化记忆为:

  • 时间维度:Skills = 持久知识,MCP = 瞬时数据
  • 空间维度:Skills = 内部心智增强,MCP = 外部感知扩展

4.2 为什么“只能二选一”是个伪命题?

很多团队在上马 Agent 工程时,常会问:“我们现在先做 Skill,还是先接 MCP?”

更合理的视角是:

  • 没有 Skills 的 MCP Agent:
    • 能调用很多工具,却缺乏统一流程与质量标准
    • 不同开发者实现出来的“咨询机器人”,风格完全不一致
  • 没有 MCP 的 Skills Agent:
    • 知道怎么写一份好报告,但拿不到最新数据
    • 能输出漂亮格式,却始终停留在“脱离业务一公里”的位置

真正有价值的是双螺旋——用 Skills 定义“做事之道”,用 MCP 提供“做事所需的环境与材料”。


五、实战:构建一个“端到端数据分析 Agent”

下面通过一个完整示例,把 Skills + MCP 的协作流程串起来:目标是让 Agent 能“分析销售数据,生成品牌一致的报告,并通知团队”。

5.1 项目结构设计

假设你使用的是支持 Skills 与 MCP 的宿主(例如带 .claude/ 配置的项目工作区),目录可能长这样:

project/
├── .claude/
│   ├── skills/
│   │   ├── data-analysis-framework/
│   │   │   └── SKILL.md
│   │   ├── brand-guidelines/
│   │   │   └── SKILL.md
│   │   └── notification-templates/
│   │       └── SKILL.md
│   └── config.json        # MCP Server 配置
└── data/
    └── sales_q4.csv
  • data-analysis-framework:定义数据分析五步法
  • brand-guidelines:规定配色、语气、排版
  • notification-templates:封装 Slack/邮件通知模版
  • config.json:挂载 Postgres、Slack、GitHub 等 MCP Server

5.2 用 Skills 固化“分析流程 + 品牌风格 + 通知格式”

三个核心 Skill 的角色大致是:

  1. data-analysis-framework
    • 规定分析必须依次执行:描述统计 → 趋势识别 → 异常检测 → 根因分析 → 行动建议
    • 强制输出结构:执行摘要、ASCII 图表、优先级标记
  2. brand-guidelines
    • 规定配色、标题字体、用语风格(例如统一使用“我们”,避免过度夸张形容词)
  3. notification-templates
    • 封装 Slack 消息模板、邮件模板,保证通知内容风格一致

这些内容全部用 Markdown 写在各自的 SKILL.md 中,易于团队协同维护。

5.3 用 MCP 打通“数据源 + 协作工具”

.claude/config.json 中,可以配置多个 MCP Server:

  • 一个 postgres-sales:连接生产或分析库
  • 一个 slack-team:向指定频道发送消息
  • 一个 github-project:为重要分析结果自动建 Issue

典型配置方式是为每个 Server 指定启动命令(command + args),如用 Python 模块、npx、Docker 镜像等,具体细节由各个 Server 的实现决定。

5.4 从“用户一句话”到“完整自动化链路”

当用户在终端或 IDE 中发出一句话请求:

“分析 Q4 销售数据,生成报告并通知团队”

理想中的执行链会自动完成:

  1. Skill 自动匹配
    • “分析数据” → 触发 data-analysis-framework
    • “生成报告” → 触发 brand-guidelines
    • “通知团队” → 触发 notification-templates
  2. MCP 数据获取
    • 调用 postgres-sales 读取 Q4 相关数据
  3. 按 Skill 执行分析与报告生成
    • 严格遵守五步法与品牌规范输出
  4. MCP 执行动作
    • 通过 slack-team 把报告摘要发到指定频道
    • 通过 github-project 创建带上下文的 Issue(可选)

从外部看,这就是一个“可插拔、可扩展、可治理”的端到端自动化 Agent 能力。你可以继续加 Skill(例如“风控评审标准”)、接更多 MCP(例如“发飞书通知”、“更新 Notion 页面”),而不用推倒重来。


六、工程落地:决策指南与最佳实践

对于负责选型与落地的技术负责人,真正关心的往往是:“在现有系统里,应该先做什么、怎么做,风险和收益在哪里?”

6.1 何时优先引入 Skills?

更适合只用 Skills 的典型场景:

  • 团队内部已有成熟流程,但暂时不想接业务系统
  • 想在本地代码库、知识库上先做“增强型 IDE 助手”
  • 目标是统一风格、提升文档/代码质量,而不是自动化动作
  • 场景对实时数据依赖不强,比如规范检查、标准化输出

这类场景中,推动大家“把常用 Prompt 写成 Skill + 进 Git 管理”,往往是成本最低、收益最直接的一步。

6.2 何时优先引入 MCP?

更适合先引 MCP 的场景:

  • 目标是“让 Agent 直接操作现有系统”:查数据、发通知、建工单
  • 强依赖实时性:监控告警、交易日志分析、运营报表等
  • 有清晰的系统边界和权限模型,可以复用现有认证体系

此时 MCP 的价值在于:让你不必为每个 Agent 重写一遍“调用数据库/调用 GitHub/调用 Slack”的胶水代码,而是接入一个通用的协议生态。

6.3 什么时候必须 Skill + MCP 一起上?

一旦你的目标变成:

  • 做复杂业务流程自动化
  • 需要可审计、可复盘的决策过程
  • 涉及跨团队协作、跨系统联动

那么只用其一往往会迅速触顶。更现实的做法是:

  • 用 Skills 建立“业务上的统一行为规范”(比如:风控评审怎么做、变更评审怎么写)
  • 用 MCP 让这些规范“真的作用在实时系统之上”

七、进阶模式:治理、安全与演进

在更大规模的组织内,Skills 与 MCP 还会引出一整套治理议题:

7.1 用 Skill 反向规范 MCP 调用

可以设计一个 “secure-db-query” Skill,强制定义所有数据库查询必须经过它的规则审查,例如:禁止裸 DELETE/UPDATE,强制 LIMIT,要求参数化查询等。 Agent 对 DB 的访问就形成了“Skill 管理策略 + MCP 执行通道”的组合。

7.2 用 MCP 让 Skill 知识实时更新

对于频繁变动的产品手册、政策条款、接口文档,可以用 MCP 去拉取最新内容,而 Skill 只定义“如何使用这些文档来回答问题”的方法。 这样既保证了信息不陈旧,又保持了交互和回答风格的一致性。

7.3 企业级分层:Enterprise / Team / Personal

在组织层面,还可以按层级划分 Skills:

  • Enterprise Skills:安全、合规、风控等强制规范
  • Team Skills:团队内部风格约定、代码/文档标准
  • Personal Skills:个人效率相关的小技巧、偏好配置

与之配套的是 MCP 的权限体系:哪些 Server 只对特定团队开放、哪些需要审批、哪些必须带审计日志。


八、面向未来的“能力中台”视角

可以预见的是,随着 Skills 与 MCP 标准化建设的推进,越来越多团队会把这两者视为“AI 能力中台”的核心组成部分。

  • 对开发者:
    • 把高频、高质量的 Prompt 固化为 Skill
    • 为关键系统封装 MCP Server,积累可复用的能力组件
  • 对架构师/平台团队:
    • 设计分层 Skill 体系与统一配置入口
    • 制定 MCP Server 接入规范、权限模型与审计机制
  • 对决策者:
    • 不再把 Agent 看成“几个聊天机器人”,而是看成“依托 Skills + MCP 的长期能力建设工程”

站在今天回头看,Skills 像是给 Agent 上“职业训练课”,MCP 则是给它配齐“全功能工作证与门禁卡”。 只有这两条“能力双螺旋”一起旋转,AI Agent 才能真正从 Demo 走向生产,从玩具走向基础设施。

在这里插入图片描述

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐