1958 年初,杜邦的六位工程师把一座新工厂的网络图铺满了办公室的一面墙。图上有 846 支箭头,每一支是一项工作、一次交货或一处先后关系,他们足足画了两个月。然后,一台计算机算出了贯穿整张图的最长工作链。
公司的常规排期组有自己的一份关键交货清单。小组没有用它,把全部 156 项交货都放了进去,计算机算出,真正可能拖住工期的只有 7 项,其中 3 项不在排期组的清单上。整个项目里,只有大约十分之一的工作是关键的。方法的发明人詹姆斯·凯利和摩根·沃克写道:「人的直觉,是把这些结果当成笑话。」
按他们的说法,一年后,同一个方法把杜邦另一座工厂的检修停车时间从 125 小时压到了 93 小时。其余经过见案例。
最长的那条线
一环等一环的最长那条工作链,决定什么时候完工,盯住它。
凯利和沃克起初管它叫「主链」。后来叫开的名字「关键路径」,是给美国海军开发类似方法的那批人起的。他们 1959 年的论文说,关键路径上的工作一旦延误,项目完工也会「相应延误」,所以叫关键。其他工作都有一点挪动的余地,叫浮动时间,也叫富余时间。
假设一个小团队要上线一个产品页面。文案要 3 天。文案写完后,设计要 4 天,开发要 5 天;视频也要等文案,拍剪要 6 天。两边都做完,才能上线。文案、设计、开发首尾相连,一共 12 天;文案加视频,9 天。前一条是关键路径。视频有 3 天浮动时间:晚开工或多做 3 天以内,上线日都不会动。把视频缩短一天,什么也不会变;把开发缩短一天,上线就能早一天。
凯利后来写道,只要把网络图画得合理,再算出每项工作最早、最晚的开始和结束时间以及浮动时间,网络计划方法能带来的价值,就拿到了「90%」。他说,在这之上的种种精细功能,往往「不过是花哨的点缀」。
多出来的力气往哪里使
这个方法最先带来的好处,是知道哪里不用使劲。沃克回忆,他以前学到的是,项目一拖,就全线加人,把项目「往死里砸」。「这种全线砸钱的做法司空见惯,也很愚蠢,」他写道。
在第一个试验项目上,计算机算出,可以不多花钱提前两个月完工;可变直接成本只多花约 1%,还能再提前两个月。凯利和沃克的解释很简单:只有大约十分之一的工作是关键的,只有这些需要加快。
会在哪里误导人
图只和画图人的判断一样可靠。沃克讲过他们早期培训班上的一道练习:更换一段管道,给出 16 项工作和各自的工期。一个 20 到 30 人的班,通常会画出九到十种不同的网络图,总工期从 270 小时到 380 小时不等。他的结论是,没有谁能每次都排出一个项目「最好」的计划。
关键路径也会移动。他们 1959 年的论文提到,关键工作缩短以后,别的工作也会变成关键的。在一条链上用力够猛,最长的就可能换成另一条。
基本的关键路径法也没有把人算进去。两项工作要用同一台吊车或同一位专家,在图上可能看着互不相干,实际上还是得一项等另一项。关键链就是后来把这种等待补回去的一种尝试。
设想一位项目经理,开工时画好关键路径,钉在墙上,之后再也没有重画过。半年后,一家供应商的一个零件晚到三周,而图上说这个零件有充足的浮动时间。团队可能还在把加班时间投进旧的那条链,真正的关键路径却已经改道,穿过了这个迟到的零件。
智能体团队
Claude Code 的智能体团队,把依赖关系写得明明白白。一个负责统筹的会话建一份共享任务清单,队友从里面认领任务。文档说,一个任务可以依赖别的任务;依赖还没完成的待办任务,「不能被认领」,要等前面的做完。
文档得出的结论,和关键路径法的思路一样。它说,队友之间能各干各的时候,团队「效果最好」;「对于顺序进行的任务、要改同一个文件的工作,或依赖关系很多的工作」,单个会话或子智能体更合适。多加几个队友,可以让更多不在链上的工作同时进行,却缩短不了一环等一环的链,还会多出协调成本和 token 开销。往一条环环相扣的链上加智能体,可能很像沃克说的全线加人。
在杜邦那面墙上,156 项交货里只有 7 项能拖住整座工厂。找出是哪 7 项,是这个方法最早的贡献。