MCP、Skill、Rule 区别与联系
最近在看 AI Agent、Cursor、Claude Code、Codex 这类工具时,MCP、Skill、Rule 这几个词经常一起出现。
它们单独看都不难理解,放在一起却很容易混淆:
- 它们是不是都属于 Prompt 的高级形态?
Skill和Rule看起来都像是在“指导 AI”,差别到底在哪里?MCP听起来更底层,它和Skill、Rule到底是什么关系?
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说的是“做事时能接入什么能力”
真正重要的,不是某个产品是否刚好使用了 Rule、Skill 这些名字,而是它在整个 AI 协作体系里扮演的角色。
看到某个工具里没有显式的 Skill 或 Rule 这个词,也不用奇怪。很多产品只是把这些能力拆成了别的形态,比如规则文件、记忆文件、命令、模板、工作流等。
如果只看名字,很容易混;如果回到它们各自回答的问题,边界就会清楚很多。
7、参考资料
- Anthropic 官方文档:MCP。 https://docs.anthropic.com/en/docs/mcp
- Cursor 官方文档:Rules。 https://docs.cursor.com/context/rules
- Cursor 官方文档:Model Context Protocol。https://docs.cursor.com/context/model-context-protocol
- Anthropic 官方文档:Claude Code Memory。 https://docs.anthropic.com/en/docs/claude-code/memory
- TesterHome:《Cursor 中 Rule / MCP / Skill 的理解与实践》。 https://testerhome.com/topics/43614