当然能,而且效果非常显著。
我用一个大白话的例子来解释。
假设你想解决“口渴”这个问题。
如果不用第一性原理,你可能会想:“大家都是怎么解渴的?哦,买瓶装水、买饮料、买咖啡。” 于是你开始研究各种饮料的配方、口味、包装,甚至花大价钱建一个饮料工厂。这就是“类比思维”,看别人怎么做,我就怎么做,还想做得更花哨。结果可能你只是有点渴,却搞出了一大堆复杂的东西。
但如果用第一性原理,你会把问题拆解到最根本的元素:“口渴”的本质是什么?是身体缺水。那么解决这个问题的核心就是“补充水分”。构成“水”的基本元素是H₂O。
想到这一层,你就会发现,解决问题的方案不一定非得是开工厂生产饮料,你只需要找到任何含有H₂O的、干净的液体就行。一杯白开水、一个水龙头、甚至一个苹果(也含水),都能在不同程度上解决这个核心问题。
现在我们把这个思路套在“技术设计”上:
“技术过度设计”的本质,就是像上面那个例子一样,你忘了自己最初只是“口渴”,却一头扎进了“如何建一个牛逼的饮料帝国”的幻想里。比如,你只是想做一个简单的公司内部论坛,结果一上来就用了支撑千万级用户同时在线的“微服务”、“分布式数据库”、“负载均衡”……各种高大上的技术全家桶。你的理由可能是:“你看,Facebook和淘宝不都是这么做的吗?”
这就是典型的“类-比-思-维”,而不是第一性原理。
如果你用第一性原理来思考,你会问:
- 我到底要解决什么核心问题? -> 让公司几十个同事能发帖子、能回复。
- 这个问题的最基本需求是什么? -> 一个能发布内容的地方、一个能展示内容的地方、一个用户登录系统。
- 实现这些基本需求的最小代价是什么? -> 找个开源的论坛软件(比如Discuz!, Flarum)装一下,或者用个云服务,可能半天就搞定了。
你看,通过一层层剥开问题,回到最核心的需求,你自然而然地就排除了那些复杂、昂贵但完全没必要的“高级功能”和“屠龙之技”。你用最直接、最高效的方式解决了问题。
所以,第一性原理就像一个“照妖镜”,它能帮你识别出哪些是问题的核心,哪些是别人附加给你的、或者是你自己想象出来的“伪需求”。它强迫你从“我需要一个能遮风挡雨的屋顶”开始思考,而不是直接跳到“我要盖一座凡尔赛宫”。这样一来,自然就避免了过度设计。