AI WINTER AND SPRING · CHAPTER 03
规则帝国:知识工程师的黄金时代与宿命
规则数量增长后,知识获取瓶颈、组合爆炸与系统脆弱性开始吞噬专家系统。
一个知识工程师的一天
1985 年的某一天。一位"知识工程师"——这是个 1977 年才被费根鲍姆正式命名的新职业——坐在一位放射科医生旁边,已经连续两周了。她的任务是把这个医生诊断肺炎的"直觉"写成一条条 IF-THEN 规则。第一天她写出了 12 条,医生点头;第三天加到 30 条,系统在测试病例上表现不错。她以为自己抓住了那个手感。
然后是第三十一天。她加了第 31 条规则,处理一种罕见并发症。系统重新跑测试集——三个原本正确的诊断突然错了。她盯着屏幕,逐条排查,发现第 31 条规则和第 7 条、第 19 条产生了交互,而这种交互在写规则时没有任何人会提醒你。她花了一整周才修好。
这是 1985 年,坐在 DEC 办公室里配置 XCON 规则的工程师们每天经历的事,只是规模放大了一百倍。它的名字,叫规则爆炸(Rule Explosion)。
规则爆炸:一条曲线的真相
XCON 的规则数量增长曲线,是全书最重要的工程证据之一。现在可以把它完整地画出来了。
1978 年,麦克德莫特写出 R1 原型,约 250 条规则。1984 年初,约 3,000 条。到 1980 年代末,它触及约 10,000 条——这是学界公认的可维护性临界点,Fox 在 1990 年指出,XCON 正是在这个量级上开始失控。但它没有停在那里,最终峰值实际达到了约 17,500 条。
与之同步膨胀的是维护团队。DEC 内部的配置支持组(CSG,Configuration Support Group)从最初几人长到几十人,据 Barker 与 O'Connor 1989 年的记录,每年大约一半的规则需要修改以跟上新产品的部件清单。Soloway、Bachant 与 Jensen 1987 年在 AAAI 发表的论文,标题就叫《Assessing the Maintainability of XCON-in-RIME: Coping with the Problems of a VERY Large Rule-Base》——"应对一个极大规则库的难题"。
为什么是指数级?这里需要给一个结构性的解释,而不是停留在"规则太多了"的感慨。答案在组合:N 条规则之间两两都可能产生交互,意味着 O(N²) 量级的潜在冲突点;当一条新规则加入,它需要被验证的不是它本身对不对,而是它和既有全部规则的相容性。 规则越多,加一条新规则的代价就越大——这是一个自我加速的恶性循环。这就是为什么维护成本曲线是超线性的,也是为什么"知识越多越强"这个朴素信念,会在某个临界点之后突然反转成"知识越多越难维护"。
知识获取瓶颈:隐性知识无法被说出来
规则爆炸只是表象。费根鲍姆比任何人都更早地看到了底下的真问题。
1977 年 8 月,在 MIT 召开的第五届国际人工智能联合会议(IJCAI-77)上,他发表了受邀演讲《The Art of Artificial Intelligence: I. Themes and Case Studies of Knowledge Engineering》(《人工智能的艺术(一):知识工程的主题与案例研究》)。在这篇论文里,他第一次正式使用了"知识工程"(knowledge engineering)这个词——他后来在文中交代,这个词脱胎于唐纳德·米基(Donald Michie)1968 年的一句戏言"epistemological engineering"(认识论工程),而麦卡锡此前把 AI 称作"应用认识论"。
就在同一篇论文里,费根鲍姆指出了那个真正的病灶。原文是这样写的:
"……第二,源于一种认识:领域知识的获取,是构建应用型智能体过程中的瓶颈问题(the acquisition of domain knowledge was the bottleneck problem in the building of applications-oriented intelligent agents)。"
三年后,在 1980 年的斯坦福技术报告里,这个意思被凝练成那个日后被反复引用的固定术语——"知识获取瓶颈"(knowledge acquisition bottleneck)。
这个瓶颈的本质,是波兰尼(Michael Polanyi)早在 1958 年《Personal Knowledge》(《个人知识》)里就指出过的一个哲学事实:我们能够知道的,远多于我们能够说出来的。(tacit knowledge,隐性知识。)一个资深医生能在三秒钟内看出胸片上的阴影"不对劲",但他无法把这种直觉穷尽地写成规则——他自己都不知道自己是怎么看出来的。知识工程师坐在专家旁边,访谈、追问、测试、再访谈,本质上是在做一件违反认识论规律的事:把专家自己都不完全明了的隐性知识,强行翻译成显式的 IF-THEN。
费根鲍姆把这个困境命名为瓶颈,意思很清楚——它不是一时一地的麻烦,而是一个无法靠"更努力"克服的天花板。
脆弱性:边界之外,一无所知
规则越多越难维护,这只是第一重病灶。还有第二重,更深的一重:即便你呕心沥血维护好了一个完美的规则库,它也只在你覆盖到的情形里有效。
这就是脆弱性(brittleness)。1986 年,Lenat 等人在启动 CYC 项目时明确用它来命名专家系统的核心缺陷;Davis 1987 年的相关工作进一步固化了这个概念。它的定义精确而残酷:专家系统在其设计边界之外完全失效,而且失效的方式是灾难性的——不是像人那样"我不太确定,先保守处理",而是直接崩溃或给出荒谬结论。人类专家有的那种"平滑退化"(graceful degradation),它没有。
MYCIN 在编码过的细菌感染范围内表现优秀,可一旦遇到一种没被编进规则库的罕见病原体,它不会说"这超出我的范围了",它会沿着已有规则 confidently 地推出一个可能完全错误的抗生素方案。XCON 遇到一种配置组合的边界情形,同样如此。这就是 Lenat 想用 CYC——一个试图手工编码全部人类常识的浩大工程——来解决的问题:专家系统缺的不是领域知识,是常识。 而 CYC 这个项目本身的命运,又从另一个角度证明了:常识的规模,恰恰是知识工程最无法承受的重量。
一个哲学家早就警告过他们
事实上,在专家系统最风光的那些年,有一个哲学家一直站在角落里说"这条路走不通"。他叫休伯特·德雷福斯(Hubert Dreyfus)。
1965 年,德雷福斯在兰德公司(RAND)出具了一份备忘录《Alchemy and Artificial Intelligence》(炼金术与人工智能)——编号 P-3244——把当时的符号主义 AI 比作中世纪炼金术:理论自信满满,成果寥寥。他的核心论点扎根在现象学里:智能是具身的、情境的,是身体在世界中实践介入的产物,而不是一串可以被形式化、被规则穷尽的符号操作。他借用海德格尔(Heidegger)和梅洛-庞蒂(Merleau-Ponty)论证,一个真正的专家依赖的是直觉式的、情境的模式识别,而非可被写下来的规则——这恰恰是知识获取瓶颈的哲学版预言。
AI 界当时的反应是愤怒。1969 年,MIT 专门出版了一本反驳文集《The Artificial Intelligence of Hubert L. Dreyfus: A Budget of Fallacies》(德雷福斯的人工智能:一箩筐谬误),以机构之力围剿一个哲学家,这在学界相当罕见。还有一出更具羞辱意味的戏:1967 年,德雷福斯到 MIT AI Lab 访问,和理查德·格林布莱特(Richard Greenblatt)写的国际象棋程序 MacHack VI 对弈——他输了。AI 阵营以此大肆宣扬"德雷福斯被计算机打败了"。但很少有人指出,德雷福斯从来没有自称是棋艺高手;他被安排和程序下棋这件事本身,就是一场精心设计的公开羞辱,而非公正的能力测试。
然而时间证明德雷福斯基本上是对的。1973 年英国数学家 James Lighthill 爵士出具的报告,独立得出了和德雷福斯相似的结论——AI 承诺远大于交付——并导致英国 AI 经费大规模削减。规则爆炸、知识获取瓶颈、脆弱性,这三个病灶每一个都是德雷福斯预言的具体兑现。到 1990 年代,随着连接主义复兴和具身认知兴起,他的声誉显著回升。2017 年他去世时,《纽约时报》的讣告称他为"杰出的哲学家与 AI 批评者"。
但德雷福斯也并非全对——他一度低估了符号方法在窄领域的实用价值。这是第三章必须保留的一个区分。
窄与宽:专家系统并非一无是处
必须给专家系统一个公正的评价:在窄领域、稳定场景里,它们长期有效,不是昙花一现。
DEC 的 XCON 配置 VAX 订单,DEC 全部配置类专家系统合计每年净节省约 4,000 万美元(Barker & O'Connor 1989 的估算,非审计数字)。American Express 的 Authorizer's Assistant,1988 年部署,把信用卡授权的人工复核比例降到了约 4%。Campbell Soup 在 1985 年用一个专家系统编码了老员工 Aldo Cimino 46 年的烹煮经验,推广到全国生产线。这些不是失败案例。
但这里有一个决定性的"但是":这种成功无法横向迁移。 Campbell Soup 把烹煮知识做成了一个成功的系统,可它在食品生产其他领域的专家系统尝试,后来几乎都没有被广泛使用。每一个新领域,都要从零开始重新做知识工程——重新访谈专家、重新抽取规则、重新测试。知识不能复用,经验不能积累,这是比"规则太多"更深的诅咒。它意味着专家系统的边际成本不会随规模下降,反而每个新领域都是一次全新的、昂贵的从头开始。
一个结构性的诊断
现在可以把全书的第一个结构性诊断说清楚了。
专家系统死于三个互相缠绕的病灶:规则爆炸让维护成本随规模超线性增长;知识获取瓶颈让隐性知识无法被显式化,每个领域都要从零重来;脆弱性让系统在边界之外灾难性失效。这三者共享同一个根——它们都试图用显式的、手工编码的知识增量,去覆盖一个开放世界;而开放世界的状态空间随规模超线性增长,永远比你能写下来的规则跑得更快。
这不是钱或聪明能解决的事。费根鲍姆用"瓶颈"给它命名,德雷福斯用现象学预言了它,XCON 用 17,500 条规则和一支膨胀的维护团队实证了它。
而最令人不安的部分是:这个宿命并没有随着专家系统的退场而消失。它只是在等——等一种新的容器,把"规则"改名叫"prompt",把"知识工程师"改名叫"Agent 工程师",然后在四十年后的某个深夜,重新找上一个正在调试 4000 token system prompt 的人。
那个人的处境,和 1985 年坐在放射科医生旁边的知识工程师,在结构上将一模一样。
只是当时没有人相信。
(本章史料均经独立核证,详见《第三章-史料核证附录》。)