第 3 章
冬天里的壳
劳伦斯·利弗莫尔国家实验室的合同终止通知送达帕洛阿尔托的那天,是1987年11月的一个星期三。斯坦福大学计算机科学系的走廊里,复印机吐出一份十八页的备忘录,标题是《战略计算计划:中期评估》。这份文件由DARPA的信息处理技术办公室起草,措辞干燥得像沙漠,但它的结论足以让整层楼的研究员停下脚步:未来三年,人工智能基础研究的联邦拨款将削减百分之四十五。
不是削减“应用研究”,不是削减“演示系统”,是基础研究。那些支撑着推理、规划、自然语言理解、知识表示的理论探索,被判定为“在可预见的作战需求中缺乏明确的应用路径”。
走廊里没人说话。有人在复印机前站了很久,读完最后一页,转身走回自己的办公室,关上了门。
这不是第一份坏消息。十八个月前,LISP机器市场已经塌了。Symbolics公司——那个曾经代表人工智能产业化最高成就的公司——在1986年把年收入做到了一亿零三百万美元,1987年跌到了不到两千万。它的竞争对手LMI更惨,直接破产清算。
两家公司加起来裁掉了超过八百名工程师,其中相当一部分人回到学术界,发现学术界的门也关了一半。1987年,麻省理工学院的AI实验室被迫与计算机科学实验室合并,改名为“计算机科学与人工智能实验室”。负责人帕特里克·温斯顿在合并备忘录里写了一句后来被反复引用的话:“我们高估了推理的力量,低估了感知的难度。”
合并意味着裁员,裁员意味着项目终止,项目终止意味着那些花了十年时间研究规划、推理、知识表示的博士们,突然发现自己的研究领域在市场上没有任何需求。一些人转向了数据库系统,一些人转向了操作系统,少数人彻底离开了计算机科学。
但冬天不是毁灭,是筛选。被筛选出去的,是把AI当作融资概念的人。留下的,是那些在没有任何商业回报的预期下,仍然继续建造“壳”的人。
迈克尔·乔治夫是留下的人之一。1987年,他在斯坦福大学担任计算机科学系的研究员,同时兼任澳大利亚电信研究实验室的顾问。他的研究方向是规划系统——具体来说,是如何让一个智能体在执行计划的过程中,根据环境的变化不断调整自己的行动。
这个方向在当时的主流人工智能界属于边缘中的边缘。主流研究把大部分精力放在知识表示和推理引擎上,认为只要把知识库建得足够大、推理规则写得足够完备,智能就会自然涌现。
乔治夫不这么看。他认为,关键不在于知道多少,而在于能否在知道不完全的情况下,持续地、可修正地行动。
这个直觉来自他对STRIPS规划器的反思。STRIPS是1971年斯坦福研究所开发的自动规划系统,它用一个叫“规划域定义语言”的形式化语言来描述世界状态——哪些物体存在,它们之间有什么关系,操作如何改变这些关系。给定一个初始状态和目标状态,STRIPS可以生成一个动作序列,从初始状态抵达目标。这个系统在积木世界的演示中表现完美:机械臂拿起红积木,放在蓝积木上,再拿起绿积木,堆在红积木上面。每一步都精确,每一步都符合预期。
但STRIPS有一个根本性的假设:世界在执行过程中不会改变。它假设执行每一步之后,世界状态就是规划器预测的那个状态。
在真实的工厂车间里,这个假设在第一秒就碎了。机械臂可能会打滑,积木可能被旁边的人碰倒,传感器可能给出噪声读数。如果规划器假设世界不变,而世界一直在变,那么规划就变成了一个一次性的承诺,一旦执行出错,整个计划崩溃,必须从头开始。
乔治夫在1987年发表的论文《过程推理系统:一个基于信念-目标-计划的智能体架构》中,提出了一个完全不同的模型。
他不再把规划看作一个“先规划、后执行”的线性过程,而是把它放进一个循环里。智能体在每一个时刻都有一个信念库——它认为当前世界是什么状态。它有一个目标库——它想要达到什么状态。它有一个计划库——它知道哪些动作序列可以实现哪些目标。在执行过程中,智能体选择一个与当前目标匹配的计划,执行第一步,然后观察环境。如果观察结果与信念一致,继续执行下一步。如果不一致,更新信念,重新选择计划。如果当前目标被更高优先级的事件打断——比如系统告警——当前计划被挂起,信念被保存,注意力转向新目标。
这是一个循环。信念-目标-计划-执行-观察-更新信念。这个循环在1987年没有任何产品化的可能,因为它的每一步都依赖一个在当时不可能实现的前提:智能体能够准确地感知环境。PRS的信念更新机制假设系统能够从传感器获得可信的、结构化的世界状态描述。
但在1987年,计算机视觉连一个咖啡杯都识别不了,自然语言理解只能处理两百个单词的封闭词汇表。PRS只在一个领域里有效运行过:澳大利亚电信的交换机故障诊断。那个领域足够封闭,足够结构化,足够有限,所以信念更新是可能的。
乔治夫在1991年把PRS带回了澳大利亚,创立了一家叫澳大利亚人工智能研究所的公司,后来改名为Agentis。这家公司的商业逻辑很简单:把PRS卖给电信运营商,用于自动化的故障管理。系统会监控交换机的告警信号,根据预定义的诊断计划生成修复步骤,在人工监督下执行。如果告警模式不匹配任何已知计划,系统会转人工。Agentis拿下了澳洲电信的合同,后来又拿下了几家中小型运营商的订单。
但它的规模始终没有突破一个微妙的临界点。原因不是技术,而是信任。电信运营商愿意让系统自动诊断故障,但不愿意让它自动执行修复。因为一条误发指令可能导致成千上万的用户断网,修复成本可能高达六位数。
所以在每一份合同里,Agentis都被迫加入了强制的人工干预节点。系统可以建议,但不能执行。可以分析,但不能决策。结果是,PRS的规划循环在实际部署中被截断了:它生成计划,人审核计划,人执行计划,系统观察到的执行结果是人做出来的,不是系统自己做出来的。循环没有闭合。
这是一个信任工程学的早期标本。自主性不是按智能出售的,是按信任出售的。而信任在开放世界里,每一步都需要用可回滚的边界来换取。
Agentis没有倒闭。它活到了2000年代,最终转型为一家业务流程管理软件公司。但它的故事已经说明了一个法则:缰绳的效用,与底层模型的泛化能力,是乘积关系。PRS的规划循环在设计上优雅而完整,但它的底层模型——符号化的信念更新规则——只能处理极端有限的状态空间。被乘数太小,乘积被锁死在接近零的位置。
在乔治夫离开斯坦福的同一年,距离斯坦福不到三英里的山景城卡斯楚街,另一群人正在试图建造一个比PRS宏大得多的壳。这家公司叫通用魔法。
它的创始人名单读起来像是硅谷的先贤祠:比尔·阿特金森,Macintosh原始团队的核心成员,HyperCard的创造者;安迪·赫兹菲尔德,Macintosh操作系统的主要作者之一;马克·波拉特,苹果公司前高级技术执行官。
1990年,他们从苹果公司剥离出来,带着一个在当时听起来像科幻小说的愿景:让软件代理在网络中独立移动,代表用户完成交易、安排会议、筛选信息。通用魔法的核心技术叫Telescript,一种专门为移动代理设计的面向对象编程语言。在Telescript的世界里,一个代理是一个携带指令和数据的对象,它可以在网络中的服务器之间跳跃,在目的地执行任务,然后带着结果返回用户。代理不是被动的消息传递者,而是主动的执行者。它有自己的“护照”——一个包含用户身份和授权的凭证。它有自己的“行李”——携带的数据和中间结果。它有自己的“行程”——一个预定义的任务序列。
Telescript的架构师鲍勃·弗兰克斯顿在设计文档里描述了一个典型的应用场景:用户告诉代理“帮我找三件东西——下周三从旧金山飞纽约的机票,预算不超过五百美元,偏好靠过道的座位;一家在曼哈顿中城、评分四星以上的酒店,入住日期与机票匹配;一个周三下午在纽约大学附近的咖啡店,可以安静坐两个小时”。代理会离开用户的个人设备,跳转到航空公司的预订服务器,执行搜索和筛选,然后跳转到酒店预订系统,再跳转到地图服务的数据库。如果任何一个环节遇到冲突——比如机票预算内只有靠窗座——代理会暂停执行,返回用户侧请求新的指令,然后从暂停点恢复。
这个暂停-请求-继续的循环,与PRS的信念-目标-计划循环在结构上如出一辙。代理感知环境(在航空公司的数据库里搜索),执行动作(预订机票),观察结果(预算不匹配),更新状态(暂停并返回用户),重新规划(根据用户新指令继续)。这就是在封闭世界里的规划循环,只不过通用魔法试图把它搬到开放互联网上。
但开放互联网意味着一个PRS不需要面对的问题:权限。代理要在别人的服务器上执行代码,要访问别人的数据,要代表用户做出具有法律效力的购买决策。每一个动作都需要权限,而权限意味着风险。
通用魔法的工程师们在这一刻做出了一个重要的工程决策。他们发明了Telescript的安全沙箱:一个禁止代理访问宿主机文件系统、禁止修改系统配置、禁止发起超出用户授权范围交易的受限执行环境。在1994年申请的一项专利中,通用魔法详细描述了沙箱的实现机制——每个代理在装载时被分配一个“能力清单”,清单上列出了代理被允许执行的操作类型。能力清单由用户签名,在网络中不可篡改。远程服务器在接收代理时,首先验证签名,然后根据能力清单创建沙箱。代理在沙箱内的任何操作,如果超出了能力清单的范围,都会触发异常,强制代理进入暂停状态,并向上报用户。这是有据可查的最早的代理权限系统。
它的核心思想——最小权限原则、沙箱隔离、用户签名的授权清单——在二十三年后的OpenAI插件系统和Anthropic的计算机使用权限窗中,几乎原封不动地重现了。
但通用魔法失败了。1995年2月,公司以每股三十二美元的价格上市,市值一度突破二十亿美元。投资人被Telescript的愿景迷住了:一个由软件代理构成的服务网络,用户不再需要自己操作软件,而是把任务委托给代理,代理在后台完成一切。1995年夏天,美国在线、AT&T和索尼都宣布了与通用魔法的合作计划。
然后互联网发生了。不是通用魔法设想的那个由专有代理网络构成的互联网,而是开放的、基于HTTP和HTML的万维网。网景浏览器让普通人可以直接访问网页,亚马逊和eBay让普通人在浏览器里直接完成交易,不需要代理跳转,不需要服务器协商,不需要能力清单。用户只需要一个浏览器和一个鼠标。通用魔法花了五年时间建造的代理网络,被一个更简单的协议栈在十八个月内边缘化了。
到1996年底,通用魔法的股价跌到了每股三美元以下。合作伙伴退出了,开发者社区没有形成,Telescript的代理在真实网络中的任务完成率远低于预期。
原因与PRS完全相同:底层没有可用的通用智能。代理的每一条行为规则都需要人工编写,每一个可能遇到的数据格式都需要预先适配,每一个目标网站的交互逻辑都需要单独编码。在十家航空公司的主页上执行同一个“搜索机票”任务,需要十套不同的适配脚本,而每一套脚本在网站改版时都会失效。维护成本的增长速度超过了编写速度,代理的智能全在人写的规则里,而规则永远写不完。
1997年9月,通用魔法宣布停止Telescript的开发,公司转向手持设备的操作系统。在转向之前的一个内部会议上,比尔·阿特金森说了一句话,后来被参会者记下来传到了硅谷的工程圈子里。
那句话的原文是:“We built a perfect shell, but there was no helmsman inside who could navigate the storm.”——我们建造了一艘完美的壳,但壳里没有能够驾驭风浪的舵手。这个比喻精确得近乎残忍。壳是完美的:沙箱是安全的,权限系统是完备的,代理迁移协议是精巧的,暂停-恢复机制是健壮的。但壳里的智能——那个能理解开放世界、适应未知情况、在规则之外做出正确判断的舵手——不存在。于是壳变成了一个空壳,一个工程上的完美标本,一个没有用武之地的架构。通用魔法的失败是一个信号,但它不是唯一的信号。在整个1990年代,同样的模式在至少三个不同的领域里重复出现。第一个领域是规划系统。1994年,卡内基梅隆大学的一个研究组发表了一篇关于概率规划的论文,标题叫《在部分可观测域中执行规划》。
这篇论文把PRS的信念更新循环推到了概率域:如果行动A失败了,系统不是报错,而是根据预先计算的概率分布,尝试替代行动B。如果替代行动也失败了,系统会把失败信息反馈给规划器,生成新的子目标。这个循环框架——执行、观测、更新信念、重新规划——在理论上已经完整了。但论文的实验部分暴露了它的局限:所有测试域都是人工构建的封闭世界,包括一个八格迷宫、一个有四块积木的桌面、一个只有二十种状态的税务表格。论文的结论坦率地承认:“在开放域中,概率分布的编码成本以指数级增长,使得该方法在当前的感知技术条件下不可行。”
第二个领域是Web代理。1996年,华盛顿大学的研究组发布了ShopBot,一个能自动在十几个在线商店中搜索商品价格的比价代理。ShopBot的技术原理极其简单:它向每个目标网站发送HTTP请求,抓取返回的HTML,用正则表达式提取价格数字,然后排序展示。
但ShopBot的创建者之一罗伯特·多尔蒂在项目总结中写了一个关键的观察:工程中最难的部分不是让代理抓取数据,而是让代理知道什么时候它抓取的数据是错的。ShopBot之所以能运行,是因为价格是用户一眼就能验证的——如果返回的价格明显不对,用户会立刻发现。地面真值由用户提供,循环的闭合点不在机器这边,在人那边。这是一个手动闭环系统。手动闭环意味着系统无法规模化——每增加一个用户,人工验证的成本就线性增加。
第三个领域是邮件代理。1998年,一个叫Max的电子邮件管理系统在几家硅谷公司内部试用。Max的设计目标是自动分类邮件、提取关键信息、生成摘要。
它的核心算法是朴素贝叶斯分类器,精度在今天看来很粗糙,但在当时已经是可用的水平。Max的工程师们给它加了一个严格的行为约束:它不能自动删除邮件,不能自动回复,不能自动转发。所有的动作都停留在“建议”层面,用户必须手动确认。
这不是工程师们不想做自动化,而是他们在内部测试中发现了一个清晰的模式:每次代理的自主权增加一级,用户对系统的信任度就下降一次。用户愿意接受代理帮他们做决定,但不愿意接受代理替他们做决定。帮和替之间,隔着一道信任的鸿沟。
而Max的工程师们没有找到桥接这道鸿沟的方法,于是他们选择了退让——把自主性砍掉,只保留建议功能。
Max项目的内部评估报告里记录了一个具体的数据点:在测试期间,当代理被允许自动归类邮件(但不执行任何操作)时,用户采用率是百分之六十七。当代理被允许自动标记紧急邮件并推送到用户首页时,采用率掉到了百分之四十一。当代理被允许在用户度假期间自动回复部分邮件时,采用率跌到了百分之十二。
用户给出的主要反馈是,他们不信任代理能准确判断哪些邮件该回复,哪些不该回复,以及回复的内容是否得体。在没有地面真值的情况下,一次错误回复的代价——可能是冒犯一个客户,或者泄露一个不该泄露的信息——远高于手动处理所有邮件的成本。
这三条线索——规划系统的循环、代理的沙箱、Web爬虫的反馈机制——在1990年代几乎没有任何交集。做规划的人在国际人工智能联合会议上发表论文,做代理的人在硅谷的车库里创业,做爬虫的人在信息检索会议上讨论正则表达式。他们属于不同的学术圈,不同的技术栈,不同的资助体系。但他们的工作汇聚在同一个问题上:如何在智能不可靠的情况下,建造一个可靠的壳?而答案,在每一种情况下,都是同一个:缩小任务域,降低自主性,增加人工干预。
PRS从通用的规划系统退化为电信故障诊断的建议工具。Telescript从通用代理网络退化为一个没有商业应用的原型。ShopBot从自主比价引擎退化为一个需要用户手动验证的价格抓取器。
Max从邮件管理代理退化为一个邮件分类建议器。壳还在,但壳里的空间被压缩得越来越小,越来越薄,直到它变成了一层紧贴着任务表面的膜。
1999年,互联网泡沫的顶峰,一家叫Siri的初创公司还没有成立。但在那一年,一个叫Aaron Swartz的十三岁少年开始参与RSS标准的制定。RSS是“真正简易聚合”的缩写,它的技术方案很简单——一个标准的XML格式,网站用它在更新内容时推送给订阅者。但RSS的哲学意义比它的技术意义大得多:它是第一个被大规模采用的、机器可读的Web内容格式。爬虫不再需要解析混乱的HTML,它们可以直接读取结构化的数据。这是协议作为壳的一层,第一次在Web上找到大规模采纳的路径。
RSS的成功不是因为它技术上的优越——在它之前,已经有至少三种更复杂的Web聚合协议。RSS的成功是因为它足够轻。它只定义了几个字段:标题、链接、描述、发布日期。不需要描述服务的接口,不需要定义交互流程,不需要签名和权限。
它只是一个数据格式,任何人都可以在一个下午实现解析器。这种极简的策略,在十五年后MCP协议的设计中,会被反复讨论。
2000年3月,纳斯达克指数开始下跌。互联网泡沫破裂。风险投资枯竭。曾经在1990年代投资过通用魔法的那批投资人,现在听到“智能代理”四个字就摇头。2001年“九一一”之后,美国政府的科研经费大量转向反恐和安全领域,人工智能基础研究再遭重创。
这是第二波AI冬天。它比第一波更冷,因为它紧跟着市场上真金白银的蒸发。学术界的经费被砍了,工业界的岗位消失了,连那些在寒冬中坚持下来的老研究员,也开始建议自己的学生转向更安全的领域。
但在第二波冬天里,有一些东西没有死。它们变成了地下河,在主流视野之外静默地流淌。
2002年,一个叫“Web服务”的概念在企业软件领域兴起。SOAP协议、WSDL描述语言、UDDI注册中心——这套技术栈的目标是让不同的软件系统在互联网上自动发现彼此,协商交互方式,然后执行任务。
SOAP背后的思想与Telescript如出一辙:一个标准化的代理通信协议,让机器可以代表用户在网络上执行操作。但SOAP犯了和Telescript同样的错误:它太重了。它要求每一个服务提供详尽的WSDL描述文件,要求每一次交互都经过严格的XML Schema验证,要求每一个代理都理解复杂的SOAP信封格式。结果,它在企业防火墙后面还有生存空间——那些有钱有人的大公司可以雇佣专门的集成团队来维护SOAP服务——但在开放互联网上,几乎没有自愿采纳者。
2005年,罗伊·菲尔丁在一篇博士论文里正式命名了REST。REST不是一种新协议,它只是把HTTP本身已经提供的方法——GET、POST、PUT、DELETE——提升为一种架构风格。REST不定义任何新的格式,不要求任何描述文件,不强制任何验证流程。一个RESTful的API就是一个HTTP端点,它返回JSON而不是XML,它的文档可以用一页纸写完。
REST的采纳成本几乎为零,所以它赢了。到2010年,REST已经成为Web服务的主流风格,SOAP被挤到了企业集成的角落。这是协议政治的一课,在二十年后的MCP标准战争中会被反复提起。标准不一定是技术最优的那个,而是采纳成本最低的那个。在缰绳层,协议的价值不在于它能表达多少语义,而在于它能不能让足够的参与者快速接入。
2006年,杰弗里·辛顿在加拿大多伦多大学发表了一篇关于深度信念网络的论文,这篇论文通常被认为是深度学习复兴的起点。但那个时刻,智能体壳层的研究者们没有注意到这件事。他们还在各自的地下河里游着——规划系统在概率推理的框架里继续迭代,代理沙箱在移动操作系统的安全模型里找到了新的应用场景,Web协议在REST的旗帜下继续简化。三条线索各自延伸,但它们的乘积——壳的效用乘以模型的泛化能力——仍然被锁死在接近零的位置。2007年,Siri公司成立。
它的初始团队来自斯坦福研究所的CALO项目,这是“认知助手学习和组织”的缩写,一个由DARPA资助的大型人工智能项目。CALO的智能体架构与PRS一脉相承:信念、目标、计划、执行、反馈。
但当Siri在2010年被苹果收购并在2011年作为iPhone功能发布时,它的自主性被大幅削减。它不再是一个能规划多步任务的智能体,而是一个单轮交互的语音命令系统。用户说一句话,Siri返回一个结果。没有循环,没有多步执行,没有自主决策。
这不是苹果的工程师不想做更多,而是他们知道,在当时的模型能力下,任何超过一步的自主循环都会导致不可接受的错误率。Siri的单轮交互模式定义了此后十年公众对“智能助手”的认知:一个能听懂命令的语音界面,不是一个能自主完成任务的劳动力。
智能体——真正的智能体,那种能规划、能执行、能纠错、能回滚的智能体——仍然困在实验室里,困在积木世界里,困在电信交换机的封闭诊断系统里,困在比价引擎的正则表达式里,困在邮件代理的信任报告中。等待被乘数长大。
2012年,AlexNet在ImageNet竞赛上以压倒性优势击败了所有传统计算机视觉方法。2014年,序列到序列模型在机器翻译上取得突破。2015年,注意力机制被引入。2017年,Transformer架构在论文《Attention Is All You Need》中被提出。2018年,BERT和GPT相继问世。被乘数开始以指数级增长。
但壳层的研究者们——那些在冬天里坚守了二十年的人——大多已经退休、转行、或者把注意力转向了其他领域。他们的论文躺在会议论文集里,他们的专利躺在知识产权局的档案库里,他们的代码仓库在SourceForge和早期的GitHub上沉睡。
PRS的源代码在1990年代末被乔治夫开源,下载量从未超过三位数。通用魔法的Telescript专利在2003年过期,没有续费。ShopBot的爬虫框架在2001年被一个开源项目吸收,后来那个项目也停止了更新。Max的信任评估报告只在公司内部流转,从未公开发表。
它们像冬天里的壳,硬、冷、没有生命、但保留了结构——当2022年秋天ChatGPT把世界从神谕模式推进到对话模式时;当2023年6月函数调用API第一次把外部工具绑定到大语言模型上时;当2023年春天AutoGPT在GitHub上以每周五万颗星标的速度狂飙时——那些沉睡了三十年的工程常识突然苏醒;
不是因为新天才一夜顿悟;而是因为壳上的刻痕终于等到了能够填满它的智能;被乘数不再是零;乘积开始爆炸;而冬天里的壳成了春天里每一座建筑的模板