AI 三剑客: MCP、Skill、Rule 傻傻分不清?这篇讲人话的科普来啦!

背景最近在技术交流群里,经常有人提到:"MCP 和 Skill 有啥区别?"、"Rule 是不是跟 Skill 差不多?"说实话,这几个概念确实容易搞混,我自己刚接触的时候也是一脸懵。后来用多了才慢慢理清楚它们各自的定位。既然群里问的人多,干脆写篇文章一次性说清楚,省得每次都要重复解释。1、先用一句话说清楚在深入之前,先记住这三句话:
MCP:给 AI 装上"手",让它能用各种工具
Skill:给 AI 一本"工作手册",告诉它 1、2、3 应该怎么干活
Rule:给 AI 立"规矩",规定什么能干、什么不能干
就这么简单。接下来展开讲讲。2、MCP:让 AI 长出"手"大白话解释MCP 全称 Model Context Protocol,是 Anthropic(就是 Claude 背后那家公司)在 2024 年底开源的一个协议。它解决的问题很简单:套个壳(统一协议),让 AI 能调用已有的那些工具。你想啊,市面上有各种各样的工具:数据库、文件系统、GitHub、Slack、日历……每个工具的调用方式都不一样。如果每个 AI 应用都要单独对接,那不得累死?MCP 就是来解决这个问题的。它定义了一套统一的"接口标准",只要工具按照这个标准实现,任何支持 MCP 的 AI 应用都能直接调用。类比理解官方有个特别形象的比喻:MCP 就像 USB-C 接口。以前各种设备的充电线都不一样,安卓用 Micro USB,苹果用 Lightning,笔记本用各种奇奇怪怪的接口。现在有了 USB-C,一根线走天下。MCP 做的就是这个事情——让 AI 应用和各种工具之间有个统一的"接口"。实际例子Cursor 里面内置了好几个 MCP,比如:Playwright MCP:让 AI 能操控浏览器
打开网页、点击按钮、填写表单
拖动滑块(这个很关键,后面会用到)
截图、执行 JavaScript
Chrome DevTools MCP:让 AI 能通过开发者工具操控浏览器
注入 Cookie、执行脚本
上传文件(Playwright 不支持的操作)
监控网络请求
这些 MCP 配置好之后,Cursor 里的 AI 就能直接调用这些能力了。你跟它说"帮我打开百度搜索一下 xxx",它就真的能打开浏览器去搜。3、Skill:给 AI 一本"工作手册"大白话解释Skill 也很简单:用自然语言描述一个工作流,告诉 AI 1、2、3 应该怎么干。它本质上就是一个 Markdown 文件(通常叫 SKILL.md),里面写清楚:
这个技能是干嘛的
什么时候触发
具体步骤是什么
然后 AI 就会按照这个"手册"来执行任务。跟脚本的区别(重点)群里有人问:"把 Skill 简单理解成脚本行不行?"不行。这是我在群里的回复:


脚本是死的,逻辑固定在代码里,永远不会变。Skill 定义的是工作流,AI 会根据自然语言描述来完成对应的任务。关键区别在于:AI 会自己判断和适应。举个例子:打开浏览器登录某个网站。如果是脚本,你得写:
打开登录页
输入用户名密码
点击登录按钮
但如果网站已经登录过了,脚本没写这个判断逻辑,就会卡死在"找登录按钮"这一步。Skill 就不一样了。你只需要告诉 AI"登录这个网站",它发现已经登录了,就会自动跳过登录步骤,直接进行下一步。脚本是死的,Skill 是活的。实际例子:AlphaBot 发版 Skill先介绍一下背景。AlphaBot 是我用 AI 写的一个薅羊毛软件,支持 macOS 和 Windows,通过蓝奏云网盘分发给用户。每次发新版本都要做一堆重复的事情:写更新日志、打 tag、等 GitHub Actions 构建、下载产物、上传到蓝奏云、删掉旧版本……手动搞一次要十几分钟,而且容易出错。于是我写了一个 alphabot-release Skill,用自然语言描述整个发版流程。现在只要说一句"发布新版本 1.24.0",AI 就会自动完成所有步骤。更厉害的是,Skill 还可以嵌套调用其他 Skill。alphabot-release 在最后一步会调用另一个 Skill lanzou-upload,专门处理蓝奏云上传。而 lanzou-upload 内部又会调用两个 MCP(Playwright 和 DevTools)来完成浏览器操作。这种嵌套结构让工作流变得非常灵活:


看到了吗?Skill 就是自然语言版的工作流,而且可以像函数一样互相调用,非常灵活。以前手动发版要十几分钟,现在一句话搞定。真香!4、Rule:给 AI 立"规矩"大白话解释Rule 就更简单了:规定 AI 要怎么干,不能干嘛。它跟 Skill 有点像,都是用自然语言描述的。但区别在于:
Rule 是一股脑告诉 AI 所有内容,AI 在每次对话开始时就会加载
Skill 是告诉 AI"有这么个东西",用的时候再来看
类比理解如果把 AI 比作一个新入职的员工:
Rule 就是公司的《员工手册》,入职第一天就发给你,里面写着"代码要用 TypeScript"、"commit message 要用英文"、"禁止在生产环境直接改数据库"之类的规定
Skill 就是《操作手册》,平时放在柜子里,需要做某件具体的事情(比如"发版")时才拿出来看
实际例子我的项目里有这样一条 Rule:---description: 语言规范alwaysApply: true---# 多语言项目规范- 禁止 GUI 页面使用硬编码文案- 所有文案必须使用统一的语言配置- 语言文件路径:alpha_bot_gui/translations这条规则 alwaysApply: true,意味着每次对话 AI 都会遵守。这样我就不用每次都提醒它"别硬编码"了。5、三者对比
维度MCPSkillRule
解决的问题让 AI 能调用工具定义复杂工作流设置行为规范
本质统一的接口协议自然语言工作手册自然语言规则集
存放位置各种 MCP Server~/.cursor/skills/.cursor/rules/
触发方式AI 需要用工具时自动调用/@skill-name 或自动识别始终生效或按需加载
灵活程度工具能力固定AI 灵活执行约束性规则
类比USB-C 接口操作手册员工手册
一句话总结:
MCP 给 AI 装"手"(能力扩展)
Skill 给 AI 发"工作手册"(流程指导)
Rule 给 AI 立"规矩"(行为约束)
6、回答群友问题"这些在测试领域一般是怎么用的?"


测试领域其实很适合用 Skill,因为很多工作都是固定流程:
造数据:按照特定规则生成测试数据
排查问题:分析日志、定位 bug
设计功能用例:根据需求文档生成测试用例
写自动化用例:生成 pytest/playwright 代码
这些都是固定的工作流,很适合用 Skill 来解决。现在已经有锤子了,就看钉子啦。"能分享个实际的 Skill 案例吗?"


上面已经介绍了 alphabot-release Skill,这里再说说它调用的 lanzou-upload Skill。蓝奏云有个麻烦的地方:登录需要滑块验证。普通的浏览器自动化很容易被检测到,验证会失败。我的解决方案是双 MCP 协作:
Playwright MCP 负责登录:它的鼠标模拟更真实,能通过滑块验证
登录成功后,提取 Cookies
Chrome DevTools MCP 负责后续操作:注入 Cookies,上传文件,删除旧文件
为什么要用两个 MCP?因为 Playwright 上传文件有 bug,而 DevTools 的滑块验证会失败。各取所长,组合起来就完美了。这就是 Skill 的灵活之处:你用自然语言描述工作流,AI 会自己选择合适的工具来执行。7、总结写到这里,再回顾一下核心要点:MCP:统一协议,让 AI 能调用各种工具。就像 USB-C,一个接口适配所有设备。Skill:自然语言工作流,告诉 AI 123 怎么干活。比脚本灵活,AI 会自己判断和适应。Rule:行为规范,规定什么能干什么不能干。一股脑告诉 AI,每次对话都遵守。该用哪个?
想让 AI 调用外部工具 → 找/写 MCP Server
有固定的工作流程想自动化 → 写 Skill
想让 AI 遵守某些规范 → 写 Rule
希望这篇文章能帮你理清这几个概念。如果还有问题,欢迎在评论区留言~最后,这篇文章也是 skill 写出来,你们感觉 AI 味重么?还是说跟我以往风格类似呢原文:https://mp.weixin.qq.com/s/E_ZGgRPURl0oPi8hNN1Ttg
分类