前文提出了一个“复杂度差距红利”的概念,认为人类之所以能发明创造复杂事物,是因为人类的认知复杂度显著高于所处的环境中的常见事物,所以才能通过直接设计 + 精准还原的方式建造这么多东西。 但这个概念没有聊透;复杂度差距的机制是什么,边界在哪里?这里先把这个问题当作一个思维游戏而非严谨论证,试着往前推一推。

这篇与之前的AI主线关系没那么大,算是番外吧。那个系列还会有后续

一、不匹配的曲线

如果把人类演化曲线和科技发展曲线放一起,会看到两条曲线极度不匹配。

生物演化速度极其缓慢。几万年前的智人婴儿穿越到现代接受教育,完全能够正常融入社会,掌握现代人类掌握的绝大部分能力。但科技发展在近现代开始呈现一种指数级增长的态势。农业在一万年前出现,文字在几千年前被发明,工业革命距今两百多年,电力革命一个多世纪,计算机半个多世纪,互联网三十年,移动互联网二十年,大模型不到十年…

如果人脑本身并没有发生跃迁,那么科技爆炸式发展的原因就不可能只是“人类突然变聪明了”。更可能的解释是:人类在某个阶段掌握了一种特殊的认知机制,使得有限的大脑可以撬动远超自身规模的复杂度。直到今天,我们仍然在吃这一次认知升级的红利。那么总有一天文明的发展会吃完这一次升级的红利,如果人类到那个时候还没有掌握如何升级自己的大脑,缓慢的演化速度可能会再次成为文明发展的瓶颈。这个关键的升级是什么呢?红利的上限又在哪里?

我认为核心在于「抽象堆叠」。前文中我用这一概念狭义地指代现代软件体系,其实这是人类应对一切复杂事物的通用方式。我们并非突然聪明了几个量级,而是掌握了一种不关注全部细节,把任意复杂对象抽象成「接口」、并在此基础上继续组合的认知技巧。你不需要知道发动机里每一个零件如何工作,也可以把“汽车”当成一个交通工具来使用;你不需要理解银行清结算系统的所有细节,也可以把“转账”当成一个接口来调用;你不需要重新发明微积分、半导体和网络协议,也可以写一段软件,调用前人留下来的无数成果。

更关键的是,抽象是可以递归的。已经封装好的模块组合之后,可以再次被封装;已经形成的系统,可以成为更大系统的一个部件。人类并不是直接理解世界的全部复杂度,而是通过抽象,把复杂度一层层压缩成模块和接口,并在此基础上继续搭建。

文明之所以是加速发展的 —— 空间维度上,「抽象堆叠」意味着大规模的分工协作成为了可能;一个人不必理解全部细节,只要理解自己负责的模块和上下游接口,就可以参与一个复杂系统的建设。时间维度上,每一代人都站在前一代的肩膀上上继续构建。人类由此获得掌握极高复杂度的能力,科技发展的复利效应就此形成。

那么「抽象堆叠」的边界在哪呢?

二、抽象堆叠的边界

我一直觉得近年来的飞速发展中有一种隐忧:似乎碰到了什么底层限制。晶体管尺寸马上要到量子极限,最好的电池还是锂电池,最快的交通工具还是六十年前的协和客机… 基础物理学最重要的几个框架大多建立于上世纪,数学和工程中的许多核心范式也已经存在很久。

过去几十年的高速发展,很可能是把这些基础上能允许的空间榨取干净。如果这个空间本身是「抽象堆叠」这一机制而非认知复杂度本身带来的话,在没有新地基供我们继续建设的情况下,科技和文明的发展会在哪一天停滞呢?换句话说,「抽象堆叠」机制的上限在哪呢?

第一种:可抽象程度

抽象能够有效,有两个前提:第一,事物可以被抽象成人类认知可以理解、可以描述的稳定模块;第二,模块之间的连接关系可以被清楚描述。

有些东西无法做有效的抽象。以人类的大脑为例,我们想要人工智能,最直接的方式就是制造一个等同于人脑的机器。如何理解人脑的原理呢?直觉上的思路可能是按功能拆分:这块管语言,这块管视觉,这块管记忆,这块管情绪… 但现实中的大脑并不是这样工作的。同一片神经网络可能被多种任务反复征用,功能不是整齐地安装在某个模块里,而是分布、交织、重叠的。继续往下拆,以最小的神经元为单位来理解呢?或许可以搞清楚神经元电流的工作机制,但这几百亿个神经元、上百万亿级别的突触连接依然无法被人类认知理解。

城市规划也曾遇到类似的问题。James C. Scott 在 Seeing Like a State 中提出过一个概念叫「legibility」:国家为了治理,总是试图把复杂的现实压缩成整齐、可读、可统计、可操控的结构。上世纪的现代主义城市规划就是这种思路的典型体现:把城市按功能切成干净的分区,居住、工业、商业各占一块,彼此互不干扰。巴西利亚就是这套理念的产物。问题在于,真实城市的活力恰恰来自那些难以被图纸捕捉的东西:街角小店、混合街区、熟人关系、临时摊位、捷径小路,以及长期实践中生长出来的地方性知识。Scott 把它们叫做「metis」。把城市抽象成清晰可读的模块结构,看起来更容易管理了,但 metis 没了,城市也很难正常运转了。

这些事物本质上是无法被抽象的,至少在人类现在的认知水平下不行。

第二种:抽象泄漏

All non-trivial abstractions, to some degree, are leaky. —— Joel Spolsky.

所有非平凡的抽象,在某种程度上都是有泄漏的。这句话出自软件领域,但「抽象泄漏」是一个普遍的规律。抽象是我们应对复杂度的方式,有效的抽象一定意味着有损压缩。被「封装」的细节并未消失,总会在某些边缘情况下泄漏出来。「泄漏」本身就是有效抽象的影子,在所有层面都存在。

工作流依赖的一个系统悄悄更新了,你没有及时调整,流程就被阻断了;各种零部件在理想环境下通过所有测试,但总有一些现实中的极端情况会导致失效;整个经典工程体系都建在牛顿力学上面,但它不过是相对论和量子力学在日常观测尺度上的一层近似,在高速和微观尺度下失效。

当模块数量不断增加、堆叠层数过多时,可能发生的抽象泄漏不会简单的线性增加,而是会在整个系统内以非常复杂的方式相互干扰。总会有这么一个限度,当你继续增加模块数量、增加堆叠层数时,边际收益会小于应对抽象泄漏的维护成本。有时安全冗余本身就是新的堆叠层,修补泄漏的手段可能又会引入新的泄漏。这就是抽象泄漏上限的形态,是抽象堆叠机制的一种本质特性。

三、平稳落地

后视镜里的未来这篇文章查资料时,发现「地球村」这个概念也是 McLuhan 提出的。小时候看过一本画册,在世纪之交畅想,未来的通讯和交通技术的发展,让人类可以在世界范围内自由协作。那是我第一次看到「地球村」这个概念。上周出差时意识到,其实不用举什么宏大的例子 —— 除了前文中智能不能被设计的案例之外,痛苦的「出差」体验本身就够说明问题了。

「地球村」是一个动人的想象,仍未完全实现。我们习惯了视频会议,但很多情况下仍要频繁出差。哪怕事情看起来不大,面对面沟通的效果也一定更好。人和人之间的交流,隐含了太多信任建立、权力关系、情绪判断等仍无法被精确描述的东西,到今天也没有被技术真正抽象好、封装好、替代掉。我们仍然需要面对面交谈。

上周日凌晨一点多,我坐在从机场回家的车上想,我们还能有速度更快的交通工具吗?客机的速度在过去几十年里并未发生大的变化。为了空中的速度优势,我们在地面上付出了大量额外成本:更远的机场、更严格且耗时的安检,更不要提远机位、卫星厅、摆渡车,以及上下飞机时漫长的队伍… 这些本质上都是安全冗余的代价。民航是一个极其复杂的系统,速度越快,高度越高,协作环节越多,任何一个小漏洞被放大的后果就越严重。于是每一个可能有问题的地方,都需要有安全冗余。相比于高铁离市区更近的车站、更短的安检和上车时间,飞行本身节省下来的时间,就这样被一层层安全冗余吃掉了一大部分。

我们当然能造出更快的交通工具,协和客机商业运营过,Hyperloop理论上也能实现。但造得出来不意味着能安全、稳定、经济地长期运行。为了更快的速度我们还要付出多少额外的成本?我脑子里的悲观小人会想,也许在现有的情况下,人类在这副身体、这套组织能力、这套安全标准和经济约束下,民航客机就是我们能有的最快的常规交通工具了。

这是系统上限,而非物理上限。再快一点的成本不在速度本身,而在于保证每一次都能平稳落地。

后记

我的思维方式比较跳跃,习惯把各种表面不相干的东西放在一起思考。这是一个思维实验,尝试把一些现象放到同一个框架内:底层科学几十年没有大突破、我们最快的交通工具几十年没有变快、我们依赖的软件栈看起来摇摇欲坠、人与人之间的交流协作仍然非常低效、通过统计概率的原理制造智能…

如果这些现象背后真有一个机制在起作用,那么或许总有一天我们会吃完抽象堆叠这一次认知升级的红利。也许那一天没有我们想象的那么远。