上一章我们看着一列车从一家公司的轨道,一路开进另一家公司的隧道,中间不用换乘。那是"直通运转"——把好几家公司的线路在时间上缝成一条。这一章我们看的是同一件事在空间上的样子:好几家公司、好几条线,全挤在同一个地名底下,叠成一座楼。这座楼就是新宿站——被吉尼斯认证为世界最繁忙的车站,一天进出大约三百五十万人次。
新宿站有个绰号:迷宫。两百多个出口,上上下下好几层,JR、小田急、京王、东京Metro、都营五家公司的线在这里交叠。第一次来的人,经常在里面绕十分钟找不到出口。可就是这么一座迷宫,一天吞下三百多万人,不瘫、不踩踏、不回堵。这章想讲清楚两件反直觉的事:它为什么长成迷宫,和它为什么不崩——你会发现,这俩其实是同一枚硬币的两面。
迷宫是长出来的,不是画出来的
软件工程师看到"迷宫",第一反应往往是设计失败。但新宿站的乱不是设计出来的乱,是没被统一设计过的乱。
回想第2章:日本的铁路是一堆私营公司各自修的,不是国家画一张总图。新宿站也一样——一百多年里,JR(当年的国铁)先在这儿有站,然后京王来了在旁边修自己的站,小田急也来修,后来地铁挖到地下又叠一层,都营再叠一层。每家公司只管接好自己那一摊,接口能通就行。一百多年下来,一层压一层、一段接一段,谁也没停下来把整座站推倒重来、画一张干净的总图。
它不是一次盖好的,是几家公司各自在这里修站、加了一百多年、层层叠上去长出来的。所以"没有统一总图"是历史留下的,不是谁蠢。
这个东西软件工程师太熟了。一套跑了几十年的遗留系统(legacy,前人写的、没人敢大改、一直在用的老代码),多个团队各自迭代、加了几十年功能、没人做过一次统一重构——从外面调接口能用,钻进去看内部盘根错节、命名混乱、绕来绕去。新宿站就是一座水泥版的巨型遗留系统。迷宫感,是"多个主体 + 长期增量 + 没有统一重构"的必然副产品。它跟聪明不聪明无关,是这种生长方式一定会长成的样子。
它管的不是好看,是通行能力
那为什么它不崩?因为设计车站的人,优化的目标从来不是"让你好懂",而是另一个东西——
通行能力(throughput,单位时间能过多少人,等于一条路的"带宽")。一座巨型站真正的命题只有一个:每一秒,能不能把该过的人都放过去,不在任何一处堵住。好不好懂是次要的,别堵才是要命的。
怎么做到别堵?关键的一步,是把人流当流体来算。走廊是管道,人是水,闸机是阀门,楼梯是变窄的管段。一旦你这么看,交通工程里那套关于流量的直觉就全用得上了。
头号杀手是对冲
把水管里的水想象成两股对着冲——流量立刻掉下来,甚至互相锁死谁也过不去。人流一模一样:两股人对着走,是通行能力的头号杀手。一个人要往里、一个人要往外,在同一条窄道里错身,两个人都得减速、侧身、停顿,后面全跟着卡。
所以车站的第一招是单向流:让进站的人和出站的人尽量走不同的通道,上行下行分道。很多楼梯、通道被做成单向的——这一条只上、那一条只下。看着"绕",其实是拿空间换掉了对冲。你觉得路远了,但整条路的过人速度翻了倍。
瓶颈决定一切
一条路能过多少人,不由最宽的地方决定,由最窄的地方决定——回到那个木桶:装多少水看最短的那块板。管道再粗,中间掐细一段,整体流量就被那一段摁死了。车站里的瓶颈(整条路上通行能力最低的那一段)通常是楼梯口、检票口、窄通道。
所以设计车站,本质上是一件事:找到瓶颈,把瓶颈拓宽,别让它堵成回压。回压(backpressure)是说——某处堵住了,人退不动,队伍一直倒着排到上游,把前面本来通畅的地方也拖死。软件里限流、削峰是同一个词、同一件事。找瓶颈、拓宽瓶颈,是这门手艺的核心动作。
用缓冲和错峰削掉尖峰
光拓宽还不够,因为人流不是匀速的——一列车到站,几百上千人"哗"一下同时涌出来,是个尖峰。对付尖峰有两招:
- 缓冲池:月台做得足够宽,检票口摆很多台闸机并行。宽月台是个蓄水池,能先接住一整车涌出来的人,让他们慢慢流向楼梯,而不是全挤在楼梯口;多闸机并行,就是把一个窄阀门换成几十个阀门一起放。
- 错峰:靠第6、7章那套精密的运行图,错开各条线的到发时刻,别让所有线在同一秒把人全倒到同一部楼梯上。峰和峰要是叠在一起,再宽的路也扛不住;把峰岔开,同样的路就够用了。
标识就是带宽
最后一招最容易被忽略:指示牌也是通行能力的一部分。
想想一个人在楼梯口停下来,抬头找"我该往哪走"——他一停,后面的人全得绕他、等他,那一小块地方的流量瞬间掉下来。一个人驻留,就是一个临时瓶颈。乘一天几百万人,驻留是会要命的。
所以清晰的指示牌、颜色区分、线路编号、大字箭头,作用不只是"贴心"——它们是在让每个人不停下、不犹豫、保持移动。寻路(wayfinding,靠标识让人不用问路就能走对)做得好,人流就不驻留;不驻留,通行能力就保住了。好的标识,本身就是在维持带宽。
迷宫和不崩,是同一枚硬币的两面
现在把两头接起来,那个反直觉的结论就出来了:
正因为它是好几家公司一百多年叠加出来的,所以它对人是迷宫;又正因为每家公司和车站方都把人流当流体、死磕通行能力,所以它对人流极其友好。
空间上是迷宫,流量上是高速公路。这两件事不矛盾,它们说的根本是两个不同的对象:一个新来的人在里面会迷路(空间复杂),但每一秒钟海量的人能顺畅地过去(流量顺滑)。设计者优化的从来不是"好懂",是"别堵"——这两个目标经常连相关都不相关。
所以记住一句:巨型站真正的敌人是"对冲"和"驻留",不是"复杂"。复杂只是让你多走两分钟、心里骂两句;对冲和驻留才会让整座站在早高峰真的堵死、真的出人命。车站方把绝大部分力气都花在了消灭对冲、消灭驻留上,至于你觉不觉得像迷宫——那不在他们的目标函数里。
还有一层:正是因为它是多公司叠出来的,才更需要死磕通行能力。五家公司交汇,意味着换乘的人流在这里疯狂交叉、对冲的机会成倍增加——历史留下的复杂,逼着它必须在流量工程上做到极致,否则早就崩了。迷宫不是不崩的障碍,某种意义上,迷宫正是逼出"不崩"的原因。
不过,五家公司、一天三百多万人,每个人从哪进、从哪出、坐了谁家的几站,票钱到底该怎么在这几家之间分清楚、还得让你刷一下就过?那是另一套看不见的系统了——下一章讲那张卡:Suica,和它背后的清分。