MCP的本质是为了让模型“看得见世界,动得了手脚”。
之前假期我们用MCP做了聚会规划,我觉得体验还蛮不错的,我去和大魔、相柳聊对MCP的看法;洋洋洒洒的说了一堆之后,大魔问我:什么是MCP?有什么用,说点小白能听懂的。
后边也有几个小伙伴问我类似的问题,并且有的上手用了之后也会很困惑,这个MCP到底有点啥用,这些功能看起来不用MCP也能搞定呀。
因此写了这篇文章,希望跟大家聊聊MCP是怎么发展出来的、MCP目前有哪些好的应用场景、MCP未来会是什么样子的。

要了解MCP的发展,我们需要先回到22年ChatGPT诞生的时候。
最早期的ChatGPT是一个单纯只能聊天的AI,它没有今天的联网、画图、画布等诸多功能。
但模型训练是有语料限制的,在用的时候我们会发现,当前的一些信息ChatGPT是不具备的,它只会回答训练语料内的内容,要么就是开始瞎编乱造了。
人们开开纷纷想办法解决这个问题,当时有许多谷歌浏览器插件解决ChatGPT的搜索问题,它会把你发给ChatGPT的话先拿过来搜索一次,然后把一堆预料给到ChatGPT,再让它来回答问题。
就是大力扔数据的模式,只不过是借助插件来实现的。
训练增加预料约束幻觉、搜索增加信息、RAG填充信息,其实人们做的都不过是一件事情:让模型看得见世界,了解更多的知识。
但模型有了更多的知识,我们让它把一份内容生成一个Excel表,它依旧是做不到的,因为它并不具备调用工具的能力,它只能做纯文本上的输出。
于是大家开始开发各种的插件来让模型具备一定的工具调用能力,让它能够去查天气、查网页、分析数据、画图。
给模型更多的工具使用能力,让它能够动的了手脚。
在23年6月份的时候ChatGPT发布了一个协议模型调用工具的协议叫Function Call,第一个基准出现了。
Function Call ≈ “让模型以结构化方式使用你的 API”的协议层。
以一个搜索的Function Call为例,它其实就是通过模型唤起搜索函数,然后告诉API我要搜索什么。
代码块 { "name": "search_web", "arguments": { "query": "MCP 是什么" } }
虽然各家大模型都陆续支持了 Function Call 机制,但它在落地过程中有几个明显的问题:
厂商之间机制不统一, 接入成本高:大家虽然都用的是function call的机制,但是字段名称、参数结构、返回格式也都有各自的区别,要做多个模型兼容适配的时候麻烦的要死,成本高很多。
各个工具也缺乏统一的调用基准:大家各自API接口开发的内容嘛,只能说五花八门,基本上就是定制开发,没啥复用性,每个工具跟每个模型都得单独开发一次。
不仅仅是Function Call大家没统一,连调用模型时候的Token统计各家大模型都不一致,有的数据全都给你,有的需要你做二次开发,有的压根没有需要你自己统计,有的还得兼容虚拟缓存,算个token消耗简直累死个人。
24年AI编程随着Claude3.5 sonnet的出现迈入了一个新的台阶,Cursor代表的AI编程工具开始走进大众的视野,当普通人能够借助AI开始编写程序时,行业对于模型和外界交互的诉求也到了临界点。
无非是谁先来推出这个基准。
为了更好的阅读体验,来飞书看吧:
https://t16jzwqrzjx.feishu.cn/docx/KunhdNGojoVBbmx5L88ckyWCnpg
Comments on "看完这篇,你也能跟小学生讲明白什么是MCP丨大白话技术科普" :