2 月 28 日,俄罗斯的智能手机用户一觉起来上班可能会发现突然进不去地铁站了。他的银行账上有钱、有手机、手机里有地铁卡,但就是刷不开那道窄门,只能排队改用现金。因为环球银行金融电信协会(SWIFT)对一些俄罗斯银行的制裁,Apple Pay 和 Google Pay 暂停了在俄服务。
去年 10 月 4 日,Facebook 的竞争对手,Twitter 最重要的功能终于体现出来:问问大家的 Facebook 服务是不是挂了。那天中午,Meta(Facebook)旗下服务出现大规模宕机接近七个小时。在这七个小时里,Facebook 全家桶被短暂的从互联网的疆域里 “抹除”,还连带着那些需要依靠 Facebook 登录的产品一起陪葬,影响超过 20 亿用户。
去年夏天,生活在中国东北的市民体验了一把“穿越”:因为限电,人们一下子被拉回到遥远的生活记忆。根据《澎湃新闻》报道,吉林省敦化市有一家四口被困在电梯里四十五分钟,最后被邻居救出来。与此同时,无数喊着“老铁”的主播们直播中断、交通因为信号灯熄灭而变得拥堵、水库的观测员也只能人工观测水位。现代人终于理解了什么叫“现代性”:有电。
因为一个甚至没听过名字的组织进不去地铁;数字巨头一个喷嚏影响全球互联网;电力一中断生活大变样;或者各种你难以预测的原因,让一批股票市值在一年间暴跌超过 90%。这些事情看着是不相关的,但实际上有一条草蛇灰线隐藏在其中:我们的现代生活,仿佛是一个大集合体。
生活的每一个部分,都有一个模块负责。想聊天了,有聊天软件;出门可以网约车或是地铁;晚上回到家开灯就有光。我们不需要知道这背后的原理和运行逻辑,只需享受结果就可以了。生活类似一个个点组成的线条在前进,每一个点都是现代生活必不可缺的一部分。但如果单点失效,就很容易让平平无奇的日常生活大变样。
可以说我们的生活维持在一条精巧而复杂的平衡线上,稍有疏忽就会失去平衡。我们生活在一个被封装的现代世界当中。
1992 年,乔布斯在麻省理工(MIT)的商学院讲过一次课。那时他已经被赶出苹果,正在做另一家计算机公司 NeXT,以向苹果复仇。他对学生说:NeXT 电脑的优势之一是面向对象编程,这可以比原本的编程方式快十倍。
面向对象编程的一个特点叫“封装”:将程序的一些方法和执行步骤隐藏起来,只开放外部接口来访问。比如我们不需要知道一辆车的引擎究竟如何工作,只要踩下油门,就可以发送指令让引擎工作。那么对于驾驶员来说,引擎就是被封装好的。
今天,面向对象是所有软件开发的必备思路。做到这一点,需要把每个模块封装起来:这很像我们今天使用一个 app:你不用知道地图如何导航,只需要输入地址,地图就会一步步告诉你在何时转弯,最终抵达目的地。类似的,打车的时候也不需要知道如何分配最近的网约车(当然,我们经常想知道),app 会自动给我们分配。
但封装早已超越了软件,成为了技术行业通用的范式。包括 app 的载体智能手机,也是封装的典范:当我们在津津乐道乔布斯对于细节的把控时,也要意识到他是在给技术作封装。苹果手机内部整齐的电路、电池、芯片组,便是软件封装在物理世界的体现。乔布斯认为“即使是用户看不到的地方也要精致优雅”,换个思路理解就是编程中对代码质量的要求。同样的功能十行代码实现要比一百行更优雅、一种命名方法比另一种更优雅、一种缩进比另一种更优雅……它们被封装起来,披上了一层叫 iPhone 的外衣。
在更大的尺度上,智能手机则是人类分工专业化大趋势背景下的一环。亚当斯密在 1776 年的《国富论》里已经提到了分工对手工业效率的提升。二战之后,分工和专业化的趋势更是有增无减。达芬奇这样的多面选手和博物学家被更加精细、且隔行如隔山的分类所取代。
汽车工业是另一个很明显被封装的行业。直到今天,汽车工业仍然是民用行业之中最复杂、规模最大的行业——它最奇迹的地方在于只需要几万、十几万元就能买到。
这也是封装的力量。
1880 年代卡尔·本茨发明并组装了第一台汽车,小规模的手工组装,质量并不可靠而且价格高昂。到了 1899 年,他创立的奔驰公司年产量仅有 572 辆车。
在大洋彼岸的亨利·福特意识到了汽车的前景,并且发现了比手工组装更合理的生产模式:流水线作业。他将一辆车的装配过程拆分为 84 个步骤,每个工人只负责一个环节。汽车就可以在流水线上组装完成,生产一辆车的时间从十多个小时减少到了几十分钟。
作为一百年后的人,我们可以凭直觉来理解福特的思路:将复杂的流程封装起来,工人不需要理解汽车如何运作,只需要负责简单的一个步骤,自然效率更高。这个在今天近乎常识的方法,在一百年前实现了巨大的变革。
等到了丰田的年代,不再有任何一个人可以从零开始自己造一辆符合交通法规的车。而且几乎没有人,能够了解汽车每一个方面的技术细节。越来越多的行业参与到了汽车工业当中,汽车工业不需要了解特定行业的研究,但可以使用它们的成果。
最新到来的是电动车,软件行业封装的概念被更深入的引入到了车辆工业当中。甚至连开车都不需要了,自动驾驶到来之后为什么还要在乎车怎么开呢?能把乘客送到目的地就可以了。在本月美国国家公路交通安全管理局(NHTSA)针对自动驾驶改革的规定后,方向盘在可见的未来都会从一些车辆里消失。可能对于下一代人来说,学习开车也没必要,只需要输入地址。
美国作家布莱恩阿瑟在他的著作《技术的本质》里提到了这样一个概念:
“技术在某种程度上一定是来自此前已有技术的新的组合。技术是实践和元器件(components)的集成(assemblage)。”
而一个技术里用到的零件组合或者软件组件,“如果被用得足够多,就会‘凝固’成独立的单元,随着时间的推移会变成标准组件。”
任何新技术本质上都是对已有技术的再组合,然后将生成新技术封装以供他人应用。比如将半导体材料封装之后我们就有了集成电路;对集成电路的封装带来了芯片。煤炭和各种新能源用来发电,复杂的电网传输电力到电子产品中,电子产品里芯片和电力一起驱动着我们的诸多互联网应用。缺一不可。
这就是一个被封装集合的世界。晚上把手机放在床头,插上一根线电就来了,还能无线充电;回家洗手,那个银色的龙头竟然可以“自来”水……我们不需要了解现代社会的运行逻辑,但却可以享受现代化带来的好处。即便是以“世风日下,人心不古”反对现代化的人,也要利用现代化封装好的技术来反对现代化。
人也被职业封装起来:遇到法律问题有律师负责、办理不同的业务都能找到对应的代理公司、想送一个东西到它处也有配送、快递、物流等多种选择。即使是传统观点里最适合创业和自带生产资料的行业:程序员,近年来也开始不追求大而全的“全栈”开发,而是最好术业有专攻。
著名科幻作家、《2001 太空漫游》的作者亚瑟克拉克在他的「克拉克三定律」定义第三条的内容是:任何非常先进的技术,初看都与魔法无异。如果让 1968 年刚出版《2001 太空漫游》的克拉克穿越到 2021 年,他可能会对太空发展的进程非常失望,但估计第一瞬间他也会认为所有事情都可以在手机完成这件事情很魔法。这些看似魔法的新技术,一旦被封装起来进入生活,就变成了当代日常的一部分。
中国科技行业非常愿意用“黑科技”一词来形容新鲜技术。“黑科技”一词原本来自动漫《全金属狂潮》中的术语,意味着人类无法理解的技术。不过因为这个词的普及,连带有快充的充电宝都是“黑科技”了。反过来想,充电宝的用户确实没多少理解它如何运作。
可以说,封装本质上就是现代性之一。
封装掩盖了背后的繁复。一如苹果电脑一体成型机身掩饰下的复杂机械和电子结构,现代化社会封装带来的便利经常让我们忽略自己身处人类有史以来最设计精巧的环境。从每天早上把手机上的闹钟关闭、到开车出门、再到点一份外卖。人类走了上千年,才走到今天。我们看似平常的每一个动作,背后都有极其复杂的系统再支撑着它。我们的生活就像是在钢丝上行走却不自知的杂技演员。
举个最常见的例子:可能这篇文章读到现在,你已经几次退出去来回复消息。但为什么我们能确定自己发出去的消息,对方一定能接收到呢?即时通讯太常见了,常见到我们忽略了它其实是互联网应用中技术难度最高的之一。
对用户来说,发送一条消息就是发一条消息。但对应用来说,可不止于此。在手机屏幕前面的用户,是无法感知你的手机到服务器再到聊天对象的手机之间究竟联系了多少次——除非这套封装失效了。
我们日常生活的这个世界已经繁杂到,一旦开始深入了解,人们大概都会思考一个问题:这么复杂的系统,竟然没有崩溃?现实是它崩溃过。比如 Facebook 前一段的宕机,就是在这其中某一个环节失效了。俄罗斯用户刷不开地铁、去年限电亦然。
看看自己的微信通讯录,可以设想一下:如果之后你无法使用微信,将有多少好友再也无法联系?这是一个对普通用户犹如黑盒一样的产品,封装了许多人的社交关系链。
封装和分工的浪潮已经持续了几十年。全球化进一步加强了这个模式,整个世界犹如齿轮一样咬合在一起。我们幸福的现代化生活,很大程度上就是建立在一个又一个的封装之上。
可问题在于,封装的现代化时候从来没有许诺过它会永远顺利运行,任何参与者也不可能给出这种承诺。但使用封装的人,因为对其内部的不了解,很难为小概率的突发事件作准备。当封装足够多、足够紧密的时候,单个封装的小概率问题集合在一起就会变成大概率出现的状况。而这些封装耦合的那么紧密,牵一发而动全身。
回到汽车工业上,它对封装的应用真是太成功了。消费者买车的 4S 店、生产汽车的主机厂(奥迪、一汽、吉利)、为主机厂提供零部件的一级供应商(Tier 1)、为一级供应商提供零件的二级供应商(Tier 2)彼此之间一环套一环,分工明确封装清晰。那些处于供应链顶端的车企根本无法意识到在它们的层层封装之下,其他行业已经发生了翻天覆地的变化。只等待一次意外,来让车企发现问题。
汽车行业应用一种被称为即时制造( Just-In-Time manufacturing)的生产方式:尽量减少库存,需要的时候再像供应商采购。它属于精益生产的一部分。如果有可能,汽车公司希望所有的库存都能按照这个模式来运作。疫情到来后,芯片产能受到了严重的制约。车企突然发现以往的路径依赖失效了:芯片厂更愿意把有限的产能提供给提前预定了大量订单的电子厂商。同时对于芯片厂来说,车企需要的芯片又属于「落后产能」,利润不大。但一台车有上千个芯片,即使是一个雨刷芯片的缺失,都能让生产线停摆。
根据一家媒体的报道,芯片危机到来前,有一家芯片代工企业曾通知汽车制造商增加芯片订单。但车企反对这么做,这样会影响即时制造的模式。车企习惯了做金字塔尖的指挥者,但当芯片短缺的时候,它们的对手是苹果等消费电子公司——对芯片厂商来说,来自手机品牌的订单量更大。结果车企成为了最后一批扩大产能的客户。根据数据推测,2021 年全球车企因为芯片危机减少生产了 770 万辆车,损失可能高达 2100 亿美元——这相当整个阿里巴巴集团今天的市值。
车企用了几十年把一切都封装的井井有条,然后无视那些黑盒里的巨大变化。车企不得不打开封装,再重新和原材料供应商去打交道。这以往这些工作都是由博世、大陆电子等企业去做的,车企只要有结果就好。它们现在需要做 1930 年代才做的事情。
不光企业如此,政府机构也是一样。迈克尔·刘易斯(Michael Lewis)在他去年的新书《预感:一个大流行的故事》(The Premonition: A Pandemic Story)中写道:在美国政府内部,有一堆小盒子。每个小盒子都要负责一件事。比如“确保食品安全”、“不要发生银行挤兑”或者“防止恐怖袭击”。这些小盒子逐渐成为了一个个有着自己文化的独立小世界。
刘易斯认为每个盒子都是黑盒。这些小盒子没什么兴趣适应新问题,也不好奇别的盒子在干什么。A 盒子里可能有 B 需要的解决方案,但 B 盒子可能永远无法知道这件事。在平日里,这种封装起来的盒子没有任何问题。它总是在运作,仿佛无比可靠。可恰恰是因为封装的太彻底,不到紧急时刻外界根本无从得知黑盒内部的问题。
只有大难临头,我们才发现原来一些盒子不过是草台班子。疫情爆发初期,加州一间流行病学实验室向美国卫生与公众服务部寻求帮助:需要四万个医用长棉棒做新冠核酸检测。在收到允诺两周后,他们才知道:原来国家战略储备里从来就没有检测需要的长棉棒,只有家用短棉签。纵使在一个系统内部,彼此之间也如黑盒。
如果这种封装失效变得越来越普遍,那也许是时候反思封装的集合了:如果我们的全部生活都建立在一些不了解其机制的技术上,何以保证这样的日常生活可以永远如此呢?
反思封装不是反对封装;正如同反对消费主义导向的论述不等于反对消费。事实上我们也没有办法反对封装。普通人是没有能力解决封装失效带来的系统性问题。除非从根本上反对现代性,否则没人离得开封装。感叹今不如昔不符合科技进步的潮流,但偶尔也需要置身事外看着这股潮流。通过了解世界的运作模式,来更好的思考自己的生活。接触并解除封装,打开对未来更大的想象。
但在另一个方面,我们需要思考如何让被封装的现代生活继续下去。现代生活太精密了,单点失效会让系统失效。你家一公里以外一个认为电信铁塔会威胁健康的人,可能会让一大片区域的人和互联网失联;新冠疫情全球爆发后,抢购卫生纸,甚至抢劫卫生纸的新闻在不同国家都出现过。谁能想到,一个冠状病毒会让洗手间里没有纸呢?
对于我们最常见的单点失效,可能还是这个:家人看到某一篇文章之后,愣是觉得某种现代技术是祸害,然后令行禁止。包括但不限于:Wi-Fi 会影响怀孕、手机辐射致癌……平心而论,现代技术的封装太好了,对技术人员理解起来都有要求,更遑论普通用户?技术发展,封装持续,我们每个人都会遇到自己不理解且怀疑的新技术。疫情前最有想象力的人也说不出来口罩里有 5G 天线这种话,但对封装背后技术的不了解让很多人对此信以为真。
这也许是当代最大的难题之一:一方面我们要警惕封装,避免生活因为封装的失败而崩塌;另一方面,我们又要保卫封装,不要让封装被妖魔化成为反智主义的温床。
Wi-Fi 致癌和 5G 口罩的谣言是小问题,但让我们日常到有些无聊的日常生活继续日常下去,其实是个天大的问题。
这一切都超过了作为编程术语的「封装」。
这种封装集合的演进,到最后就是对“人”的封装——个体不再是全面而自由的独立人,而是数字、标签、图标。公司不需要知道是什么人在用它,封装成统一的用户画像来代表就行。Google 为了更好的给我分发广告,给我打了 82 个标签——换句话说,对 Google 的算法来说我只是一个由 82 个标签组成的集合体。它的做法早已在全球范围被互联网公司普遍采纳。
被封装的人变成了需要被占领的用户“心智”——心智这个概念原本是法国殖民地长官用来在东南亚打击叛乱时发明的,之后在越南战争被美国特种部队发扬光大(所谓 hearts and minds),现在又被中国互联网公司用于教导员如何对待自己的用户。
需要被影响的心智,都不是自身甚至自己族群的心智。只有“他者”的心智才需要被影响,可一旦用户从人变成需要被影响的“他者”心智,又该如何共情呢?
如果在互联网上感觉哪里不舒服,其实是没有搞准我们作为用户在互联网的位置:为什么所有软件都要我们的定位权限、摄像头权限亦或是读取通讯录的权限?因为用户更多被公司视为数据。既然是数据,那自然越多越好。和初次见面的陌生人要家庭住址、要求看他手机里的所有照片是一种令人难以想象的粗鲁粗鲁行为。可一个 app 能堂而皇之的读取相册。我们早已被这些 app 封装成了别的什么东西。
赛博朋克不光是形似九龙城寨的配色,也不是“High tech low life”。赛博朋克早就开始了,在一个把用户封装起来的赛博世界里,什么朋克的事情都有可能发生。
作为用户的你我,却经常把这些事情看作理所当然。我自己写了这篇文章,可我也没有哪次真的仔细读过任何一个 App 的隐私协议;我用各种信用来免押金租充电宝,我也没在乎过这个信用分是怎么被算出来的;如果不是我自己做过 App,也很难意识到 App 原来在背后拿了我这么多信息,知道微信在用户协议里写着,我的账号属于腾讯公司。
前两天我的一档播客《晚点聊》无法在北美被苹果用户搜索到,苹果客服说一切正常。我意识到我对此完全无能为力:我对苹果历史的了解可能比苹果的员工还多、对乔布斯的故事如数家珍、有多年制作播客的经验、也了解各种技术细节——即使是这样,我也没有任何能做的。我不知道苹果内部如何判定的“一切正常”、不知道这件事该谁来负责、不知道究竟是系统 Bug 还是我的问题。
意识到问题存在、世界不是那么可靠不难。难的是,没人能给出确保封装从不失效的解决办法。在一个被封装的世界里,解封需要莫大的勇气和能力。
日本思想家加藤周一(Shūichi Katō 1919-2008)几乎完整经历了日本军国主义发起的灾难,他作为旁观者看着日本如何从大正民主变成了昭和怪物。在战后,他作为日本方面的代表与占领军一起调查广岛原子弹所带来的影响。作为旁观者的他,多次被自己的亲身经历而震撼;但他却无能为力改变这一切。
他开始思考自己的经历,于是诞生了自己的一个哲学观点。他认为当人面对一个残酷但自己却无法有所作为的时候,会有两种态度:一种态度认为既然做什么都没用,那索性就不管了,关心自己的生活就好;另一种人认为,即使做什么都没用,那也要知道为什么会发生这些事,这些令人无能为力之事的源头在哪里?加藤决定做后一种人。
也许对我们来说也是一样。即使一些问题,我们此刻没有任何解决办法,了解问题本身就是解决问题的第一步。成为使用封装工具的人,而不要成为被封装的人。
本文首发于《晚点 LatePost》
题图来自©️Yixuan
如果你想看我叭叭的更多内容,欢迎关注我的推特@HanyangWang
或者关注我的 Mirror:
glhf:)