第 12 章
像素与协议
澳大利亚气候变迁与能源部长克里斯·鲍文在2024年9月18日向媒体展示的那份成本估算文件,标题平淡无奇——《小型模块化核反应堆替代燃煤电厂成本分析》。文件的结论是一个数字:3780亿澳元。这个数字的背后是一整套假设的推演:假设技术路线确定、假设供应链成熟、假设监管框架清晰、假设建设周期可控。
在由无数异构组件构成的复杂系统中,为一个尚未标准化的技术路径计算整体成本,本质上是在为一个模糊的对象寻找精确的边界。鲍文的报告试图回答的问题,在物理世界里尚待解决。
而在数字世界里,同一个问题正以另一种形式被重新提出。2024年秋天,一个名为“计算机使用”的新范式进入了智能体叙事。它的思路大胆而直接:不再通过应用程序编程接口调用软件功能,而是让大型语言模型直接接收屏幕像素、控制鼠标指针移动与键盘敲击,像人类用户一样操作图形用户界面。这一思路的承诺是一种终极解放——如果智能体能像人一样使用任何软件,它便彻底摆脱了对软件提供商是否开放API的依赖。
理论上,它将穿透一切封闭生态与私有协议,将整个数字世界变为可操作平面。这个承诺建立在两个假设之上。其一,智能体能够稳定地从像素流中识别出可操作的界面元素。其二,每一步操作都能获得明确无误的成功或失败反馈。
这正是地面真值定律的冷酷拷问:当智能体的行动可被清晰验证时,行动与反馈之间的循环构成强化;当验证信号模糊、延迟或缺失时,循环便沦为随机漂移。
2024年10月,Anthropic公司公开演示了Claude模型的计算机使用能力。在一段经剪辑的演示视频中,Claude打开了电子表格软件,在指定单元格中填入数据,随后切换到日历应用,创建了一个新的会议事件,最后甚至完成了一个简单的浏览器游戏操作。在视频的某一帧,模型生成的光标平稳地滑向一个按钮UI元素,悬停,点击。动作流畅自然,仿佛一个熟练的人类用户。
但演示与真实世界之间存在一道裂缝,这道裂缝在2024年的智能体叙事中已经反复出现。
演示所选取的环境——界面元素清晰、布局规整、任务目标明确——是计算机使用能力的理想化试验场。在真实的工作场景中,软件界面远比演示复杂:多层嵌套的菜单、动态加载的内容、风格迥异的图标设计、意料之外的弹窗广告、突如其来的系统通知。这些变量中的任何一个,都足以让依赖像素定位的智能体陷入混乱。
多家浏览器自动化初创公司几乎在同一时期推出了产品。这些产品以网页为操作平面,用视觉识别替代结构化接口调用。Adept AI在2023年就展示了其ACT-1模型,能够浏览网页、填写表单、搜索信息。
到了2024年,更多团队加入了这场竞赛:有的公司聚焦于电商购物场景,让智能体自动比价和下单;有的瞄准了企业后台系统的自动化,试图让智能体在多个内部系统之间完成数据搬运;还有的将目标锁定在社交媒体运营,让智能体自动发布内容和管理评论。
这些产品共享同一个技术骨架:截取网页截图,将像素信息送入视觉语言模型,由模型识别出页面结构和可交互元素,生成操作指令——点击坐标、输入文本、选择下拉菜单项——然后执行并等待反馈。骨架听上去合理。但肉身的脆弱在每一个环节都暴露无遗。
首先是视觉识别的不稳定性。同一个按钮,在不同浏览器中可能有不同的渲染效果;同一个页面,在夜间模式下颜色反转,可能让模型无法识别关键元素;同一段文字,在不同分辨率的屏幕上可能被截断,导致模型漏读重要信息。加州大学伯克利分校的研究人员在2024年的一项研究中测试了多款视觉语言模型在网页截图上的识别能力,发现当页面元素密度增加时,模型对可交互组件的识别准确率从超过90%急剧下降到不足60%。
其次是界面变化的脆弱性。软件更新是数字世界的常态。一个按钮位置的微调、一个菜单结构的重组、一个CSS样式的修改,都可能破坏智能体已建立的定位逻辑。
一家在2024年夏天试用了某款浏览器自动化产品的电商公司报告了一个典型案例:他们的采购系统在周五进行了例行更新,移动了确认下单按钮的位置,周一时智能体在旧坐标上反复点击空白区域,直到超时机制触发,而它无法理解自己为何失败。这是地面真值缺失的经典症状。
在编程场景中,智能体的行动有编译器作为仲裁者:代码能否运行、测试是红是绿,反馈明确且即时。在终端的命令行操作中,退出码、标准输出和错误流构成了另一套同样精确的验证体系。但在图形界面操作中,这类反馈信号极为稀缺。一个点击操作是否成功,只能通过后续屏幕画面的变化来推断——而画面变化本身就需要被正确识别,这就构成了一个脆弱的验证循环:用不稳定的视觉识别来验证不稳定的操作结果。
更为深层的问题在于目标状态的模糊性。在编程场景中,任务的成功标准是明确的:代码通过了测试、实现了指定功能。但在许多图形界面操作场景中,成功标准本身就不清晰。
一个智能体被要求在网页上查找并整理关于某主题的信息,它浏览了若干页面,提取了部分内容,但如何判断整理结果的完整性和准确性?在没有结构化反馈的情况下,答案只能是:无法判断,或者只能依赖另一个模型来评估,将问题推迟到下一层的不确定性中。
一位曾在2024年深度使用浏览器智能体产品的工程师,在个人博客中记录了他的体验。他试图让智能体完成一项看似简单的任务:在三个不同的旅行预订网站上找到同一天从旧金山到纽约的最便宜机票,并将结果汇总到一张电子表格中。智能体成功打开了第一个网站,输入了出发地和目的地,选择了日期,但随后遭遇了网站弹出的促销窗口。它无法识别这个弹窗的性质,尝试点击关闭按钮失败,转而点击了弹窗中的链接,最终进入了另一个促销页面。在20分钟的反复尝试后,任务以超时告终。这位工程师在博客中写道,智能体面对的并非一个稳定任务,而是一个不断变化的迷宫,而它对迷宫的形状一无所知。像素操作的许诺是通用性——它试图穿透一切封闭系统。
但它的脆弱也恰恰来自通用性:因为不做任何假设,它必须处理所有可能性;因为不依赖结构化接口,它无法获得结构化反馈。
计算机使用范式是在用最复杂的方式来解决一个原本可以通过更简单方式解决的问题——如果软件愿意开放API的话。这正是2024年秋天缰绳层面临的核心分叉。岔路的一端是像素操作和浏览器自动化,代表着绕过所有协议、直接模拟人类操作行为的路径。岔路的另一端,是让协议本身变得更加标准化、更加易用、更加普及——不再绕过接口,而是为接口构建一个前所未有的通用标准。
两条路径并存于同一家公司。2024年11月25日,Anthropic发布了Model Context Protocol,即MCP。在官方博客中,MCP被描述为一个开放协议,用于在AI模型和外部工具之间建立标准化的上下文传递通道。新闻稿中使用了一个精心选择的类比:MCP之于智能体工具调用,就像USB-C之于设备连接。这个类比承载着明确的野心。
USB-C的意义不在于它比其他接口更快或更强大,而在于它终结了接口的碎片化:在此之前,每种设备都有自己的连接标准,用户需要携带一堆不同的线缆和适配器。USB-C用一个统一的规格替代了这片混乱,让任何设备都能通过同一个接口连接。
MCP试图在智能体与工具之间做同样的事。在MCP发布之前,工具调用的技术生态是碎片化的:OpenAI的函数调用有自己的格式,Anthropic的工具使用有自己的规范,LangChain和LlamaIndex各自定义了一套抽象,每家SaaS公司在提供AI插件时都在设计自己的接口。开发者如果想让智能体调用多个来源的工具,就需要维护一套复杂的适配层,将不同格式的输入输出对齐。
MCP提供了一个统一的解决方案:一个标准化的JSON-RPC协议,定义了工具如何被发现、如何被描述、如何被调用、如何返回结果。任何支持MCP的工具,都可以被任何支持MCP的模型调用,无需为每个组合单独编写适配代码。
在发布当天,多家公司宣布了MCP的接入计划。向量数据库公司Pinecone和Weaviate宣布将为MCP提供服务端支持。开发者工具公司Replit和Sourcegraph将MCP集成到各自的平台中。文件管理工具、API网关、数据查询引擎的提供商纷纷在社交媒体上发布了接入声明。
这构成了一个意味深长的画面。就在同一家公司内部,一个团队在推进计算机使用——试图让模型不再依赖API,通过像素和鼠标操作穿透一切软件界面;另一个团队在推进MCP——试图让API变得更加标准化,降低工具接入的摩擦。
两条路径在技术上几乎背道而驰,却在战略上共享同一个目标:扩展智能体能够操作的数字疆域。将这两条路径放在一起观察,缰绳层在这一阶段的分叉暴露得更加清晰。
计算机使用范式的激进之处在于,它承认了一个现实:这个世界上绝大多数的软件,并不会在短期内为AI智能体开放API,或者即使开放了API,其设计也未必适合智能体调用。
政务系统、企业内部软件、老旧的信息管理系统——这些构成了数字世界的基础设施,而它们中的绝大多数没有现代API,也不可能在短期内被改造。计算机使用范式的回答是:不要等待软件被改造,先改造智能体,让它适应软件的原生界面。
MCP的务实之处在于,它承认了另一个现实:对于那些愿意开放API的软件,碎片化的接口标准正在阻碍智能体生态的发展。每一个新工具接入都需要新的适配工作,每一种模型调用工具的方式都略有不同,开发者的时间被大量消耗在对接而非创新上。MCP的回答是:用协议标准化来消除摩擦,让愿意开放的工具能够被任何模型调用。
两条路径并不互斥,它们共同构成缰绳层在2024年秋天对工具接入这一问题的双重回应。但它们的张力是真实的,而且这种张力不只是技术路线的选择,更触及了缰绳层的一个根本问题:智能体与软件世界的关系,应该建立在什么基础之上?如果选择像素操作路径,智能体与软件的关系建立在模拟人类行为之上。
它的优势是通用的覆盖率——不需要向软件争取任何权限,只要软件有图形界面,理论上就能操作。但它的代价是失去了结构化的反馈循环,每一步操作都建立在视觉识别这一不可靠的地基上。
如果选择协议标准化路径,智能体与软件的关系建立在显式的约定之上。它的优势是结构化的通信——工具提供了明确的接口描述,参数类型清晰,返回值格式固定,每一步操作都有明确的成功或失败信号。但它的代价是依赖软件提供商的配合:如果一个软件不开通API,或者API设计不合理,标准化本身无法解决这个问题。
在2024年秋天,这两条路径各自在市场中寻找自己的立足点。浏览器自动化智能体在高度重复、界面相对稳定的场景中找到了初步的应用。例如,在数据录入和表单填写任务中,如果操作环境是标准化的企业软件,界面变化频率低,流程固定,智能体的表现就相对稳定。
一家物流公司的案例显示,他们在2024年第三季度部署了一款浏览器智能体,用于在三个不同的货运追踪系统中自动查询并汇总货物状态。
由于这些系统的界面长期未更新,智能体在数月内保持了较高的完成率。但在界面复杂、目标模糊的任务中,像素操作的失败率仍然居高不下。
在2024年11月的一份行业评测报告中,测试者要求多款浏览器智能体完成一项综合任务:在多个电商平台查找特定商品,比较价格,并选择最优选项下单。在100次测试中,没有任何一款产品能够稳定完成超过60%的测试用例。最常见的中断原因是:智能体无法识别促销弹窗、无法处理登录验证码、选择了错误的商品规格、在下单页面输入了错误的地址格式。
这些失败并非偶然。它们系统性地指向了同一个根本问题:在没有结构化反馈的环境中,智能体的每一次操作都是一次赌博。它可以模拟点击,但它无法真正知道点击是否触发了预期的效果;它可以读取页面文本,但它无法区分广告文字和内容文字;它可以填写表单,但它无法验证填入的信息在业务逻辑上是否正确。这正是地面真值定律在计算机使用场景中的严厉审判。
在编程领域,地面真值来自编译器、解释器和测试框架——它们是确定性的、可重复的、精确的。在像素操作领域,没有等价物。页面加载的延迟、网络波动导致的渲染差异、A/B测试带来的界面变化——所有这些不可控变量都在侵蚀着反馈信号的质量。
而MCP所代表的协议标准化路径,在2024年11月发布时,也面临着自己的挑战。最大的挑战是覆盖面。MCP承诺了统一的工具接入标准,但它的有效性取决于多少工具提供商愿意支持这个标准。在发布初期,宣布接入的多是开发者工具和基础设施公司——这些公司本身就是API的重度提供者,对标准化协议有天然的需求。但更广泛的企业软件供应商、SaaS公司和消费级应用提供商,是否愿意投入资源来支持MCP,仍然是一个悬而未决的问题。
第二个挑战是协议的深度。工具调用不只是格式层面的统一——输入输出用JSON-RPC只是一种约定。真正的挑战在于工具的语义描述:如何让模型理解一个工具的功能边界?如何描述工具的参数约束?
如何处理工具调用失败时的回退逻辑?这些问题的答案不在协议层面,而在应用层面,它们需要被反复实践和迭代,才能形成事实上的最佳实践。
第三个挑战是标准战争的风险。MCP在发布时是Anthropic主导的开放协议,但它能否成为真正的行业标准,取决于其他模型厂商、工具提供商和开发者社区是否接受它,而非推出竞争性的替代方案。USB-C之所以成为USB-C,不是因为某家公司宣布了它,而是因为整个行业在经历了多年的碎片化竞争后,共同选择了收敛。MCP要成为智能体世界的USB-C,需要的不仅是技术上的合理性,也是生态层面的协调能力。
2024年11月25日,MCP的发布在开发者社区引发了热烈讨论。Hacker News上的相关帖子在数小时内获得了数百条评论。一部分开发者表达了期待:他们厌倦了为每个工具编写适配代码,渴望一个统一的接口标准。
另一部分开发者表达了怀疑:他们见过太多类似的标准化尝试,其中大多数最终成为了众多标准之一,而非终结碎片化的统一标准。还有一部分评论者注意到了更深层的意味。Anthropic在发布MCP的同时,也在推进计算机使用。一家公司,两条路径,同时伸向缰绳层的未来。这是否意味着,即使在协议标准化最积极的推动者眼中,标准化的覆盖范围也是有限的——有些工具永远不会有API,有些系统永远无法被适配,而像素操作只是为那些协议无法覆盖的角落准备的备选方案?这个问题的答案在2024年秋天尚未明朗。但可以确定的是,缰绳层在两年的密集演化后,已经走到了一个同时涉及技术、商业和生态的复杂路口。
从2022年秋天ReAct论文和LangChain创立开始,缰绳层经历了AutoGPT的循环失锚、LangChain的框架赌局、函数调用的成建制吞并、编程战场的地面真值验证、Devin演示的信任裂缝,再到2024年秋天的路径分叉——像素操作的一端试图用通用性覆盖一切,协议标准化的另一端试图用规范性降低熵增。
在这条轨迹中,一个规律反复浮现又反复被验证:凡是缰绳层验证过的能力,最终都在不同程度上被吸收进模型本身或基础设施层。但反过来,每一次吸收都在推动缰绳层向上移动,从提示词技巧到框架设计,从框架到协议定义,从单智能体到多智能体编排。
缰绳层并没有因为被吸收而消失,它只是不断改变自己的形态。2024年秋天,计算机使用和MCP的并存,恰好是这一规律的最新例证。计算机使用试图将缰绳层的能力直接嵌入模型本身——如果模型能像人一样操作软件,那就不再需要外部的适配层。
MCP试图将缰绳层的能力提升到协议层——如果所有工具都通过统一标准接入,那缰绳层的基础设施属性就变得更强。两条路径,两个方向,但它们共享同一个前提:将大模型从对话工具转变为能够执行实际任务的劳动力,这件事远未完成。缰绳层仍然需要存在,无论是作为屏幕前的虚拟鼠标,还是作为工具间的通用协议。
在MCP发布后的数周内,多个开发团队发布了基于MCP的工具集成示例。有人用MCP让智能体直接查询数据库、调用云服务API、操作文件系统。有人将MCP与现有的智能体框架结合,在LangChain和LlamaIndex中实现了MCP客户端。
这些行动尚处于早期阶段,但它们共同指向了一个方向:如果协议标准化能够降低工具接入的边际成本,那么智能体可用工具的多样性将出现一次跃升。浏览器智能体团队在年底前继续迭代他们的产品。部分团队开始尝试将像素操作与有限的API调用结合:对于已经提供API的网站,优先使用结构化接口;
鲍文部长在记者会上展示那份成本估算文件时,特意用手指敲了敲文件末尾的数字——3780亿澳元。这个动作被现场的摄像机捕捉下来,随后出现在当晚的电视新闻画面中。鲍文的敲击动作本身并不携带任何技术信息,但它传递了一个明确的意图:这个数字是硬的,是可验证的,是经过了审慎推演的结果。然而,在文件正文的脚注部分,一行小字承认了推演的前提假设——技术成熟度、供应链稳定性、监管框架清晰度——均处于“待验证”状态。换句话说,这个精确到十亿澳元的数字,建立在一系列尚未被验证的假设之上。这正是复杂系统中成本估算的悖论:数字可以精确到令人信服,但支撑数字的地基可能是流动的。
在数字世界里,同样的悖论正在以更快的速度重演。2024年10月,当Anthropic发布Claude计算机使用能力的演示视频时,画面中每一个流畅的动作都在传递一个隐含的承诺:看,它已经可以像人一样操作软件了。但在视频的特定帧中,当模型光标滑向电子表格的一个单元格并执行点击时,仔细观察可以发现,那个单元格的边框高亮样式是标准的、无任何自定义主题干扰的默认渲染效果。演示环境中的电子表格软件没有加载任何第三方插件,没有开启辅助功能选项,没有弹出任何系统通知。这是一个被精心修剪过的数字花园,每一株可能绊倒智能体的杂草都已被提前清除。
浏览器自动化初创公司Adept AI的官网在2024年秋天更新了产品演示页面。页面顶部是一段自动播放的视频:ACT-1模型正在一个电商网站上搜索商品,将商品加入购物车,填写配送地址,完成下单。视频下方的文字承诺“让AI为你操作任何网页”。但在页面底部的FAQ区域,一个折叠的问题标题写着“ACT-1能处理所有网站吗?”展开后的回答措辞谨慎:“ACT-1在界面结构相对稳定的网站上表现最佳。对于频繁更新或使用非标准UI组件的网站,成功率可能会下降。”这段措辞是一个被翻译成产品语言的真相:像素操作的通用性承诺,在落地时不得不加上一长串限定条件。而限定条件每增加一条,通用性承诺的边界就收缩一寸。
加州大学伯克利分校的研究人员在那项2024年的视觉语言模型识别能力测试中,还记录了另一个更具揭示性的发现。当测试页面包含动态加载的内容——例如用户滚动时才出现的无限滚动列表、需要悬停才显示的隐藏菜单、根据用户历史行为个性化推荐的商品模块——模型的识别准确率会出现剧烈波动。原因是这些动态元素在截图中的存在与否、位置和样式,取决于智能体之前执行了哪些操作。而智能体的操作又取决于它之前识别出了什么。这构成了一个递归的不确定性循环:识别驱动操作,操作改变界面,界面影响下一次识别。每一步的误差都在循环中被放大,直到智能体彻底迷失。
那位在博客中记录机票搜索失败的工程师,在文章的后半部分补充了一个细节。在智能体陷入促销弹窗的死循环后,他手动接管了操作,关闭了弹窗,将智能体重置回搜索页面。
对于没有API的网站,使用像素操作作为后备方案。这种混合策略在一定程度上缓解了纯像素操作的脆弱性,但它也带来了新的复杂性——智能体需要判断什么时候该用API、什么时候该用像素,而这个判断本身就需要额外的逻辑。
2024年底,缰绳层站在了一个岔路口。一条路通向像素,承诺着通用覆盖但承受着反馈缺失的脆弱。一条路通向协议,承诺着标准化通信但依赖生态的集体行动。这两条路并非互斥,但它们各自需要解决的核心问题截然不同——像素路径需要解决的是识别精度和反馈机制,协议路径需要解决的是生态采纳和标准竞争。
而在这两条路的交汇处,一个更深层的问题正在浮现:当智能体同时拥有像素操作和协议调用两种能力时,谁来决定它应该使用哪一种?当两种能力给出冲突的结果时,谁来判断哪一个是对的?当智能体通过像素操作学会了一个软件的用法,这个知识如何被抽象、共享和复用?这些问题在2024年秋天还没有答案。
但它们已经开始被追问,被那些在凌晨三点盯着屏幕看智能体自动操作的工程师们,被那些在GitHub上为MCP贡献代码的开发者们,被那些在内部会议上争论技术路线选择的产品经理们。缰绳层的下一轮演化,将在这些追问中展开。MCP的发布,为混乱的工具接入生态提供了一纸看起来通用的解决方案,但这份协议文本本身立刻成为了各方势力争夺定义权的战场。它的具体条款与架构设计,将决定下一轮生态权力的归属——而这场争夺的规则,从来不是由画线的人单独决定的。