第 13 章

一纸协议

哈里斯·蔡斯在LangChain的GitHub仓库里翻到那条Issue时,屏幕上的时间是2024年9月17日下午三点四十二分。Issue编号#18427,标题是《接入Google Drive需要写210行配置代码,这正常吗?》。发帖者附上了自己的代码片段——一个为了读取Google Drive文件夹而编写的LangChain工具封装,包含了OAuth 2.0的令牌刷新逻辑、Google Drive API的查询参数构造、文件列表的JSON解析、以及一个自定义的错误重试机制。两百一十行,其中真正与业务逻辑相关的不到四十行,其余全部是连接代码。

蔡斯把这条Issue收藏了。他经历过LangChain被指责“过度抽象”的风波,那些批评在2023年底到2024年初达到了顶峰——框架的调用链太深、隐藏了太多细节、出了问题难以调试。

而这条Issue,连同前一章结尾工程师们追问的那些问题——当智能体同时拥有像素操作和协议调用两种能力时,谁来决定它应该使用哪一种?当两种能力给出冲突的结果时,谁来判断哪一个是对的?当智能体通过像素操作学会了一个软件的用法,这个知识如何被抽象、共享和复用?——都指向同一个核心困境:工具接入的碎片化与知识复用的缺失。

LangChain团队在2024年春天进行了一轮大规模重构,砍掉了大量冗余的抽象层,让用户可以直接操作底层的提示词模板和工具调用逻辑。那场风波让蔡斯学会了一件事:开发者最痛恨的不是框架的复杂度,而是框架替他们做了他们不想要的选择。

但#18427这条Issue指向的,是一个不同的、更深层的问题。用户不是在抱怨LangChain的抽象太多,而是在抱怨同样一件事:为什么接入一个工具就要写这么多代码?为什么每个工具的认证方式都不一样?为什么明明所有工具厂商都在说“支持AI”,但真正想把它们连起来的时候,开发者手里攥着的是一堆互不兼容的钥匙,每一把锁都要自己撬?

蔡斯在LangChain社区里发了一篇长文,标题是《我们解决了调用问题,但没解决连接问题》。他在文中写道,缰绳层的第一代核心是提示词,第二代核心是框架,而现在第三代正在浮出水面——它的战场,是那些把模型和外部世界连接起来的接口。

框架的价值正在从组织提示词转移到组织工具接入,而后者最大的痛点不是技术复杂度,而是缺乏统一标准。他列举了当时主流的工具接入方式:OpenAI的函数调用格式、Anthropic的工具使用API、开源的JSON Schema定义、各家自研的中间层——每一个都声称自己足够通用,但每一个都只在自己的生态里通用。

这篇文章在Hacker News上登上了首页。评论区的第一条热评来自一个署名为“datawrangler”的用户,他写道:“我花了两周时间就是为了让智能体能够读取一个SharePoint文件夹,其中大部分时间不是在写业务逻辑,而是在读三种不同版本的微软认证文档。”第二条热评来自一个叫“mlops_engineer”的用户:“我的团队在接入Salesforce API时发现,同一个工具定义在三个不同模型厂商的框架里需要写三套完全不同的封装代码。这三套代码的维护成本已经超过了智能体本身带来的价值。”

这些评论指向的是同一个事实:在智能体工具接入这个领域,碎片化的成本正在以加速的方式增长。2022年,一个开发者只需要接入OpenAI的API;2023年,他需要同时支持OpenAI和Anthropic两种函数调用格式;到2024年秋天,市场上已经有了至少六种互不兼容的工具定义方式,而每一个新加入的模型厂商都倾向于推出自己的格式。适配成本以O(n×m)的方式增长——n是模型数量,m是工具数量——而整个行业根本承受不起这种指数级的适配负担。

Anthropic的工程师团队在2024年秋天正在内部讨论同一个问题,但他们的视角不同。蔡斯是从框架开发者的角度出发,看到的是碎片化对开发者体验的伤害;Anthropic是从模型厂商的角度出发,看到的是碎片化对模型能力的限制。Claude模型在工具调用方面已经做得很好了,但每次接入一个新的工具生态,都需要模型厂商和工具厂商之间进行双边适配。

这就像每一家电器制造商都要和每一家发电厂签订单独的并网协议——电网这个概念根本不存在。

2024年11月25日,Anthropic发布了一份协议。它叫Model Context Protocol,简称MCP。新闻稿的标题用了一个精心选择的类比:这是智能体世界的“USB-C接口”。这个类比并非随口一说。USB-C的标准制定者——USB Implementers Forum——在设计USB-C时,核心目标不是制造一种更快的接口,而是制造一种可以终结所有接口的接口。在此之前,USB Type-A、Type-B、Mini USB、Micro USB各有各的领地,打印机的线插不进手机,手机的线插不进硬盘,一个用户出门需要带至少三根不同的线。USB-C的野心,是让一根线连接一切。

Anthropic在MCP的架构文档里,用几乎相同的逻辑描述了自己的野心:一个协议,让任何模型接入任何工具。这个比喻精准地戳中了行业的痛点——在过去两年里,每一家想给模型装上工具的开发者,都在重复发明同一套轮子:定义工具格式、管理连接、处理认证、解析响应。在MCP之前,一个智能体想同时读取GitHub仓库、查询Notion文档、并操作本地文件系统,意味着要在三种截然不同的API格式和三种认证协议之间搭桥,每一座桥的施工图纸都是手绘的。

MCP的GitHub仓库在2024年11月21日提交了初始代码。公开记录显示,初始提交包含了协议规范的第一版草案、一个参考实现的服务端SDK、以及一个示例MCP服务器。仓库的README文件用简洁的英文列出了协议的核心原则:开放、可扩展、传输无关。开放意味着任何人都可以阅读和实现协议规范;可扩展意味着协议允许自定义的工具类型和资源类型;传输无关意味着MCP可以在HTTP、WebSocket、stdio等多种传输层上运行,不绑定特定的通信方式。这三项原则,每一项都指向同一个目标:降低采纳门槛,加速网络效应。

11月25日仓库正式公开后,星标数在头七十二小时内画出了一条陡峭的上扬线。第一天,约两千三百颗星;第二天,累计突破五千;到周末,数字超过八千。这个速度虽然比不上AutoGPT在2023年春天的爆发式增长——MCP毕竟是一份协议规范,不是一段能自动运行的代码——但在开发者工具领域,它已经是一个相当强劲的信号。

星标用户的地理分布中,旧金山和纽约占了多数,但柏林、伦敦、东京、班加罗尔的占比也不低;机构邮箱中,除了独立开发者常见的Gmail地址,GitHub、Notion、Figma、Stripe等公司的工程师群体也在显著地参与围观。

独立开发者是最早的行动派。发布日当天,一位名叫塔莉亚·莫雷诺(Talia Moreno)的湾区开发者在社交平台上发布了她的Pinecone向量数据库MCP服务器的GitHub链接。根据她的公开帖子,将Pinecone的API封装成MCP服务器花了大约三个小时,完成后Claude可以直接查询她的向量索引。她的描述是,这就是她一直想要的那种接口,写一次集成就可以服务所有支持MCP的模型。这条帖子在二十四小时内被转发了超过四百次。转发者中,有哈里斯·蔡斯本人,他附上一句评论,意思是MCP正好回应了他几个月前那篇文章描述的问题,碎片化时代的终结或许真的开始了。莫雷诺的Pinecone服务器只是第一批中的一个。

在MCP发布后的头两周内,GitHub上出现了超过五十个独立的MCP服务器实现,覆盖了文件系统操作、数据库查询、Slack消息发送、Google Calendar管理等几乎所有常见的工具接入场景。每一个服务器的代码结构都遵循同一套模板:定义工具列表、实现工具调用处理器、在initialize握手时返回能力描述。这五十多个仓库的维护者来自不同国家、不同时区、不同公司,但他们写出来的MCP服务器在结构上几乎一模一样。这正是协议标准化的价值所在:当所有人都遵循同一套规则,适配成本从O(n×m)骤降到O(n+m)。

但并不是所有人都对这个新协议报以掌声。MCP的架构,从第一行设计文档开始,就带着强烈的政治意图。它定义了两种角色:MCP客户端和MCP服务器。服务器暴露一组标准化的工具定义——名称、描述、输入参数的JSON Schema——客户端通过标准化的传输层向服务器发起调用。

这个设计意味着,一个工具厂商只需要编写一次MCP服务器,就可以让任何实现了MCP客户端的模型接入它的工具。反之亦然。这是USB的逻辑。USB设备不需要知道它插进了哪个品牌的电脑,USB主机不需要知道它连接了哪个品牌的设备——它们在标准的握手协议层上完成身份识别和能力协商。MCP的握手协议叫“initialize”,客户端发送自己的能力和协议版本,服务器返回自己的工具清单和资源定义。握手完成即连接建立,之后的一切调用都遵循同一套JSON-RPC 2.0消息格式。

但USB的类比还有另一层含义,而这一层含义,Anthropic在新闻稿里没有明说。USB不是为了卖USB赚钱而发明的。USB是为了扩大PC生态的地盘而发明的——英特尔和微软在1990年代中期推动USB标准化的核心动机,是让PC成为一个可以连接一切外设的通用平台,从而巩固Wintel联盟对整个计算行业的控制。

USB联盟的成员资格是开放的,但标准的主导权从一开始就掌握在少数核心成员手中。USB Implementers Forum的董事会成员名单,几十年来几乎没怎么变过。MCP的设计者对这段历史心知肚明。MCP的第一版协议规范里,定义了一个名叫“工具市场”的概念——一个集中式的服务器注册中心,开发者可以在上面发布MCP服务器,模型厂商可以从中发现和调用可用工具。这个工具市场,在MCP的架构图上,被画成了一张星型拓扑的中心节点:所有服务器向它注册,所有客户端向它查询。Anthropic的工程师在公开解释这个设计时,给出的理由是降低发现成本。但这个理由只说对了一半。另一半是:谁掌握了注册中心,谁就掌握了生态的门票。

在MCP发布后的第三天,一家竞争模型厂的工程师在内部Slack频道里展开了讨论。讨论的主题是:MCP是不是Anthropic的特洛伊木马?

这家模型厂——根据公开材料可以确认是Google——在2024年夏天已经发布了自己的工具接入框架,叫Gemini Tool API,它定义了一套与MCP在功能上高度重叠的工具描述格式和调用协议。区别在于,Gemini Tool API从一开始就只服务于Google自己的模型生态:它的工具定义格式深度绑定Gemini的API结构,认证机制依赖Google Cloud的IAM体系,传输层假设了一个Google管理的中间代理。这套设计让Gemini的开发者体验在Google生态内部极其流畅,但一旦离开Google的围墙,它就变成了一个无法与外界互操作的孤岛格式。MCP的发布把Google放到了一个尴尬的位置。如果Google认可MCP,那么它之前为Gemini Tool API投入的所有工程资源——工具定义格式设计、认证体系搭建、文档撰写——都将面临贬值风险。

更重要的是,认可MCP意味着把一部分接口定义权交给了Anthropic主导的协议。Google可以参与MCP的后续版本讨论,但MCP的核心设计决策,至少在最初阶段,是由Anthropic的工程师团队独立完成的。在Google内部,这被一些工程师视为把生态的钥匙交到了竞争对手手里。

但如果Google拒绝MCP,它面临的风险同样不小。MCP的网络效应正在快速积累——每一个新出现的MCP服务器,都意味着一个工具厂商选择了这条标准。如果Google的模型无法接入这些MCP服务器,那么使用Gemini的开发者将无法享受MCP生态带来的跨模型复用便利。在智能体工具接入领域,网络效应是一个极其强大的力量:开发者倾向于选择工具生态更丰富的模型,工具厂商倾向于选择开发者更多的协议,而这两者之间的正反馈循环一旦启动,就很难被单家厂商的意志逆转。OpenAI的选择更早浮出水面。

OpenAI的函数调用格式,从2023年6月发布以来,一直是行业里的事实标准——至少在使用OpenAI模型的开发者社群里是这样。到2024年秋天,OpenAI的工具调用API已经经历了三个大版本的迭代,每一个版本都在丰富工具定义的能力:从最初的简单名称和参数描述,到支持嵌套对象Schema,再到引入工具选择的策略配置。OpenAI的工具调用生态,在当时拥有最多的已集成工具、最完善的文档、以及最庞大的开发者基础。OpenAI在MCP发布后的公开回应,是一份措辞谨慎的博客文章。文章开头对MCP的开放精神表示赞赏,中间部分详细介绍了OpenAI在工具调用方面已有的成就和未来规划,结尾部分提到,OpenAI正在评估MCP与现有工具调用体系之间的互操作性。

这篇文章发表后,行业观察者迅速解读出其中的潜台词:OpenAI不会在短期内全盘采纳MCP,但它也留出了互操作性的空间——这意味着,可能会有第三方工具或中间层出现,充当MCP和OpenAI函数调用格式之间的转换器。

这种转换器确实出现了。一个名叫“mcp-openai-bridge”的开源项目在GitHub上获得了相当可观的关注——它把MCP服务器的工具定义自动翻译成OpenAI函数调用格式,让OpenAI的模型可以间接调用MCP生态里的工具。这个项目的维护者是一个来自西雅图的独立开发者,他在README文件中写道,这个桥接层不应该存在,但既然两家都不愿意完全兼容对方,那就自己动手。这句话在几周内被复制粘贴到了无数个技术讨论帖里。

桥接层的出现,是标准战争正在发生的明确信号。在技术史上,桥接层从来不是最优解——它增加了延迟、引入了故障点、需要额外的维护成本——但它往往是标准分裂时期的临时答案。

1990年代,当USB和FireWire在高速外设接口市场展开竞争时,出现了同时支持两种接口的桥接芯片;当HTTP和自定义RPC协议在Web服务领域争夺主导权时,出现了把RPC调用封装成HTTP请求的网关层。桥接层的繁荣,说明标准战争尚未结束,但它的存在本身,至少证明了其中一方已经积累了足够多的生态参与者,以至于另一方不能完全忽视它的存在。

而最大的垂直整合玩家选择了另一条路。OpenAI在2024年秋天正在构建一个完整的智能体产品矩阵,工具接入是这个矩阵的核心基础设施。OpenAI的GPTs平台——一个允许用户创建自定义智能体并接入特定工具的服务——已经在2023年底上线,并在2024年持续迭代。GPTs的工具接入,使用的是一套与OpenAI函数调用格式深度绑定的机制,这套机制在设计上做了很多优化,使得GPTs创作者可以非常方便地为自己的智能体添加工具能力。

但这份便利是有代价的:GPTs的工具只在GPTs平台上有效,它们无法被其他模型调用,也无法接入其他模型的工具生态。这是典型的花园墙模式。

乔布斯在2007年推出iPhone时,定义了智能手机的两种软件分发模式:一种是苹果的App Store,所有应用必须经过苹果审核,使用苹果的API,遵守苹果的规则;另一种是浏览器,任何人都可以访问,无需审核,无需许可。苹果选择了前者,因为前者让苹果掌握了定义权——什么样的应用可以进入iPhone,什么样的商业模式可以被允许,最终的解释权都在苹果手里。

到2024年,OpenAI在GPTs上的策略,与苹果在App Store上的策略,在结构上惊人地相似:一个精心管理的、与自家模型深度绑定的工具生态,开发者可以在围墙上搭建自己的花园,但围墙的位置和高度,由平台说了算。OpenAI拒绝了MCP的开放生态逻辑,选择了自己的围墙。这个选择在2024年底的行业讨论中被反复辩论。

支持者认为,封闭生态可以保证质量和安全性——在GPTs平台上,每一个工具接入都经过了审核。

反对者则认为,封闭生态最终会限制创新——当工具开发者发现自己写的工具只能在OpenAI的生态里使用,而不能跨模型复用时,他们为工具接入投入的工程资源将面临更高的风险;当生态内出现一个更好的模型时,这些工具开发者将面临痛苦的迁移成本。

这场辩论在2024年底没有结论。但MCP的发布,至少让辩论双方都看清了战场的地形:一边是开放协议,承诺多模型互操作,代价是放弃对生态的绝对控制;另一边是垂直整合,承诺在围墙内提供最优体验,代价是锁死在一个模型供应商的轨道上。

这两种路径的竞争,在智能体缰绳层的历史上,不是新问题。它只是平台经济学在AI时代的最新一次上演。

MCP的协议规范在2024年12月更新到了第二个小版本。这个版本引入了一个重要的扩展:工具市场注册API。

这个API定义了一套标准化的服务器注册和发现流程,允许MCP服务器在启动时自动向一个指定的注册中心宣告自己的存在,并定期更新自己的状态和能力描述。注册中心维护一个可查询的工具目录,客户端可以通过这个目录发现所有可用的MCP服务器,并获取它们的连接信息。

这个API的设计,在MCP社区的内部讨论中引发了激烈争论。一些人认为,注册中心让MCP从一个纯粹的协议变成了一个平台——而平台意味着中心化,中心化意味着权力集中。

另一个阵营的人则认为,注册中心是必要的——如果没有统一的发现机制,MCP的工具生态将陷入有协议无目录的尴尬,开发者需要自己四处寻找可用的MCP服务器,这和早期互联网没有搜索引擎一样,协议本身的价值无法被充分释放。

这场争论本质上是关于MCP治理模式的争论。谁控制注册中心?注册中心的运营成本由谁承担?注册中心的目录排序规则是什么——纯字母序,还是按流行度,还是按某种质量评分?

这些问题在MCP的第一个版本里都没有回答,因为那时注册中心还只是一个概念;但到了第二个版本,注册中心开始有了具体的代码实现,这些问题就变得急迫起来。

Anthropic在2025年1月发布了一份MCP治理草案,试图回应这些关切。草案提出了一个三层治理结构:核心协议规范由Anthropic维护,但接受社区的RFC提案;注册中心由Anthropic托管,但允许第三方运营自己的注册中心;工具市场的排序规则由社区通过公开讨论决定,Anthropic只保留最终的技术仲裁权。

这份草案的语气是开放和协商式的,但它的底层逻辑很清晰:Anthropic不会放弃MCP的核心控制权——至少不会在协议还处于高速增长期的阶段。

对于独立开发者和开源社区来说,这个治理结构是可以接受的。他们需要的不是对协议的绝对控制,而是协议的稳定性和可预测性。

只要Anthropic不把MCP变成封闭的花园,只要第三方注册中心可以合法存在,独立开发者就有足够的自由度来维护自己的工具和服务。

但对于竞争模型厂商来说,这个治理结构就没那么有吸引力了。只要核心协议规范掌握在Anthropic手里,MCP的未来发展方向就始终带着Anthropic的战略印记——即使Anthropic承诺接受社区提案,它对哪些提案被采纳、哪些被搁置,仍然拥有最终的决定权。

2025年春天,MCP的GitHub仓库星标数突破了五万。这个数字本身不能说明太多问题——星标数不等于采纳率,采纳率不等于生态粘性——但它至少说明,有一大批开发者正在密切关注这场协议战争。

MCP的官方文档网站在2025年3月进行了大规模改版,增加了交互式教程、服务器开发的快速入门指南、以及一个实时的工具市场目录页面。这个目录页面列出了当时已经注册的MCP服务器,按类别分组:文件系统、数据库、通信、生产力、开发工具、云服务。

每个类别下面,都有几十个到上百个不等的服务器条目,每个条目都标明了服务器名称、提供者、工具数量、以及最后一次更新的时间。这份目录在2025年春天成为了一份事实上的缰绳层地图。它记录了哪些工具已经被标准化接入,哪些领域仍然空白,哪些服务商已经拥抱了MCP,哪些还在观望。

浏览这份目录,可以清晰地看到,最先被MCP覆盖的,是那些开发者工具和云服务——GitHub、GitLab、Slack、Notion、Figma、Stripe、Supabase、Vercel,这些名字出现在目录的首页上,每一个都意味着一个曾经需要手写数百行集成代码的工具,现在变成了一个可以在几分钟内完成配置的标准化接入。这些工具的MCP服务器,部分是官方维护的,部分是社区贡献的——Stripe的MCP服务器由Stripe的开发者关系团队发布,而Notion的MCP服务器则是由一个社区贡献者维护的,Notion官方在2025年初还没有正式支持MCP。

这种官方与社区混合的维护状态,本身就是标准战争中的一个重要信号。当一个工具厂商选择官方支持MCP,它投入的不仅是工程资源,也是一种战略表态——它把自己的工具生态的未来,部分地押注在了MCP这条轨道上。而当一个工具厂商还没有官方支持MCP,但社区已经自发地为它构建了MCP服务器,这个服务器就成了一个隐形的压力:官方要么接受它,要么宣布不支持它,而沉默本身就是一种态度。

到2025年中,MCP引发的阵营分化已经清晰可辨。接纳者阵营里,站着独立开发者、开源项目、中型工具厂商,以及那些没有自有模型、希望降低工具接入成本的平台。他们在MCP中看到的是一个机会:一个写一次工具集成就能服务所有模型的机会,一个从碎片化适配中解放出来的机会。这个阵营的行动速度最快,因为他们没有既有利益需要保护——他们只有待解决的问题。

疑欧派阵营里,站着那些已经在自有工具接入格式上投入了巨大工程的模型厂商。

他们认可MCP的技术设计,但不愿把定义权交给Anthropic主导的协议。他们中的一些选择了部分兼容——在自有格式之外提供MCP适配层;另一些选择了观望——等待MCP的网络效应足够强大,或者等待MCP出现一个足够中立的治理机构。这个阵营的动作最慢,因为他们的每一个决策,都需要在短期工程成本和长期生态权力之间做精确的权衡。

主权派阵营里,站着最大的垂直整合玩家。他们拒绝MCP,不是因为技术上的优劣——事实上,MCP的技术设计在很多方面与他们的自有方案高度相似——而是因为协议的本质不符合他们的商业模式。一个垂直整合的智能体平台,利润来自于对生态的完整控制:控制工具的定义方式、控制工具的接入流程、控制工具与模型之间的数据流动。把这部分控制权让渡给一个外部协议,等于放弃了自己围墙的一部分,而这个口子一旦打开,就很难再关上。三大阵营的边界在2025年并非固定不变。

个别工具厂商在阵营之间移动——有些从疑欧转向接纳,因为发现MCP的开发者生态已经大到无法忽视;有些从接纳转向主权,因为被大模型厂商收购后,工具接入的策略服从了母公司的围墙逻辑。这种移动本身,就是标准战争的特征:在标准确立之前,没有一个阵营是真正稳固的,每一个参与者都在根据网络效应的变化调整自己的站位。

这场战争的核心战场,不在会议室,在GitHub的星标数、官方文档的易用性、以及谁先攒出足够多的预制工具服务器。MCP的设计者对这一点心知肚明。USB不是在标准委员会的会议室里赢的——它是在戴尔和康柏的PC主板上,在微软Windows 98的即插即用驱动库里,在那些插上就能用的鼠标和键盘上,一点一点赢下来的。蓝牙联盟的会员费不是目的,而是筛选同盟的手段——那些愿意付费加入联盟的厂商,已经用行动证明了自己对这套标准的承诺。

MCP的治理草案里,同样设计了会员制层次:免费层允许任何开发者实现和部署MCP服务器,付费层提供优先的注册中心索引和认证徽章,企业层则允许厂商参与协议规范的修订投票。

这个设计在技术社区引发了褒贬不一的反应。批评者指出,它把开放标准变成了付费才能参与治理的俱乐部;支持者则认为,没有可持续的治理模式,开放标准最终会沦为无人维护的废墟。

两种说法都有道理,但真正重要的不是道理本身,而是这个设计透露出的信号:MCP的制定者,正在试图把一份技术协议,变成一个制度化的生态治理结构。他们试图在完全开放但无中心和完全封闭但有效率之间,找到一条中间道路。

这条道路如果走通了,MCP将成为智能体时代的第一个真正意义上的生态系统协议;如果走不通,它将只是标准战争史上又一个雄心勃勃但最终被遗忘的提案。哈里斯·蔡斯在2025年春天的一个播客节目里,被问到他对MCP阵营分化的看法。

他的回答,带着经历过框架战争的人特有的务实和审慎:协议战争从来不靠技术优劣决出胜负。USB的速度不如FireWire,但FireWire死了。HTTP的设计不如Corba严谨,但Corba早已被遗忘。决定胜负的,是网络效应——谁先攒到足够多的采纳者,谁就赢。

而网络效应的第一个门槛,是让开发者觉得,学这个协议比不学更划算。他停顿了一下,补充道,MCP正在跨过这个门槛。

但跨过门槛之后,前面还有更大的问题——谁会跟着进来,谁会在门口止步,谁会在对面的墙上开一扇新的门。

MCP引发的阵营分化与标准战争,在2025年夏天仍在发酵。这场战争的结果,最终不取决于协议文本写得多漂亮,而取决于网络效应能否在关键的时间窗口内越过临界点——当足够多的工具厂商和模型厂商发现,不采纳MCP的代价超过了采纳它的代价,标准就会以一种近乎不可逆的方式确立下来。而在这个临界点到来之前,每一方都在用自己的行动投票,用每一行代码、每一份文档、每一次公开声明,在缰绳层的历史上刻下自己的选择。协议从来只是一纸文本,但一纸文本上的每一条款,都在定义谁有权使用什么样的工具,谁在什么样的规则下接入世界。