MCP、Skill、Rule 区别与联系

最近在看 AI Agent、Cursor、Claude Code、Codex 这类工具时,MCPSkillRule 这几个词经常一起出现。

它们单独看都不难理解,放在一起却很容易混淆:

  • 它们是不是都属于 Prompt 的高级形态?
  • SkillRule 看起来都像是在“指导 AI”,差别到底在哪里?
  • MCP 听起来更底层,它和 SkillRule 到底是什么关系?

1、总览

概念 它回答的问题 更像什么 典型例子
Prompt 这次让我做什么? 一次性的任务入口 “帮我检查登录流程并输出结论”
Rule 做事时一直要遵守什么? 规则、边界、长期指导 不覆盖用户文件、按固定模板输出
Skill 这类任务通常怎么做? SOP、任务说明书、工作流 回归测试流程、代码评审流程
MCP 我现在能连上什么能力? 接口层、能力接入层 浏览器、文件系统、GitHub、数据库

如果把 AI 当成一个数字员工,那么:

  • Prompt 像这次派给它的工单
  • Rule 像它工作时一直要遵守的制度和边界
  • Skill 像某类任务的标准做法
  • MCP 像它连接外部工具和系统的接口

所以,它们不是替代关系,而是不同层面的协作关系。

这张图可以这样读:

  • Prompt 负责提出当前任务
  • Skill 负责组织“这类任务一般怎么推进”
  • MCP 负责把 AI 接到真正可用的外部能力上
  • Rule 不是中间某一步,而是对整个过程持续生效

2、三者分别是什么

(1) MCP:解决“AI 能接入什么外部能力”

MCP 的全称是 Model Context Protocol。它本质上是一套开放协议,用来标准化“应用如何向模型提供上下文和能力”。

你可以把它理解成 AI 和外部世界之间的“通用接口层”。

很多人一提 MCP 就想到“让 AI 调工具”。这个理解不算错,但还偏窄。更准确地说,工具调用只是 MCP 最常见的一种使用方式,它也可以连接资源、数据源和其他上下文能力。

常见的 MCP 连接对象包括:

  • 浏览器
  • 文件系统
  • GitHub
  • 数据库
  • 终端
  • Slack、Notion、日历等外部服务

它解决的核心问题不是“这件事该怎么做”,而是“模型现在能接到哪些外部能力”。

一个直观类比是:

  • MCP 像 USB-C 接口
  • 它定义的是“怎么接”
  • 至于接上之后拿它做什么,不是接口本身决定的

所以,MCP 的关键词是:

  • 协议
  • 接入
  • 能力暴露
  • 外部工具与上下文

(2)Skill:解决“这类事情通常怎么做”

如果把视角放在任务完成方式上,Skill 可以理解为一份可复用的任务说明书,或者一套带判断空间的 SOP。

它通常会告诉 AI:

  • 适用于什么场景
  • 任务大致怎么拆解
  • 每一步需要检查什么
  • 出现分支时如何判断和继续

例如同样是“登录网站”:

  • 脚本会把点击顺序写死
  • Skill 更关注目标、步骤和判断条件
  • AI 在执行时会先判断当前状态,再决定是否继续后续动作

所以,Skill 的重点不是提供底层工具,而是沉淀一类任务的执行方法。

需要注意的是,这一层在不同产品里不一定真的叫 Skill。有些工具会显式提供 Skill,有些工具则会把它拆成命令、模板、工作流或其他可复用机制。

无论名字怎么变化,它们解决的都是同一个问题:这类任务通常应该怎么做。

所以,Skill 的关键词是:

  • 任务方法
  • 执行套路
  • 工作流说明
  • 可复用流程

(3)Rule:解决“做事时要持续遵守什么”

Rule 更准确地说,是一类持续注入模型上下文的指导信息。它可以是约束,也可以是偏好、项目知识、模板或操作边界。

以 Cursor 为例,Rules 是可复用、可作用域控制的指令。它既可以全局生效,也可以按项目、目录、文件类型或触发条件生效。

因此,Rule 通常不只是“禁止做什么”,还可能包含:

  • 编码规范
  • 输出规范
  • 项目背景知识
  • 架构约定
  • 风险操作边界
  • 团队协作约定

所以,Rule 更像持续生效的指导层,而不只是狭义上的“全局限制”。

它的关键词是:

  • 指导
  • 边界
  • 持续生效
  • 作用域控制

3、用一个完整例子看三者如何协同

假设让 AI 做这样一件事:

“帮我验证注册流程是否可用,并把发现的问题整理成报告。”

这时可以这样拆:

(1)Prompt 在起作用

它先定义了这次任务的目标:

  • 要检查的是“注册流程”
  • 要输出的是“问题报告”

(2)Rule 在起作用

AI 会受到持续生效的规则约束,例如:

  • 发现问题时先给复现步骤
  • 不要伪造测试结果
  • 不要修改测试环境数据
  • 输出报告用统一模板

(3)Skill 在起作用

AI 可能会触发一个“Web 测试执行 Skill”,它告诉 AI:

  • 先打开测试环境
  • 检查是否需要登录
  • 按注册流程逐步操作
  • 遇到报错要截图并记录接口信息
  • 最后整理成缺陷报告

(4)MCP 在起作用

执行过程中,AI 需要真正操作外部世界,于是会调用:

  • 浏览器 MCP:打开页面、点击按钮、填写表单
  • 文件系统 MCP:保存截图、读取配置
  • 网络或开发者工具 MCP:抓取请求、查看报错

最后,这几个层次共同配合,完成这次任务。

4、为什么只有 Prompt 通常不够

很多人会把这几个概念和 Prompt 混在一起。其实 Prompt 更像一次性的任务入口,它负责表达“这次要做什么”,但通常不足以稳定支撑复杂任务。

原因也很简单:

  • 没有 Rule,AI 可能输出风格不稳定,或者不遵守团队规范
  • 没有 Skill,AI 可能知道目标,但不知道这类事一般怎么系统推进
  • 没有 MCP,AI 可能知道应该怎么做,但不能真的操作浏览器、文件系统或其他外部系统

所以更准确的关系是:

  • Prompt 提出当前任务
  • Rule 提供长期有效的指导和边界
  • Skill 提供某类任务的执行方法
  • MCP 提供连接外部能力的接口

5、实际使用时怎么选

(1)什么时候用 MCP

当你希望 AI 真正去连接和操作外部工具、数据源或系统时,用 MCP

典型场景:

  • 操作浏览器
  • 读写本地文件
  • 访问代码仓库
  • 查询数据库
  • 调用第三方服务

(2)什么时候写成 Skill

当发现某类任务会反复出现,而且每次都有相对稳定的执行套路时,就适合沉淀成 Skill,或者写成同等作用的命令、模板、工作流机制。

典型场景:

  • 发版流程
  • 缺陷排查流程
  • 自动化测试执行流程
  • 代码评审流程
  • 故障复盘流程

(3)什么时候写成 Rule

当你希望 AI 在很多任务里都保持一致行为,或者希望某些知识、约束、偏好持续生效时,就适合写成 Rule,或者写入同类的长期指导机制。

典型场景:

  • 编码规范
  • 输出规范
  • 安全边界
  • 风险操作约束
  • 团队协作约定
  • 项目背景说明

6、总结

如果把这几个概念压缩成最短的判断句:

  • Prompt 说的是“这次做什么”
  • Rule 说的是“做事时一直要遵守什么”
  • Skill 说的是“这类事情通常怎么做”
  • MCP 说的是“做事时能接入什么能力”

真正重要的,不是某个产品是否刚好使用了 RuleSkill 这些名字,而是它在整个 AI 协作体系里扮演的角色。

看到某个工具里没有显式的 SkillRule 这个词,也不用奇怪。很多产品只是把这些能力拆成了别的形态,比如规则文件、记忆文件、命令、模板、工作流等。

如果只看名字,很容易混;如果回到它们各自回答的问题,边界就会清楚很多。

7、参考资料