如果你要重构一个跑在生产环境、不能停机的大系统,你会怎么开始?没有哪个靠谱的工程师会第一天就直接上手改核心。他会先找一个小一点、影响面可控的模块,在那儿把新写法调通,看它真的能跑、副作用能承受,然后再往上推。
1987年底,朱镕基调任上海市长。事后回头看,上海就是他的那个模块——一块可以先插上电、通一遍电流、看会不会冒烟的练手电路板。他在这里试的那套改法,五六年后被几乎原样搬到了全国。
为什么是上海,为什么是这个时候
先说清楚背景,别把上海的功劳全记在一个人头上。
1980年代的上海是个憋屈的角色。它一直是全国工业和税收的顶梁柱,但钱大头上交中央,自己留不下多少,市政几十年欠账没还:住房挤、马路堵、自来水黄、外滩底下的下水道还是租界年代的。一个曾经的远东第一大城市,被自己产出的财富反向抽干了。这不是哪个市长干坏的,是整套财政包干——也就是各地按约定额度上交、超收部分自己留一部分的分钱办法——长期作用的结果(这套机制的病灶,后面第四、第五章会专门拆)。
大白话:上海像公司里那个最能干活、却被抽走最多提成的部门。活越干越多,自己账上越来越穷,设备年久失修也没钱换。
朱镕基接手的,就是这么一台又重要、又缺钱、又老化的机器。好处是:它足够大,能验证真问题;又足够独立,改坏了也不至于把全国拖下水。对一个想验证方法论的人来说,这是理想的试验台。
第一个动作:把一百多个图章合成一个
他上手最出名的一刀,砍的是审批。
当时一个外商想来上海投资建厂,要经历什么?打个比方,就像你提交一份申请,系统要求你依次去十几个窗口,每个窗口盖一个章,缺一个都不算数。据后来的复盘,一个外资项目从头跑到尾,要盖上百个图章(常被引用的数字是一百多个)、跑十几个部门,来回几个月甚至一两年。很多外商跑到一半就走了。
大白话:不是没人想批,是流程本身太长。每一关都在等上一关,谁都不肯先松口,事就卡死在中间。
用工程师的话说,这是个典型的串行长链路问题。审批被拆成上百个前后依赖的步骤,一个接一个,任何一步慢,整条链就停在那儿。而且这条链还特别深——像一个层层嵌套的调用栈,A 要等 B 的结果,B 要等 C,栈越叠越深,最上面的申请人根本看不到自己卡在哪一层。链路上任何一个节点心情不好、不想担责,整个请求就永远超时。
1988年,上海成立了上海市外国投资工作委员会。它干的事,本质上就是一次架构重写:把原来散在十几个部门的审批权,收拢到一个机构手里,对外只留一个入口。外商把材料交给这一家,由它在内部去协调各个部门,最后盖出一个图章就算数。这就是当年上海有名的一个图章改革。
翻译成系统设计,它做了两件事:
- 把串行改成单一入口。申请人不再自己在长链上一关一关跑,只跟一个前台打交道,内部协调对外不可见。相当于把外部调用从「你自己去调十几个服务」变成「你调一个网关,网关替你去调后面那堆服务」。
- 把责任从一堆节点收成一个。原来每个部门都能说「不」、都不担全责,现在有一个机构对整件事负责、也有权拍板。请求终于有了明确的负责人,而不是在栈里无限打转。
效果是审批周期从以月计、以年计,压到以周甚至以天计。这不是因为谁突然变勤快了,而是因为把一条又长又深的链路,换成了一个短的、有人兜底的入口。结构变了,速度才变。
这里要说句公道话:一个图章不是把审批取消,把关还在,只是把并联的窗口合成了一站式受理。它解决的是「流程结构」的病,不是把门槛拆光。分清这两者,才不会把它讲成大跃进式的口号。
第二个动作:浦东——不是修补,是新建一块
如果说一个图章是重写一段旧代码,那浦东更像是:旧系统改无可改的地方,干脆新起一块干净的分区,在上面按新规矩来。
先把史实摆正:浦东开发开放是1990年由中央正式宣布的国家决策,不是上海一市、更不是某一个人拍的板。朱镕基当时是上海主政者,是这件事在上海落地的关键推动者和执行者之一,但拍板权在中央。这点不能含糊。
大白话:浦东这个大方向是国家定的。朱镕基的角色,是把这个决定在上海真正跑起来的那个工头,不是出题的人。
为什么要「另起一块」?因为浦西那边,土地、审批、既有利益、老规矩全都盘根错节,任何改动都会牵动一大片。而浦东当时大片是农田,几乎是一张白纸。在白纸上你可以直接用新的招商规则、新的土地办法、新的审批流程——包括把一个图章这类做法直接内建进去。
这正是工程上常见的一招:与其在纠缠的老代码里硬改,不如新建一个干净模块,在里面验证新范式,跑通了再让老系统慢慢迁过来。浦东就是这样一个「新分区」:风险隔离,成了是范本,出问题也不至于炸到全城。
第三个动作:先让机器不冒烟——菜篮子和交通
改结构是长线,但一个市长每天还得面对:老百姓今天有没有菜吃、路堵不堵、水通不通。系统再宏大,用户天天要用,你不能让它当着人的面死机。
朱镕基抓了两类眼前事。一类是民生供给,最有名的是菜篮子工程——大白话就是稳住肉、蛋、菜、奶这些副食品的生产和供应,别让市民买不到、买不起。方法很朴素:把郊区的生产基地、批发流通、零售网点当成一条链来管,哪一环短就补哪一环。另一类是城市硬件,修路、造桥、动大工程,一点点把几十年的市政欠账往回还。
大白话:一边给系统做长期重构,一边还得当好运维,保证它今天不宕机。市长这活儿,两班倒。
这些事单看都不惊天动地,但它们体现了他后来一以贯之的做法:盯住能量化、老百姓能直接感知的指标——菜价、通勤时间、开工的工程数——而不是停在文件和口号上。这是他电机系出身的老习惯:先定义清楚要优化的量,再去动它。
把这块电路板上学到的,攒成一套方法
朱镕基1989年后兼任上海市委书记,1991年调往中央。在上海这四五年,他没造出什么惊天理论,但把一套可复用的改法调通了。至少有三条,后来在全国一次次复现:
- 先在可控范围里试。不在全国直接动核心,先找一个够大、又能兜底的模块(上海、再到浦东这个分区)跑通再放大。这是「灰度发布」的思路:小流量验证,没炸再全量。
- 改结构,而不只是改人的态度。一个图章的关键不是要求大家「提高效率」,而是把串行长链换成单一入口——先改流程和权责的连线方式,速度是结果。
- 用可量化的指标说话。周期从几个月压到几天、菜价稳没稳、工程开工多少——用数字判断改法有没有效,而不是靠感觉和汇报。
值得点明的是这套方法的边界。上海之所以能当练手板,正因为它规模可控、又相对独立。可全国不是一块电路板,它是那台不能停机、上亿人同时在线的主机。同一套改法搬上去,量级完全不同,副作用也会被放大到另一个数量级——分税制会动所有省的钱袋子,国企改革会牵动几千万人的饭碗。练手成功,不等于实战一定成功。
但对1991年离开上海、即将进京的朱镕基来说,他手里已经有了一样别人没有的东西:一套在真实系统上验证过、真的能跑通的改造流程。接下来的十来年,他要做的,就是把这块小电路板上调通的写法,一段一段地移植到那台巨型主机上——而且是在它满负荷运转、一秒都不能停的情况下。
从这一章往后,试验场结束,真正的活体手术开始。