寓言
运河闸口的自动船和跑外海的引水人
镇上有两种跑船的。运河上跑着一排长得一样的铁壳船,箱子里装好程序,到闸口自己减速、排队、等水位平了就过。外海跑着老顾,三十多年只靠一本星图和一根竹竿。外地船主到镇上雇人跑货,觉得两种船都一样——都能把货从南送到北。
三月涨水,运河闸口出了故障,水位不按程序走了。铁壳船在原地来回晃——程序里的水位条件永远对不上,没人能重写。老顾那天正好在内河,一看水面知道上游开了泄洪闸,绕了十七里走支流,当晚把货送到。镇上的人说老顾赢了。
但到了运输旺季,运河一天要走两百趟。老顾就算有三头六臂,一天也只能跑四趟,而且每次绕路、判断、决策都要花精力。铁壳船排队平稳、速度一致、油耗精准到小数点。旺季算总账,铁壳船运量是老顾的二十多倍。镇长在码头总结了一句话:一个能处理意外,但只有一个人;一个不能处理意外,但能复制无数个。
后来有人找老顾学跑外海。老顾把一辈子遇到的海况编成册子,徒弟背了一年出海还是翻了一次——那天的浪不在这本册子里。铁壳船的工程师想把运河程序扩展到外海,写了十个月发现,光是潮汐变化的组合数就超过了程序能承受的分支。
拆开来看,老顾的优势不在任何一条航线,而在他能判断什么情况没见过、接下来该试什么方向。铁壳船的优势在所有见过的情况,进一次闸口就比老顾快三倍。边界之外的叫意外,边界之内的叫吞吐。
镇上定了规矩。运河运力紧张时铁壳船管日常跑量,老顾管紧急件和绕路单。海运全部交给老顾——铁壳船不翻则以,翻了就是整个闸口堵死。一条船用处理意外的能力换容量,另一条用容量换处理意外的能力。
新手船主常犯一个错:以为把铁壳船的程序升级一下就能跑外海。升级了水位判断、加了浪高模块、嵌入了风力预测,但第一次遇到三种异常同时发生时,船在原地转圈。老顾从旁边路过,看了一眼说:你不是在教它怎么跑海,你是在把每条海路都画进运河闸口的图纸里。