漫谈 MCP 与 Skill

引言

试想这样一个场景。

你被关在一间没有窗户的小黑屋里,手脚被牢牢绑在一把椅子上,无法起身,无法移动,甚至无法确认自己身处何地。你看不见任何东西,也接触不到任何外部世界。黑暗中,只有一个声音会时不时地响起,向你提问。你唯一能做的,就是开口回答。

这个声音问你的问题,可能很简单。

比如,它突然问你一句:

“现在几点了?”

你愣了一下。

因为你根本不知道。

你没有手机,没有手表,看不到太阳,也看不到月亮。你甚至无法判断自己被关了多久。对于外部世界,你没有任何实时感知能力。你或许可以根据经验去猜,或许可以凭感觉编一个答案,但你很清楚,那终究只是猜测,不是真正可靠的信息。

接着,那个声音又问:

“今天外面下雨了吗?” “北京现在的气温是多少?”

到了这里,你会越来越清楚地意识到一个事实:

并不是你不会说话,也不是你不够聪明。恰恰相反,也许你拥有很强的理解能力、推理能力和表达能力。真正限制你的,不是“大脑”,而是你与外界彻底隔绝。

你没有眼睛去看,没有手去操作,没有钟表去确认时间,没有电脑去读取文件,没有网络去检索信息,也没有任何渠道去接触真实世界。你只能依靠自己脑子里原本就有的那些记忆,去回答一切问题。

这其实就是大语言模型在“没有接入外部工具”时的处境。

很多人第一次接触 AI 时,都会惊叹于它惊人的对话能力,仿佛它无所不知、无所不能。但从本质上说,一个裸奔的大模型,更像是那个被困在黑屋里的人:它很会思考,也很会组织语言,但它既看不到外界,也摸不到现实,更无法亲手完成操作。

所以,当我们讨论 AI 能不能真正“做事”时,一个绕不过去的问题就是:

如何让这个被困在黑屋里的“大脑”,真正连接到外部世界?

这,就是 MCP 出现的意义。

从封闭推理到连接现实

MCP 的重要性,在于为模型提供一种标准化的外部连接机制:让它能够在需要的时候访问工具、读取数据、调用服务,并将这些外部能力纳入自己的任务处理流程之中。

一旦这种连接建立起来,模型的角色就会发生变化。它不再只是一个停留在对话层面的回答者,而开始具备处理现实任务的可能:查询实时信息、读取本地或远程资源、操作系统能力、连接业务系统,乃至执行多步骤任务。换句话说,MCP 所解决的核心问题,不是“让模型更会说”,而是“让模型真正有机会做事”。

有时候你可能觉得 MCP 这个词语很陌生,但其实它可能早就已经深深融入了你日常使用的各种 AI 工具之中。

例如,大名鼎鼎的 Cursor,之所以会让无数程序员第一次产生一种“AI 真的开始能干活了”的震撼感,并不只是因为它补全代码更聪明,也不只是因为它比传统代码助手更会聊天,而是因为它背后的模型已经不再被困在纯对话界面里,而是通过 MCP 这类外部连接机制,真正接入了项目环境本身。也正因为如此,它才能读取工程目录、搜索代码、修改文件、调用终端、运行测试、观察报错,并根据结果继续迭代。用户表面上看到的是 Cursor 很强,底层真正发生的,则是模型借助 MCP 这类机制,把文件系统、命令行和开发工具都变成了自己可调用的“外部器官”。

再比如,OpenClaw 这一类更强调代理执行体验的系统也是同样的道理。它之所以看起来不像一个单纯的聊天机器人,而更像一个能够接手任务的助手,并不是因为模型突然学会了某种神秘的新能力,而是因为模型通过 MCP 这类机制接上了更多现实世界的接口。它能看见文件,能操作环境,能调用程序,能把一个目标拆成若干步骤,再逐步执行下去。用户所感受到的那种“它怎么像长出了手脚一样”的变化,本质上正是 MCP 在起作用:模型第一次不再只是输出文字,而是能够通过标准化接口去驱动外部工具。

对于程序员来说,这种差异往往非常直观。

你让一个没有外部连接能力的模型帮你排查一个项目为什么启动失败,它大概率只能停留在经验层面的建议:检查依赖是否安装、检查环境变量、检查端口占用、检查配置文件格式。它说得可能都对,但终究隔着一层。

而当模型真的通过 MCP 接入终端和文件系统之后,事情就完全不一样了。它可以直接执行启动命令,看到真实报错;可以打开对应配置文件,定位缺失字段;可以继续执行 pip shownpm lsdocker logssystemctl status 之类的命令验证自己的判断;如果发现是某个服务没有启动,它还可以顺着日志继续往下查。此时它不再只是“教你怎么排查”,而是在真实地参与排查过程本身。而这种从“建议”到“介入”的跨越,正是 MCP 带来的。

再进一步说,在很多更复杂的工程任务里,单纯“会回答”其实几乎没有意义。比如让 AI 帮你在一个大型仓库里完成一次重构:先定位所有旧接口的调用点,再批量修改参数签名,然后跑测试,查看失败用例,补充修复,最后生成 commit message。这样的任务,本质上就不是一个靠语言生成就能闭环完成的问题。它必须能读文件、改文件、执行命令、观察反馈、继续修正。而模型之所以能够做到这一点,前提正是它已经通过 MCP 接入了这些外部能力。

如果把这个现象抽象一层,那么 Cursor 也好,OpenClaw 也罢,真正令人惊叹的并不只是“模型更聪明了”,而是模型终于可以借助 MCP 把手伸进真实环境里。过去它只能坐在黑屋里回答问题;现在,它开始能够打开门,去接触工具、系统、文件和服务本身。

从连接现实到理解现实

如果说,MCP 解决的是“连接”的问题,那么 Skill 进一步解决的,就是“如何理解并使用这些连接”的问题。

模型通过 MCP 接入外部世界之后,确实已经拥有了调用工具、读取文件、执行命令、访问服务的能力。但“有能力”并不等于“会使用”,更不等于“稳定、正确、高效地使用”。同样一组工具摆在面前,不同的模型、不同的上下文、不同的任务描述,最终产生的行为方式可能差异极大。

更重要的是,模型即便已经能够接入现实世界,也依然未必真正理解那个世界里的具体对象。

这一点,在一些小众但专业性很强的工具上尤其明显。像 numpy、pandas 这样的明星项目,它们的文档、教程、问答、博客和示例代码早已大量散布在互联网上,也极有可能在模型训练阶段就已经被充分吸收。因此,当你让 AI 写一个 pandas groupby,或者处理一个 numpy array,它往往显得相当熟练,好像这些能力本来就已经长在了它的脑子里。

但现实世界并不只有这些“大众化”的工具。大量真正有价值的能力,恰恰存在于一些传播范围有限、语料稀少、领域高度垂直的小众项目之中。对于这类项目,模型通常并不是“了解得不够深”,而是从一开始就可能几乎陌生。

我自己就有一个很直接的体会。我开发过一个名为 cnmaps 的 Python 包,它主要服务于国内气象研究者在地图绘制方面的一些具体需求。和 numpy、pandas、matplotlib 这类几乎无人不知的基础库相比,cnmaps 显然是一个相当小众的存在。它没有铺天盖地的社区讨论,没有海量教程,也没有足够多的公开代码示例反复进入模型训练语料。于是问题就出现了:即便模型已经通过 MCP 接入了本地环境,理论上可以读取项目文件、调用解释器、执行代码,它也依然未必知道 cnmaps 是干什么的,应该怎样导入,常见的代码套路是什么,适用边界在哪里,又有哪些场景其实不应该误用它。

这时候,光有 MCP 就不够了。

因为 MCP 只是让模型“碰得到”这些工具,却没有自动让模型“理解”这些工具。模型当然可以现查文档、临时摸索,但这种方式既不稳定,也不高效,更容易在小众项目上出现误解、幻觉和误用。尤其当一个包本身就服务于很细分的专业场景时,单靠模型临场发挥,往往很难建立起可靠的使用范式。

而 Skill 的意义,恰恰就在这里显现出来。

如果希望 AI 真正学会使用像 cnmaps 这样的小众包,那么就需要用某种方式,把这个包的核心信息主动“教”给它:这个包主要解决什么问题,典型任务有哪些,最常见的调用方式是什么,常见代码模式有哪些,哪些能力已经实现,哪些能力并不具备,哪些坑应该提前规避。这样一来,模型拿到的就不再只是零散原始资料,而是一套经过筛选、组织和归纳的使用经验。

这正是 Skill 最自然的落点。它不是再给模型增加一个新接口,而是把围绕某个具体工具、具体项目、具体场景所沉淀下来的知识和方法,整理成一份可以直接交给模型的“经验包”。对于 cnmaps 这样的例子来说,Skill 的价值尤其明显:它让一个原本对模型几乎陌生的小众工具,第一次能够以一种清晰、稳定、可复用的方式进入模型的工作流。

从这个意义上说,MCP 和 Skill 其实对应着两个不同层次的问题。前者解决的是“模型能不能把手伸进现实世界”,后者解决的则是“当它真的伸出手之后,是否知道自己面对的究竟是什么,又该如何正确地行动”。

从理解现实到掌握手法

也正因为如此,很多人第一次接触 Skill 时,往往会对它产生一种误解:以为它无非就是一段写得更长的提示词,或者一套预先编排好的工作流脚本。

这种理解不能说完全错,但显然过于狭窄了。

把 Skill 理解成“提示词模板”,意味着它只是换一种方式告诉模型“你现在要做什么”;把 Skill 理解成“工作流脚本”,则意味着它更像一套固定步骤的自动化编排:第一步做什么,第二步做什么,第三步做什么。前者偏重语言引导,后者偏重流程固化。但很多真正有价值的 Skill,核心都不止于此。

它更像是在向模型传递一种经过整理的经验与手法。

这里的“经验”,并不是泛泛而谈的背景知识,而是围绕某一类具体任务长期沉淀下来的做事方式:面对这类问题,通常应该优先看什么;哪些线索更关键;什么叫做合理的结果;哪些做法虽然表面可行,但其实是常见误区;出了问题以后,应该先怀疑哪里;在特定场景下,又该遵守哪些默认约定。这些东西,往往并不天然存在于模型参数之中,也很难仅靠一次临场提问就稳定浮现出来。

而“手法”则更进一步。它意味着 Skill 传递给模型的,不只是“知道”,而是“会做”;不只是“听说过”,而是“像一个有经验的人那样展开动作”。同样一个工具,同样一组接口,是否掌握了手法,最终呈现出来的效果可能完全不同。一个没有经验的模型,可能也能调用命令、读取文件、查阅文档,但它的行为会显得零散、迟疑、低效,甚至经常走弯路;而当某种手法被清晰地交给它之后,它才会开始表现出某种熟练度,像是知道什么该先做、什么该后做、什么是高概率路径、什么是不该踩的坑。

这也是为什么,Skill 并不只是“把步骤写出来”那么简单。

真正有价值的 Skill,通常都包含某种压缩过的实践经验。它把原本分散在文档、示例、项目习惯、团队共识、个人心得里的信息,重新组织成一种更适合模型理解和执行的形式。它不一定把每一步都写死,却会给模型建立起一种更可靠的行动框架;它不一定替模型做决定,却能显著提高模型做出正确决定的概率。

还是拿 cnmaps 这个例子来说,如果只是把它当作一个普通包名丢给模型,再附上一份原始文档,那么模型当然也有可能边看边学,勉强完成任务。但这种方式很像是把一个新人直接扔进现场,再告诉他“你自己先读说明书吧”。而如果把 cnmaps 相关的典型场景、常见调用方式、边界条件和易错点整理成 Skill,再交给模型,情况就完全不同了。此时模型得到的已经不只是资料,而是一种被提炼过的“使用手法”。它更容易迅速抓住重点,更容易在具体任务中调用正确套路,也更不容易在那些看似合理、实则错误的方向上浪费时间。

从这个角度看,Skill 的价值并不只是提高效率,更是在降低不确定性。

它让模型在进入某个具体领域时,不必每次都从零试探,不必总靠临场猜测和即兴发挥,而是可以站在一套已经被人类整理过的经验之上开始行动。对于那些专业性强、门槛高、语料稀少、但又确实有现实价值的任务来说,这种作用尤其关键。

所以,与其把 Skill 看成一个简单的提示词模板,或者一条僵硬的工作流脚本,不如把它理解为一种面向 AI 的“经验注入”机制。它注入的不是抽象概念,而是某个领域里真正能把事情做成的知识结构、判断方式与操作手法。

也只有在这个意义上,Skill 才真正和 MCP 形成了互补:MCP 负责把模型接入现实,Skill 负责让模型在现实中表现得更像一个熟手。

MCP 与 Skill 的分工

从整体上看,MCP 与 Skill 其实对应的是 AI 能力成长中的两个不同层次。

前者解决的是“能不能接触世界”的问题,后者解决的是“接触世界之后,能不能像一个有经验的人那样行动”的问题。没有 MCP,模型再聪明,也往往只能停留在封闭推理之中;没有 Skill,模型即便已经接上了工具和环境,也仍然可能在真实任务面前表现得笨拙、漂浮、缺乏章法。

因此,MCP 与 Skill 的关系,并不是二选一,也不是谁取代谁,而更像是基础设施与经验系统的分工。MCP 让模型获得触达现实的能力,Skill 则让这种触达不只是“碰到”,而是“用好”。一个负责把路修出来,一个负责告诉模型在这条路上该怎么走。

如果把前文那个“小黑屋”的比喻继续往前推,那么 MCP 像是终于打开了门,让模型能够走出房间;而 Skill 则像是有人在它出门之前,已经把地图、方法和做事的门道交到了它手里。前者让它不再被困住,后者让它不至于在走出去之后依然手足无措。

也正是在这个意义上,Skill 并不只是 MCP 的附属物,而是 AI 从“能够接入现实”走向“能够胜任现实任务”时,几乎必然会出现的一层能力结构。

为什么我认为 Skill 会越来越重要

如果只看这两年 AI 的发展热度,很多人的注意力其实都集中在模型本身:参数规模更大了,推理能力更强了,上下文更长了,多模态更丰富了。好像只要模型继续变强,一切问题最终都会自然解决。

但我越来越觉得,事情恐怕没有这么简单。

模型能力的提升当然重要,而且会一直重要下去。但当大模型逐渐跨过“能不能回答问题”这道门槛之后,接下来真正拉开差距的,未必只是模型本身的智力水平,而很可能是它是否能够进入具体场景,理解具体工具,掌握具体手法,并在真实任务里稳定地把事情做成。

而这恰恰是 Skill 发挥作用的地方。

因为现实世界并不是由一套统一、标准、公开、充分训练过的知识构成的。相反,它充满了大量碎片化、垂直化、情境化的知识:某个团队的工程约定,某个行业的术语体系,某个小众包的使用方法,某类任务的最佳实践,某套内部系统的隐性规则,某些只有长期实操者才知道的坑与经验。对于这些内容,不能简单寄希望于“下一代模型参数更大一些就自然学会了”。

一方面,很多知识本来就不在公共互联网的高频语料里;另一方面,即便模型在训练时接触过类似内容,它也未必能在真实任务中稳定、准确地调用出来。现实任务需要的,往往不是模糊地“知道一点”,而是能够在具体上下文里恰当地用出来、按正确顺序做出来、在出错之后及时修正过来。

这时候,Skill 的价值就会越来越清晰。

它本质上是在做一件非常关键的事情:把那些原本零散、隐性的专业经验,整理成 AI 可以直接继承和复用的能力结构。它不是替代模型思考,而是在降低模型进入具体场景时的门槛,减少它试错的成本,并提高它在专业任务中的稳定性。

换句话说,模型越强,Skill 反而越重要;很多时候,恰恰是模型越强,Skill 的价值越大。因为一个能力很弱的模型,即便给它再多经验,它也未必接得住;但一个足够强的模型,一旦再获得针对具体领域的 Skill,就会迅速表现出某种“最后一公里被打通”的效果。它不再只是一个通用而聪明的系统,而会开始在特定任务上显得越来越像一个熟练从业者。

除此之外,Skill 还有一个很容易被忽视、但在实际使用中非常关键的特性:它通常可以按需加载,而不是一开始就把所有知识、规则和经验一次性全部塞进模型上下文里。

这一点看似只是实现层面的细节,实际上却直接关系到 AI 系统的扩展性与效率。现实任务覆盖的领域极其广泛,不同场景所需要的知识和手法往往差异巨大。如果试图把所有可能用到的经验都预先堆进一个统一的大提示词里,那么上下文会迅速膨胀,成本会不断上升,模型的注意力也会被大量当前并不相关的信息稀释。最终的结果,往往不是更聪明,而是更臃肿、更迟钝,也更不稳定。

而 Skill 的组织方式恰恰相反。它可以被拆分成一组按需启用的能力单元:只有当任务真正涉及某个领域、某个工具、某种方法时,与之对应的 Skill 才被调入当前上下文。这样一来,模型面对的就不是一锅混杂在一起的知识大杂烩,而是与当前问题高度相关的一小块经验。这种近似“惰性加载”的特性,使得 Skill 天然更适合不断扩展:当你需要新能力时,不必推翻原有系统,只需要增加新的 Skill;而在执行具体任务时,模型也不必背着全部历史包袱前进,而是只在必要的时候取用必要的部分。

从这个角度看,Skill 的意义不仅在于“教会模型某些东西”,也在于它提供了一种更现实的能力组织方式。它让 AI 的成长不必依赖一次性塞进更多上下文,而可以像搭积木一样,围绕不同场景逐步增加新的能力模块,并在真正需要时再把它们取出来使用。这种结构,显然比一味追求更长提示词、更大上下文窗口,要更优雅,也更接近一个能够长期演化的系统形态。

我甚至觉得,未来 AI 能力的竞争,很可能会越来越少地体现在“谁的基础模型参数更多”这种单一维度上,而越来越多地体现在:谁更善于把领域经验、项目知识、组织流程和专业手法,转化为可供模型调用的 Skill。

因为通用智能再强,也终究要落地到具体世界;而具体世界的真正门槛,从来都不只是智力,也是经验。

也正因为如此,Skill 的重要性并不只属于程序员社区,或者 AI 工具爱好者。它很可能会逐渐成为一种更普遍的能力载体:在科研里,它承载专业分析套路;在工程里,它承载项目实践;在企业里,它承载业务流程和组织知识;在个人场景里,它甚至可以承载一个人长期积累下来的工作方法。

从这个角度看,Skill 之所以会越来越重要,并不是因为它是一个时髦的新名词,而是因为它正好落在了 AI 走向真实应用时最关键的那一层:如何把“聪明的大脑”真正变成“会做事的帮手”。

结语

说到底,我始终觉得,理解 AI 的一个最好方式,就是回到最开始那个“小黑屋”的想象。

一个被困在黑暗中的大脑,当然可以很聪明。它可以推理,可以联想,可以组织语言,甚至可以在很多时候给出看上去相当精彩的回答。但如果它始终被隔绝在现实之外,那么这种聪明终究是封闭的。它可以解释世界,却很难真正介入世界。

MCP 的出现,改变的是这一点。

它像是终于打开了那扇门,让模型第一次能够把手伸向外部环境,去接触文件、系统、工具、服务和数据。也正是在这一步之后,AI 才开始从“会说话的头脑”逐渐变成“能够做事情的助手”。

但门被打开,并不意味着一切问题都自动解决了。

一个刚刚走出黑屋的人,未必立刻就知道自己面对的是什么,也未必知道手里的工具该怎么用,脚下的路该怎么走。现实世界从来不是抽象而均匀的,它充满了具体场景、专业知识、隐性经验和细微门道。模型即便已经接入了这些东西,也依然需要有人把方法、套路、边界和经验整理出来,交到它手里。

而这正是 Skill 的意义。

如果说,MCP 让模型终于能够走出黑屋,那么 Skill 就像是在它出门之前,已经有人为它准备好了地图、工具说明和做事的门道。它让模型不只是“碰到现实”,而是开始学会“在现实中做事”;不只是拥有行动能力,而是逐渐拥有行动的方法感与熟练度。

所以在我看来,MCP 与 Skill 并不是两个彼此竞争的概念,而更像是 AI 走向真实世界时必然会出现的两个阶段:前者解决连接,后者沉淀经验;前者打开通路,后者赋予手法;前者让模型离开黑屋,后者让它不至于在门外继续茫然失措。

也正因为如此,我越来越相信,未来真正重要的,不只是模型会变得多聪明,更在于我们如何让这些聪明真正落到现实之中。

毕竟,一个只会在黑暗中回答问题的大脑,再惊艳,也终究只是一个被困住的大脑。

而 AI 真正的故事,或许恰恰要从它学会走出那间小黑屋,才算真正开始。