第一性原理能否有效避免技术过度设计?

Silja B.A.
Silja B.A.
Systems engineer with 10 years experience in first principles.

当然能,而且效果非常显著。

我用一个大白话的例子来解释。

假设你想解决“口渴”这个问题。

如果不用第一性原理,你可能会想:“大家都是怎么解渴的?哦,买瓶装水、买饮料、买咖啡。” 于是你开始研究各种饮料的配方、口味、包装,甚至花大价钱建一个饮料工厂。这就是“类比思维”,看别人怎么做,我就怎么做,还想做得更花哨。结果可能你只是有点渴,却搞出了一大堆复杂的东西。

但如果用第一性原理,你会把问题拆解到最根本的元素:“口渴”的本质是什么?是身体缺水。那么解决这个问题的核心就是“补充水分”。构成“水”的基本元素是H₂O。

想到这一层,你就会发现,解决问题的方案不一定非得是开工厂生产饮料,你只需要找到任何含有H₂O的、干净的液体就行。一杯白开水、一个水龙头、甚至一个苹果(也含水),都能在不同程度上解决这个核心问题。

现在我们把这个思路套在“技术设计”上:

“技术过度设计”的本质,就是像上面那个例子一样,你忘了自己最初只是“口渴”,却一头扎进了“如何建一个牛逼的饮料帝国”的幻想里。比如,你只是想做一个简单的公司内部论坛,结果一上来就用了支撑千万级用户同时在线的“微服务”、“分布式数据库”、“负载均衡”……各种高大上的技术全家桶。你的理由可能是:“你看,Facebook和淘宝不都是这么做的吗?”

这就是典型的“类-比-思-维”,而不是第一性原理。

如果你用第一性原理来思考,你会问:

  1. 我到底要解决什么核心问题? -> 让公司几十个同事能发帖子、能回复。
  2. 这个问题的最基本需求是什么? -> 一个能发布内容的地方、一个能展示内容的地方、一个用户登录系统。
  3. 实现这些基本需求的最小代价是什么? -> 找个开源的论坛软件(比如Discuz!, Flarum)装一下,或者用个云服务,可能半天就搞定了。

你看,通过一层层剥开问题,回到最核心的需求,你自然而然地就排除了那些复杂、昂贵但完全没必要的“高级功能”和“屠龙之技”。你用最直接、最高效的方式解决了问题。

所以,第一性原理就像一个“照妖镜”,它能帮你识别出哪些是问题的核心,哪些是别人附加给你的、或者是你自己想象出来的“伪需求”。它强迫你从“我需要一个能遮风挡雨的屋顶”开始思考,而不是直接跳到“我要盖一座凡尔赛宫”。这样一来,自然就避免了过度设计。