法国哲学家和科学家勒内·笛卡尔将第一性原理描述为“系统性地怀疑你可能怀疑的一切事物,直到你获得无可置疑的真相”。
如果掌握了第一性原理其实很多时候都能迅速get到一个事物的本质,以及如何应对的方法论,而且这些方法论可以应用在各个领域。下面我讲几个简单的例子来说明第一性原理可以帮助到你哪些方面。
买各种会员的时候,比如我是qq音乐的普通会员,最近qq音乐给我推了一个svip会员,升级svip后可以获得专属的app图标。当时我就很心动了,但是静下心来好好想一想根据第一性原理,qq音乐这个app应该是干嘛的?当然应该是听音乐的,那么我为什么要买svip来升级他的app图标和外观呢?我又不是为了看他的皮肤有多炫的。
再举一个例子,我在知乎所谓的极狐架构师那里看到一篇文章,说是单元测试的覆盖率必须达到百分之九十,可是他既没有解释百分之九十这个数据是怎么来的,也没有解释为什么百分之九十的覆盖率更好-比百分之八十要好。其实我觉得他是犯了滑坡谬误和没有掌握第一性原理。他一定是这么想的:有单测比没有单测要好,那单测肯定是越多越好,那九十的覆盖率肯定比八十要好。可是,这是谁说的呢?有任何研究表明九十的覆盖率的代码质量大于八十么?测试代码的质量又需要谁来保障呢?你写了一大堆垃圾测试代码,把一些本不需要测试的case全部写上去,看起来覆盖率高,但是代码质量却变得更低了。这就是因为九十是一个拍脑门随便想出来的数字,而不是依据真实情况制定的数字。如果硬要达到九十的覆盖率,代码质量反而可能下降。最重要的是,测试代码是和业务代码强耦合的,如果测试代码很多,后期的改动成本会变得非常大。当然根据第一性原理,这个问题就变得更加容易思考了。单元测试是为了什么服务的?是为了代码质量。哪一部分的代码质量呢?肯定是复杂的容易出错的,比较基础底层的,我自己写完都不知道work不work的。那就需要写一些测试来覆盖这个case。那么这么看来需要写测试的case是有限的,反正我知道肯定不是百分之九十的代码都需要写:)
当然,也有一种故意反其道而行之的case,反第一性原理可以帮我们营销以及推销给顾客他们本不需要的东西。上述的qq音乐会员就是一个例子。很多时候如何故意让用户跑偏让他们从事物的本质上分心也是一种艺术。比如现代手表的装饰性作用就大于看时间的作用,比如游戏皮肤的观赏性作用就大于游戏本身的可玩性,以至于很多人把一个moba游戏玩成了换装收藏游戏。但是这在推动事物发展的过程中却也是必要的。想象一下如果乔布斯非常严格的遵循第一性原理,那么手机就只能打电话发短信,绝对不可能听mp3以及上网,那iphone的出现就绝无可能。
马斯克说第一性原理会指导你做出推理,而不是把事物和已有的事物进行简单的类比。马斯克在做很多的决策时都会用第一性原理做出指导。电池的单位存储容量在很早就被证明无法再提升了,一般的企业家就会放弃,认为新能源电动车是不可能有好的发展前景的,但是特斯拉认为既然电池技术不可能有什么突破,那么我们就把电池做大,把其他的汽车部件做小,多出来的空间都放上电池。在其他的零部件取得突破解决了电池容量不够的问题。这个场景其实三体也有描述,在三体2中人类的科技被锁死,基础物理不可能有任何的进展,一些人就接受不了这个事实而自杀了,但是另一些人却觉得可以发展应用物理,而且确实也取得了突破。这和特斯拉的例子差不多,都是底层的技术被证明不可能有突破后,还是通过一些trick技巧在其他一些领域取得了进展。
特斯拉的电池的例子告诉我们,不要类比,要用第一性原理指导,类比只会让自己走的快,但是不一定走的对。谁说现有的事物就一定正确呢?正是特斯拉另辟蹊径的创新让电车成为了可能。