夜雨聆风学习资料网

ARTICLE · 1045211

MCP 和 Skill:给 AI 接上工具,再交一本工作手册

MCP 和 Skill:给 AI 接上工具,再交一本工作手册

MCP 和 Skill:给 AI 接上工具,再交一本工作手册

作者:何欲|欲何可为

上一篇聊了 Agent。这一篇,我们从日常最常说的一句话开始:

“帮我点一份今天中午的外卖。”

看起来只是顺嘴交代一件生活小事,但如果真想让 AI 替你把这件事稳妥办好,背后其实卡着两个完全不同的坎:

第一,它得先会用软件——用某团或某宝APP,还得有办法把菜品放进购物车、生成订单。第二,它得明白你的生活习惯——是吃清淡还是无辣不欢?哪些忌口碰都不能碰?预算多少?挑好后要不要先给你过目?

简单说:一个是手脚够不够得着,一个是做事懂不懂规矩。

MCP 和 Skill,对应的就是这两个层面。它们不是一回事,更谈不上谁取代谁。[1][5]


01|手脚:从 API 到 MCP,AI 的工具是怎么接上的?

很多刚接触 AI 工具调用的人,往往会被一堆英文缩写搞晕。其实如果顺着软件的发展历史看,工具连接的演进过程非常自然。

平时我们自己点外卖,是用手指去戳手机屏幕上的按钮(也就是图形界面 UI);

后来有了自动化程序,是程序按照约定好的暗号去调数据通道——也就是大家常说的 API(应用程序编程接口)。[3] 比如外卖平台会开放一个“添加商品”的接口,其他程序只要按照规范,把商家 ID 和菜品编号传过去,接口就会在后台把菜品加进购物车,并返回执行结果。

还记得今年过年的时候很多国内厂商都在推各家的APP的Agent功能吗,比如千问帮你点外卖,等等。其实就是基于API做的尝试。

那既然已经有了 API,为什么到了 AI 时代,大家又开始大张旗鼓地搞 MCP(Model Context Protocol,模型上下文协议)?[1]

坦白讲,很多程序员的第一反应也是:“这不就是把已有 API 又包装了一层壳吗?”

在某些场景里确实如此。但这层壳的核心价值,在于统一插口规格。

现在 AI 工具层出不穷,今天你在 Claude 里接了这套外卖 API,明天换到 Cursor、ChatGPT 或者豆包这种手机系统的 Agent 框架里,因为每个客户端支持的工具格式各不相同,你就必须把这套对接逻辑翻来覆去重写好几遍。

MCP 想干掉的,就是这种跨客户端的重复造轮子。它就像电子设备上的 Type-C 统一插口只要外卖平台或开发者做了一个符合 MCP 规范的服务,无论是哪个 AI 客户端,插上就能直接用。[1][9]

平时大家常说的“给 AI 装了一个 MCP”,严格来说,接入的是一个具体的 MCP 服务(Server)。这个服务是一个独立的程序,可以跑在本地电脑上,也可以部署在远端服务器上;它本身并不是什么新的大模型。[2]

整个调用的数据链路通常是这样的:

AI 客户端(如 Claude / 各种 Agent) → MCP 服务 → 具体的业务 API 或本地系统。

这个 MCP 服务背后,既可以去调外卖平台的业务 API,也可以直接读取本地磁盘文件、查询数据库,或者跑一段本地脚本。[2] 它向 AI 暴露几个清清楚楚的工具:每个工具叫什么、能干嘛、需要传什么参数。当模型判断该查菜单时,就发出调用指令,外面的 MCP 服务跑完操作,再把真实结果带回给模型。[2][9]

除了提供可执行的工具,MCP 还能向 AI 输送只读的上下文文件(Resources)以及预设的提示词模板(Prompts)。把 MCP 当作一套标准化的“万能转接头”,比把它当成某种神秘插件更贴切。[2]


02|规矩:有了手脚,AI 为什么还要一本 Skill 手册?

现在,接口通了,工具齐了。AI 既能查菜单,也能往购物车里加菜。

但马上就会撞上下一堵墙:

它知道按钮怎么按,但根本不知道你想让它怎么干。

一句随口吩咐的“帮我点份午饭”,在不同人眼里完全是两回事:有人必须吃米饭,有人在低碳减脂;有人重油重辣,有人海鲜过敏。要是每次点餐前你都得把自己的忌口、预算、偏好从头到尾敲一遍,那感觉就像每到饭点,就得把新来的助理抓过来重新做一次入职培训。

这时候就需要 Skill(Agent Skills) 了。

别被这个高大上的英文词唬住了,Skill 其实就是提示词(Prompt)。只不过它不是你在聊天框里随手打的一两句碎碎念,而是把某一类特定任务的标准作业流程(SOP)、参考偏好、甚至辅助脚本打包在一起,变成了一份规范化、可复用的“业务手册”。[5]

比如一份给生活助理的点餐手册,里面写的绝不是“请你成为资深营养大师”这种玄学假大空,而是极其具体的操作规范:

  1. 先查附近评分 4.5 以上的常吃店铺,优先看中餐和轻食;  

  2. 严格忌口:海鲜过敏、免葱姜蒜;工作日单人午餐预算控制在 30~50 元之间;  

  3. 选定菜品后列出清单和预计送达时间,等我确认后再提交订单;  

  4. 关键原则:最后的支付环节必须交给我亲自扫脸或输密码,绝对不能擅自扣款。

看,它交代的不是什么高深算力,而是:先看什么、准许挑什么、有哪些硬性禁忌,以及最关键的——在哪一步必须停下来等人确认。

在 Agent Skills 规范里,这种技能包的入口通常就是一个 SKILL.md 文件。里面写着这个 Skill 的名字、应用场景和具体操作规程;需要时,还可以附带历史喜好清单、格式模板甚至专用的凑单计算脚本。[6]

偏好和习惯交给说明与范例,复杂的满减计算交给脚本。这完全不需要你去重新微调(Fine-tune)或训练模型,而是在它干活的那一刻,把手艺和规矩递到它手里。[7]

既然本质是提示词,为什么还要搞成 Skill?

很多人看到这里的第一反应都是:既然 Skill 其实就是提示词,那不就是把一段长 Prompt 存成了 Markdown 文件吗?换个马甲我就不认得了?

实话实说,Skill 里的核心规程,底层确实就是提示词。普通的 System Prompt 你当然也能保存起来反复用,文字本身并没有什么魔力。

但之所以要专门搞出一套 Skill 规范,差别主要在两点:组织方式,以及按需加载(Progressive Disclosure)。[5][10]

如果你只是临时想吃个汉堡,随手在聊天框里敲两句要求,完全够用,根本犯不上建什么 Skill。可如果你的生活助理还要帮你管点餐、管出差订票、管日程提醒、管家庭记账,如果把这些事情的所有规则全一股脑塞进提示词里,不仅上下文容易爆,模型也更容易“注意力涣散”、漏看规则。

而规范的 Agent Skill 采用的是“分级翻书”机制:平时模型只把各个 Skill 的简短名称和功能描述放在眼前(相当于只看一本目录);只有当你吩咐“帮我点午饭”时,它才会把外卖点餐对应的 SKILL.md 全文读进上下文;要是里面还引用了长篇的过敏源清单或满减计算脚本,也是在真正要用的时候才按需调取。[5][6]

这就像查字典:要查哪个字就翻哪一页,而不是每次一开口,先把整座图书馆硬塞进脑子里。


03|协同:它们如何一起跑通一次任务?

理清了这些,我们再回头看最开始的那句吩咐:

“帮我点一份今天中午的外卖。”

在一个成熟的 Agent 辅助工作流里,这几个角色是怎样真正配合起来跑完一整趟的?我们可以通过下面这套完整的数据流来看清它们的分工。

具体跑下来,一共分为六步:

  1. Agent 先认任务、翻手册:AI 识别出这是一次点午餐的需求,根据目录命中“外卖点餐”的 Skill,把里面的忌口规则、预算范围和流程要求加载进来;

  2. 调 MCP 摸数据:按照手册的第一步要求,调用 MCP 工具去查你当前定位附近评分 4.5 以上的餐厅和推荐菜单;MCP 服务接收到请求,负责向外卖平台的 API 发送查询;

  3. 按规矩干活:外卖平台把真实的菜单数据返回后,Agent 照着手册里的规矩过滤:剔除所有海鲜类菜品、排除重辣、挑出价格在 30~50 元以内的组合。发现某家店虽然好吃但要等 90 分钟,按照规则主动舍弃;

  4. 出清单、等人确认:把挑好的菜品、价格和预计送达时间列出来给你看。关键卡点:必须等你说“就这家”或“确认”,才允许进行下一步

  5. 调 MCP 写入并建单:拿到人类明确确认后,调用外卖平台的 MCP 工具,把菜品加入购物车并生成待支付订单;

  6. 交出控制权:到这一步彻底停手,把最后的支付环节留给人来扫脸或输入密码。

在这套配合里:

  • MCP 是“手和脚”,负责帮 AI 把手伸到外卖平台的接口里去查菜单、加购物车;

  • Skill 是“规程手册”,告诉它你的口味偏好、预算上限、以及选好后必须等确认;

  • 而根据目标随机应变、一步步推进这个过程的,就是 Agent 本身。[1][5][8]

它们之间从来不是一条死板的流水线,而是分工合作:有时候先看手册再调工具;有时候工具查出某道菜估清了,再去翻手册看替补方案。“连接”和“规矩”也不是非得界限分明——MCP 服务可以把一段固定的凑单逻辑封成现成工具,Skill 里也可以直接塞进一个计算优惠券最优解的 Python 脚本。[2][7] 只要抓住各自的核心,就不会被一堆技术名词给绕晕。


04|克制:并不是每件事,都要配齐这一套

聊到最后,必须泼一点冷水:千万别为了“显得专业”,把什么小事都套上这套重型装备。

如果你只是偶尔查个附近的咖啡店,直接在地图或搜索框里看两眼最快最省事;如果客户端本来就有现成的联网搜索功能,也没必要非得自己折腾一套 MCP 服务挂上去。[4]

只有当你发现某项生活事务要反复发生、每次都要翻来覆去交代同样的个人习惯时,花时间写个 Skill 才有复利;而如果这个 Skill 只涉及整理现有的日程或备忘录,它甚至完全不需要连什么 MCP。[5][6]

面对一项新任务,不妨先理清楚自己的痛点在哪:

  • 到底是工具不够用(摸不到数据、干不了具体的事),那就去补 MCP 和接口;

  • 还是交代不明白(每次做出来的结果都差点意思、总要反复返工),那就去梳理规矩、挑样例文档,把它沉淀成 Skill。

还有最关键的一点:安全和权限,千万别全赌在“提示词的自觉性”上。

在手册里写一百遍“千万不要擅自扣款”,也只是对大模型的软性叮嘱,不代表程序在技术上真的没有扣款权限。遇到极端情况或模型幻觉,后果谁也担不起。更稳妥的做法,是在工具和账号层面限制可执行的操作——比如根本不给免密支付权限,遇到真正的扣款或下单操作强制弹窗让人确认。[9] 


我们平时总在期待下一个更强、参数量更大的模型,但真正落到日常干活时,卡死我们的往往不是模型的智商,而是它根本拿不到真实资料,或者我们从来没有把工作交接写明白。

MCP 负责把手脚接出去,Skill 负责把经验留下来。

工具装得再多,都不如实实在在地把某一件繁琐的日常琐事,彻底做顺。


参考资料

[1] Model Context Protocol — What is MCP?https://modelcontextprotocol.io/docs/getting-started/intro

[2] Model Context Protocol — Architecture overviewhttps://modelcontextprotocol.io/docs/learn/architecture

[3] MDN — APIhttps://developer.mozilla.org/zh-CN/docs/Glossary/API

[4] Claude Platform Docs — Tool use with Claudehttps://platform.claude.com/docs/en/agents-and-tools/tool-use/overview

[5] Agent Skills — Overviewhttps://agentskills.io/home

[6] Agent Skills — Specificationhttps://agentskills.io/specification

[7] Anthropic — Equipping agents for the real world with Agent Skillshttps://www.anthropic.com/engineering/equipping-agents-for-the-real-world-with-agent-skills

[8] Anthropic — Building effective agentshttps://www.anthropic.com/engineering/building-effective-agents

[9] Model Context Protocol — Tools(含工具定义与安全要求)https://modelcontextprotocol.io/specification/2026-07-28/server/tools

[10] Claude Platform Docs — Agent Skills(含安全与运行环境说明)https://platform.claude.com/docs/en/agents-and-tools/agent-skills/overview

相关学习资料