MCP:Web 2.0 的复兴之路

过去几个月,许多技术爱好者都对 Model Context Protocol (MCP) 感到兴奋。 这是由 Anthropic (Claude 的开发者) 去年设计的一个规范,旨在让他们的 LLM 知道如何向各种应用请求信息或与不同的系统交互。 几个月前,OpenAI 决定在 ChatGPT 中支持相同的协议,就这样!现在它已成为一个被广泛采用的标准,甚至出现在 20 世纪末的官方操作系统 Windows 中。

MCP 迅速普及,其有趣之处并不在于规范本身。 老实说,这个规范…有点平庸。 相比过去,那些规范由学究式的 Unix 老家伙编写,他们永远不会感到满足,他们会用 plain text 潦草地写下规范,时不时用 ALL CAPS 大喊大叫我们应该和必须做什么。 MCP 几乎只是一组模糊的想法,一个规范的幻觉,符合当前时代的特点——甚至连宪法都只是一种建议。 可以说是一个 ~~ vibe protocol ~~。 但 MCP 有效! 并且它是开放的——这才是最重要的。

真正的开放 Web

在现实世界中,在真正的 Web 上,略微欠缺具体说明但能被所有参与者快速采用的协议才能胜出; 这就是我们如何获得“无论你在哪里获得你的播客”的那些美丽而激进的魔法。 这就是为什么 MCP 的快速采用代表了 Web 2.0 精神的某种复兴。 也许我们可以称之为 Web 2.0 2.0。

重要的是要理解,目前对 "Web 2.0" 的使用通常是错误的; 人们经常用 Web 2.0 这个词来描述像 Facebook 这样的东西。 这是不正确的——像 Facebook 这样封闭、专有、对用户不友好的网站扼杀了 Web 2.0。 Web 2.0 社区是由一群人构建大量不同的网站组成,这些网站旨在拥有开放的 API,让开发者(甚至用户!)能够以有趣、意想不到、有用甚至怪异的方式探索、连接人和数据。 那个时代的标准制定者是像 Flickr、Del.icio.us 和 Upcoming 这样的网站,它们率先推出了标签和社交分享等功能。(通过与构建像 LiveJournal 和 Movable Type 这样的平台团队合作,我亲身参与了围绕 API 和协议的大量开放标准工作,这些平台帮助发明了很多东西。)

Web 2.0 社区的共同价值观是,你围绕开放数据和开放协议构建你的工具、技术和平台,期望用户能够掌控一切,并且开发者将拥有一致的、可互操作的工具来与这些系统进行交互。 在实践层面,这意味着我花了无数个小时参加会议或参与电子邮件对话,与表面上是我的竞争对手的人一起工作,研究如何确保我的团队构建的产品以与我们的竞争对手相同的方式工作,以便开发者在尝试编写代码来控制它们时能够顺利进行。 我们都在不断编写规范、文档和示例代码来描述它是如何工作的,然后写大量的博客文章来争论它应该如何工作。

重拾开放

自开发者使用的不同应用程序和平台之间存在互操作性的期望以来,已经过去整整一代人了。 虽然我们曾经充满希望,但现在掌权的大型 VC 和科技行业领导者合谋扼杀了那个开放的时代。 举例来说,多年前,我曾帮助构建一个工具,可以让你分析你在社交网络上的活动,而大型社交网络平台负责人(其中一些人与今天在大型 AI 公司运营平台的人是同一批人!)决定关闭我们的产品以及我们的用户所依赖的 API。 这扼杀了我们的服务和我们的公司。 Facebook 和 Twitter 等公司扼杀了 Web 2.0 的开放数据和可互操作技术之梦,这影响了很多人,用户也因此遭受损失。 各种愚蠢的情况变得司空见惯,比如无法在 Twitter 时间线上看到嵌入的 Instagram 照片,更不用说做一些像 fediverse 或 Bluesky 上的用户认为理所当然的强大事情,比如能够导入或导出你的粉丝,或者能够用任何你想要的应用程序控制你的网络。

MCP 的兴起,让人充满希望,即 AI 在程序员中的普及可能会撬开所有这些其他平台,使它们可以为任何目的进行编程,而不仅仅是为了让 LLM 能够控制它们。

其他平台采用 Anthropic 为其系统制定的相同规范,这很酷。 如果一个技术平台以忠实的方式选择成为第二个采用该协议的平台,那是一种慷慨的精神。 诱惑在于 embrace and extend (最终,extinguish) 你所复制协议的平台。 但是,如果你以真诚的态度说 "我们将通过简单地使用与其他公司相同的接口,来让每个人都更容易,希望使整个生态系统更好地工作"。 那么,奇迹就可能发生。

仅仅支持标准的东西,这种挑战比看起来更难。 不久前,当我们为流行的 AI 平台推出 一个语义缓存产品 时,说服我们超级天才开发者做的一件最困难的事情就是……使用常规的 ChatGPT API。 "但是我们可以让它_更好_!" 他们会说。 开发者总是这么说。 但更好就是_更糟_。 任何不同的东西都更糟。 停止变得更聪明和更聪明,停止清理那个充斥着不一致的糟糕规范,只需发布与其他人相同的垃圾就行了。 你知道什么是缺少各种东西的垃圾规范吗? HTML! 然而,我们现在就在精彩的万维网上。 整个互联网都建立在一堆糟糕的规范之上。Jon Postel 在我们所有人身上微笑。

要求一致性

现在,新一代的开发者已经体验到所有他们喜欢的工具和平台使用相同协议和格式所带来的创造力和可能性的奇妙爆发,他们将会对此着迷。 这也是我感觉有点像 我们又回到了 2004 年 的原因之一,而且大部分情况下都是好事。

我很幸运能够在社交网络的早期以及 Web 2.0 兴起期间体验到这一点,从 RSS 和播客的崛起,到 OpenID 和 OAuth 等开放格式,以及创建 OpenSocial 的尝试,这些尝试多年后在 fediverse 和 ActivityPub 中结出了果实。 还有无数其他不太成功的努力,或者更平淡无奇的努力,或者只对像安抚 Google 这样的事情有意义,但其中一些……确实将权力交到了人们手中。 一旦你见过它发生,你就会有点着迷。 你意识到技术和互联网实际上并不意味着仅仅是少数大型公司和少数堕落的亿万富翁大亨的玩物。

开发者、程序员、技术人员,甚至普通用户——我们拥有力量。 我们可以要求我们使用的平台让我们能够使用代码来控制我们的体验。 我们应该更进一步,推动这些平台在使用像 MCP 这样的开放标准访问它们时所做的事情的透明度。 尽管 Model Context Protocol 非常灵活,但当涉及到平台如何处理你的数据,或者当你通过 MCP 互动时可能发生什么动作时,它仍然是一个完全不透明的系统。 安全风险非常高,该协议所做的只是在这些问题上挥挥手,建议实施者应该系好安全带,因为车辆稍后可能会爆炸。 如果历史有任何指示意义,那么在出现一些非常恶劣的违规行为并引起大量负面新闻之前,这些问题不会得到解决。

或许能够繁荣

我并不是一个对 Web 2.0 风格的开放回归抱有完全乐观态度的人。 MCP 并不是一个能够解决开发者生态系统中所有问题的灵丹妙药。 它当然也不能解决扭曲围绕 AI 对话的所有废话和炒作,或者提供目前在文化讨论中严重缺乏的 对 AI 的更好批评

不过,年轻的开发者,以及那些没有经历过一代人之前那段重建时期的人,有可能受到 MCP 的启发,推动 Web 回归其_自然_架构。 它从来就不是专有的。 它从来就不意味着由少数几家大型公司中的少数几个人控制。 它一直意味着可以通过每个人匆忙采用的蹩脚规范进行编程,仅仅是为了能够愉快地进行破解。 早在 Web 拥有任何版本号之前,情况就是如此。