有的显性假设认为,如果将类AI算法用于结构和连接,而不仅仅用于有效载荷,那么系统将不易出现持续的灾难性故障。
当然,显性在小系统中连接模块时效率很低,我们依靠机器视觉和学习算法来联合最基本的任务。但在非常大的系统中,维护协议会变得低效。例如,会有不断的更新和病毒扫描,而且每次更改协议时,都要停机很久。
我要举个音乐方面的例子。这么多年来,我为音乐软件的插件花了上万美元,来为混音添加混响等,但最后这些插件都不能用了,没有一个能用!
软件组件很快就会过时,因为它们需要完全符合软件生态系统的协议和其他方面,而我们很难防止微小变化的出现。[13]
我还买了很多物理音效踏板,甚至还有20世纪70年代的,又买了一大堆音乐合成器物理模块。这些硬件中,许多都有计算机芯片,功能与我购买的软件插件的功能完全一样。但是它们与软件插件最大的不同就是,所有的物理设备现在都能用,全部都可以。
物理设备和软件插件的区别在于,物理设备采用的是不会过时的模拟气隙连接。
理论上,软件插件应该更便宜、更高效、各方面的功能更好。可实际上,硬件设备更便宜、更高效、各方面的功能更好,因为它们都还能用。硬件音效踏板和模块就是音乐技术的显性版[14],而插件就是协议版。
我们不能只看技术在一段时间内的表现,而必须着眼于包括开发和维护在内的整个技术生命周期。
我购买音乐工具的经历展示了显性假设的另一面:从大范围和长期的使用与修改来看,显性架构比以协议为中心的、基于代码的传统结构更加有效。