关注IDG资本微信

新闻中心

每天都要进行的「决策」,这么重要的技能该如何提高?

作者 | 何明科
2017.06.08

决策几乎是除了呼吸、吃饭、睡觉之外,我们每天必做的事情之一。小到今天晚饭该吃什么,大到高考分数出来后,应该选择去哪所大学。仔细想想,决策能力其实在很大程度上影响着一个人的效率以及幸福感。

那么关于决策的技能,究竟能够在哪些方面提高?以下来自何明科的知乎回答,我们认为颇具启发性,在此与你分享。

作者:何明科

回答地址:https://www.zhihu.com/question/49602855/answer/139048586

特别认可的一句话——

人生最浪费时间的三件事:judge,hesitate,and regret。

总结起来全是和选择或决策相关的,分别对应决策前、决策中和决策后。由此可见决策能力对人生影响之巨大。 

要想提高决策能力,就我的经验而言就两条:在非重要决策上节省精力+不纠结。 

巴菲特曾说,犯错少就是成功,特别是回避那些影响重大的弱智决策失误。但是,许多人却每天处在不断决策各种琐事上面,比如:午饭去哪里吃、如何点菜、如何定航班、是否参加某个会议、在同时发生的两个社交活动中如何抉择等等。

如果一个人每天可用于决策的脑力是有限的,那么在无关紧要的决策上花费的脑力太多,就会影响在重要决策上的脑力投入,从而降低决策质量

曾经看见一个大佬级人物,为了一个并不重要的内部会议,和行政总管详细讨论酒店的安排计划,争取达到质量和价格的最优结合(不得不叹服该大佬的精力之旺盛以及潜力之巨大)。 

要在非重要决策上节省精力,自己总结的套路有三。找到如下三类事件,按照如下各自的解法,能简化大部分问题。

1、找到出无需费神的决策,如日后遇见则用最简单甚至是随机的办法处理,比如:吃饭地点、打发时间需要看的电影等等。

2、找到合适的人,在合适的时间,帮助自己在合适的问题上做决策。回到上面关于大佬的例子,集中做一次性决策找到一个靠谱的行政总管并舍得花钱聘用之,一劳永逸,而避免浪费浪费自己的精力在自己并不擅长的问题上反复决策。

3、找到合适的事件建立决策机制。

在读MBA的时候,各类精彩的活动及讲座应接不暇,而且往往冲突。面对这类互相冲突的活动,常困惑于如何选择,各有利弊各有得失,在权衡多个维度的过程中纠结万分。后来经高人指点,建议一套决策机制然后严格执行,核心是保证决策机制简单而可执行。

比如:绅士的机制,参加首先答应的活动,而不能毁约去后来的,哪怕后来的活动更有价值;功利的机制,参加对找工作更有价值的活动,而不管毁约之前的活动会得罪什么样的组织者等等。 

圈定事件看似简单,然而却极需要生活的智慧。难怪 Reinhold Niebuhr 给出如下名言——

上帝赐与我宁静去接受不能改变的事实,赐与我勇气去改变我能够改变的事实,赐与智慧去分辨其中的差别。

第二条是不纠结。

这点也是说起来容易做起来难,纠结难在选择多,而不是没选择。

正所谓Option的反经济学特性(Option的持有本来是带来价值的,而在这里却给持有人带来更多的负面价值)。因此要想不纠结,就是面对没有本质差别的几个选择中做出决定后,迅速制造不能悔改的束缚(法律上或者面子上),让整个人生从纠结中彻底解脱而变得简洁简单,不用在几个方案中反复思考以及选择之后仍然吃着碗里看着锅里得不断后悔。 

举例如下。

拿到两个等量学校的Offer,比如Stanford vs. Harvard。基本常识是这两个学校都差不多,至于什么文化性格匹配,我觉得都是二级层面的问题或者做了决定再找理由,根本不用多理。

毫不犹豫选择 Stanford(选Harvard的人,我也不会粉转黑)或者扔硬币随机选,然后赶紧签约,以及通知自己的亲朋好友让自己不能悔改(这样在法律上和社交关系上就产生了不能悔改的束缚),接着,订张机票该去哪里玩就去哪里玩儿,怀着对未来的憧憬,接下来的旅游肯定畅快无比。

即使 Harvard 利诱,把奖学金翻好几倍,或者找 Nobel Laureate 来做说客,虽然我可能会动心,但是已经和 Stanford 签了,所以不能改而不能纠结,骂一句Welcome To Finland,继续接着玩。但是,我真心见过这样的人,在两个Offer之间纠结数月,最后扭扭捏捏去了一个A学校或者公司之后,还对B念念不忘纠结好几年的人。 

再举一个例子。

即使刚和老婆(或者老板)吵完架,跪主板到膝盖红肿,只要觉得还能过下去(除非连续一周坚定地认为,分了好);出门遇到美女或者初恋(猎头或对手),也是一样表明身份然后秀恩爱或者秀待遇,膝盖那只是换姿势造成的。总之,不要留下任何一个活口,或者给自己产生option的机会。否则生活将会异常复杂…… 

做到了“在非重要决策上节省精力+不纠结”,自然会省出来大量的带宽和精力,对于重要决策做出致命一击。

分享一则晚饭随机的真实案例

《LeanCloud 的工程师如何决定晚上吃什么》
by 王子亭@LeanCloud

在上个月 LeanCloud 在北京的办公室从北三环搬到了东二环朝阳门附近,对于我们这些晚上只能一起在外面解决晚饭的单身青年来说,晚饭的选择多了很多。之前我们其实在公司内部的 IM 上是有一个机器人的:

const 钦点 = require('random-weighted-choice');const choices = [
 {weight: 10, id: '金城牛肉面'},
 {weight: 10, id: '重庆小面'},
 {weight: 1, id: '鸭血粉丝汤'},
 {weight: 2, id: '马甸清真寺'},
 {weight: 20, id: '桂林米粉'},
 {weight: 10, id: '煎饼果子'},
 {weight: 5, id: '请点外卖'},
 {weight: 5, id: '黄焖鸡米饭'},
 {weight: 5, id: '卤煮'},
 {weight: 5, id: '重庆小面全国五十强'},
 {weight: 3, id: '江西菜'},
 {weight: 5, id: '请点外卖'},
 {weight: 1, id: '铁锅焖面'}
 ];
 
 module.exports = function(robot) {
   robot.hear(/吃/, function(res) {
     res.send(钦点(choices));
   });
 }

如你所见,这是一个非常简单的随机算法,但有时它的结果并不能让大家信服:大家并不能对每一个餐馆的权重达成一致;这个简单的算法也不会考虑今天有哪些人参加、过去几天吃了什么;因为每次调用给出的结果都不一样,经常会被反复「摇」出不同的结果。

我在这个月刚刚从昆山办公室搬到北京,于是开始着手解决「晚上吃什么」这个问题,我希望建立一个评分系统 —— 每个人对每个餐馆都可以有个评分,然后机器人综合当天吃饭的每个人的评分、过去几天吃过什么给出一个确定的选择。

于是我们先来设计数据结构,其实这是一个蛮通用的需求 —— 几个人为不同的选项来设置偏好,最后选出一个结果:

  • 一个餐厅表,用来存储所有的餐厅

  • 一个偏好表,用来存储每个人对每个餐厅的评价

  • 一个就餐历史表,包括每顿饭去了哪里、都有谁参加

然后需要设计一组命令来与机器人交互,来进行餐馆列表、个人偏好的录入:

然后每天吃饭的流程是这样的:

那么最后这个建议是怎么来的呢?最基本的当然是根据大家设置的偏好,给每个餐馆一个排名:

如果一个人为很多餐馆都设置了偏好,那么他对每一个餐馆的影响权重就会变小。接下来考虑过去五天去过的餐馆,如果一个餐馆昨天刚刚去过,那么今天就不去了;如果前天去过,那么今天的权重就要降低很多等等。因为每天参加晚饭的人都是不同的,所以这个过去五天去过的餐馆是针对每一个人单独计算的,最后的结果也是一个餐馆的排名:

如果止步于此的话,可能会导致最后选择的餐馆非常单一,即使考虑过去五天去过的地方,也很有可能出现五个餐馆不断循环的情况,因此我们有必要为结果添加一丁点随机性。

所以,我们用餐馆的总数减去餐馆的排名(例如一共 20 个餐馆,那么排第一的餐馆就取 19),然后乘上一个随机数,最后得到一个具有权重但又有一些随机性的结果。值得一提的是这个随机数生成器是以当天的日期为种子的,因此结果虽然有随机性,但在一天内是不会变化的:

最后,在晚饭结束后还需要向机器人汇报,以便给第二天的晚饭做参考。

这个机器人使用了 LeanCloud 的云存储作为数据库,运行在云引擎上,通过 Webhook 接入我们团队内部的 IM。在过去的一周里,我用每天晚上等其他同事准备好出发吃饭的时间完成了这个机器人,直接使用 LeanCloud 和云引擎开发还是非常省心的,省去了配置和部署的过程,使我能够快速地迭代,最后完成这第一个版本。

(机器人: https://github.com/leancloud/obama/blob/master/scripts/eat-what.js 

想和我们一起吃晚饭?LeanCloud 目前在招聘销售工程师、资深Web前端工程师、后端工程师(实时通讯系统)、产品经理、技术支持专家(全职/实习)、客户顾问、资深Android工程师等职位,可移步 https://leancloud.cn/jobs/ 查看。

 IDG资本被投企业——LeanCloud,为应用提供稳定、可靠的一站式后端云服务。业务范围包括数据存储、云代码托管、实时通信、消息推送、应用统计、社交分享等开发组件,并提供完善的技术支持和服务。针对 iOS、Android、Windows Phone、Web等平台均有原生 SDK 可供开发者方便地集成使用。