首页 › 项目与执行 › 90-90 法则
项目与执行 · 估算与范围

90-90 法则

最后那 10%,常常和前面 90% 一样费时间。

Ninety-Ninety Rule◷ 约 3 分钟▤ 3 个真实故事换成 AI 也一样在知识地图里看它和谁相连 →

玩这一课(2 分钟)

2007 年,游戏工作室 3D Realms 请来一位新的创意总监拉斐尔·范利罗普,给了他《永远的毁灭公爵》里的几大段来试玩。他玩了大约五个小时,越玩越兴奋:游戏已经做到这个份上,再拼一年就能发售。

不不,项目负责人乔治·布鲁萨德告诉他,还差两年。

「我心想,哇,」范利罗普说,「你有多少次已经到了终点线跟前,却以为自己还差得远?」

这款游戏十年前、1997 年就宣布了。2009 年 5 月,老板自掏的钱快烧光了,工作室解散了开发团队,游戏还是没做完。

加起来是 180% 的法则

1985 年 9 月,计算机科学家乔恩·本特利在《ACM 通讯》的专栏里,登了一批读者寄来的、短得能印上汽车保险杠贴纸的规律。其中一条来自贝尔实验室的汤姆·卡吉尔,本特利管它叫「可信度法则」:

「前 90% 的代码,花掉前 90% 的开发时间。剩下 10% 的代码,花掉另外 90% 的开发时间。」

这笔账是个玩笑:90 加 90 等于 180。好笑就好笑在它说中了身在其中的感觉:项目按计划走到 90%,然后在 90% 附近又待上差不多同样长的时间。(本特利还补了一句:规律旁边署的名字,通常只是把它寄给他的人,「哪怕那个人其实说是从他表哥拉尔夫那儿听来的」。)

卡在 90

1988 年,美国海军研究生院的塔里克·阿卜杜勒-哈米德把这个玩笑当了真。他引用了更早的一段描述,把它叫作「90% 综合征」:对完成了多少的估计,一直照计划往上涨,涨到八九成,「之后程序员自己的估计就涨得非常慢,直到活真正干完」。

他研究了美国航天局戈达德航天飞行中心的一个软件项目。人力估的是 1,100 人天,实际用了 2,200。最后花掉的人力,有一半从来就不在估算里,而项目大部分时间里,谁也看不出来。

时间就丢在这里。「完成了 90%」是拿一开始的计划量出来的。没人算进计划的那些活,各种奇怪的情况,单独没事、一拼起来就出错的部分,都在最后才冒出来,而那时进度条看上去已经快满了。阿卜杜勒-哈米德的诊断是两件事叠在一起:活一开始就估少了,做到哪一步又看不清楚。

设想一位咖啡馆店主,周二拿到了新做的网上点单页面,看上去已经完工。点一杯咖啡没问题,付款也没问题。当天下午,她照着顾客会用的方式试了一遍:输一个折扣码,价格变成了负数;填一个刚出城的地址,配送费一分没收;确认邮件掉进了垃圾箱。每一处修起来都只要半个小时。到了五点,页面还是「差一点就好了」,要修的单子比开始时还长。

智能体说的「做完了」

AI 智能体走到 90% 很快。2025 年,研究机构 METR 让一个基于 Claude 3.7 Sonnet 的智能体,处理两个大型开源项目里的 18 个真实问题。它写的代码有 38% 通过了维护者自己写的测试。接着研究者一份份细看了其中 15 份代码提交:没有一份能原样合并。测试没补全,格式不对,代码要再收拾。按研究者的粗略估计,每一份平均还要人花 42 分钟才能修好;他们自己说这个数「非常粗略」「是主观判断」,不是实测。

Anthropic 让 Claude 分很多轮会话去做一个完整的网页应用时,也撞上了同一件事。工程师写道,后面某一轮的智能体会「四下看看,发现已经有了进展,就宣布活干完了」。

他们的办法,是把终点线写下来。动手写代码之前,先由第一轮会话把需求拆成一份功能清单,光一个应用就有两百多条,每一条一开始都标着「未通过」。提示词要求后面的会话只改这个标记,不许删改任何一条需求。这是一条指令,不是一把锁。

光有清单还不够。Claude 还是常常跑完单元测试、对服务器发个请求,就把一项功能标成完成,却没发现它从头到尾走一遍根本不通。工程师于是给了它浏览器自动化工具,要它像真实用户那样去测。这一招效果很大,但不是处处都灵:智能体看不见浏览器自带的弹窗提示,依赖弹窗的那些功能,毛病就多一些。它们在清单上,也被检查过,却还是没做完。

先看几件事

玩一玩

出处

  1. Clive Thompson, Learn to Let Go, How Success Killed Duke Nukem, Wired, December 2009 (archived)
  2. Jon Bentley, Programming Pearls, Bumper-Sticker Computer Science, Communications of the ACM 28(9), September 1985 (archived scan)
  3. Tarek K. Abdel-Hamid, Understanding the "90% Syndrome" in Software Project Management, Journal of Systems and Software, 1988
  4. METR, Research Update: Towards Reconciling Slowdown with Time Horizons, August 12, 2025
  5. Anthropic, Effective harnesses for long-running agents, November 26, 2025
  6. CD Projekt, conference call transcript, December 14, 2020
  7. CD Projekt, Cyberpunk 2077 is available on PlayStation Store, June 21, 2021
  8. Jason Schreier, Bloomberg, Inside Cyberpunk 2077's Disastrous Rollout, January 16, 2021
  9. BBC News, Cyberpunk 2077 delayed until December despite developer crunch, October 27, 2020
  10. BBC News, Cyberpunk 2077, Staff to work overtime to finish game, September 30, 2020
  11. BBC News, Cyberpunk 2077, Sony pulls game from PlayStation while Xbox offers refunds, December 18, 2020
  12. BBC Newsbeat, Cyberpunk 2077, We underestimated difficulties, January 2021
  13. Abgeordnetenhaus von Berlin, Bericht des 1. Untersuchungsausschusses (BER), Drucksache 17/3000, June 14, 2016
  14. Abgeordnetenhaus von Berlin, Bericht des 2. Untersuchungsausschusses (BER II), Drucksache 18/4010, August 9, 2021
  15. AP (via KSAT), New Berlin airport opening 9 years late with little ceremony, October 31, 2020