MoreRSS

site iconmaxOS修改

前用户体验设计师,经济学出身,对UI/UX设计充满热情。
请复制 RSS 到你的阅读器,或快速订阅到 :

Inoreader Feedly Follow Feedbin Local Reader

maxOS的 RSS 预览

Thinking in Bets

2026-06-28 22:18:24

人生是扑克

Thinking in Bets

在正式进入这篇文章之前,我希望你可以先暂停下,回忆下过去半年内你做过的所有决策,其中最好和最差的决策分别是什么?如果你已经有了答案那么可以继续阅读。

第一个问题: 当你在回忆最好和最差的决策时候,你是如何评估一个决策的好坏的?是通过这个决策所带来的结果吗?是否带来了好结果的决策就是好的决策,带来了差的结果的决策就是个差决策呢?

不知道你是否买过彩票,买彩票这个决策时而会带来好的结果,时而带来坏的结果。那么我们该如何评价购买彩票这个决策呢?

买彩票的结果几乎完全是靠「运气」,如果是其他人买了彩票并且中奖了,我们不会说他做了好的决策,而是说他运气真好。「运气」是这个世界运行中的不可知因素,它不是我们能够通过逻辑推理出来的,哪怕是世界上最聪明的人和最强大的计算机,也无法计算出运气。

因为运气的存在,我们的生活更多的时候像是在打扑克(尤其是德州扑克),而不是在下象棋。在象棋中,所有棋子都是公开信息,游戏的双方比拼的是逻辑推理能力。而在扑克游戏中,你永远不知道对方手里拿着什么牌,是真的拿了手好牌还是在诈唬,一手好牌也可能输,一手烂牌也可能赢,扑克比拼的是在不确定中做决策的能力。

从信息论的角度,两者最大的区别是:

  • 象棋是完全信息博弈(Perfect Information)。双方知道全部状态,没有随机事件。理论上存在一个最优策略。
  • 扑克是不完全信息博弈(Imperfect Information)。存在隐藏信息和随机发牌,你永远无法知道世界的完整状态。

所以我们说人生是扑克,而不是象棋。首先,你拿到的牌不是你能决定的,有人出生富裕,有人贫穷,这些会影响我们,但不是我们的责任,我们真正要回答的问题是「如何打好手里的牌?」;其次,没有人知道所有的信息,我们永远是在不确定性中行动,而且我们也必须在信息完整之前就行动;也正因如此,每一次行动都是在下注,每一次决策,都是在用今天有限的资源来换取未来可能出现的结果。

做决策就是下注

米塞斯是奥地利学派经济学的代表人物,他最著名的著作是《Human Action》。虽是一本经济学著作,但它真正讨论的是人的行动(human action)。米塞斯认为经济学就是研究人在资源稀缺条件下如何做出行动,也就是如何决策。他最影响深远的观点是:

Human action is purposeful behavior.
人的行动,是有目的的行为。

米塞斯认为一次决策必须包含四个要素:

  1. 存在不满意(Uneasiness)
  2. 存在一个希望达到的未来状态(Desired End)
  3. 相信行动能够改变结果(Means)
  4. 在不同手段之间选择(Choice)

而之所以我们需要做选择(决策)是因为我们所有用的资源是稀缺的,所以我们不得不放弃 A、B、C 而选择 D。稀缺不是单纯的「少」,而是「渴望拥有」和「实际拥有」之间的差距;一个东西只有在被渴望、且不足以满足渴望时,才构成稀缺。

人们常说「人生就是在做选择」,我不这样认为,「选择」听起来就好像是晚饭吃拉面还是炒饭一样简单,我更倾向于把选择分成几种类型:

  1. 第一类是消费型选择(Consumption Choices)。它们影响的是当下体验,例如今天吃什么、看什么电影、穿什么衣服。这些选择当然也是经济学意义上的选择,但几乎不会影响未来的人生,因此不值得投入大量认知资源。
  2. 第二类是优化型选择(Optimization Choices)。这类选择需要一定成本,也需要分析利弊,例如买哪辆车、买哪台电脑、住哪家酒店、选择哪个工具。它们是在一个相对确定的世界里寻找更优方案。结果基本是已知的,你付出成本,就能得到对应的产品或服务,因此它们属于优化问题,而不是下注问题。
  3. 第三类,我认为应该叫人生下注(Life Bets)。这类选择投入的是有限且不可轻易收回的资源,面对的是一个无法预测的未来。更重要的是,它们会改变未来的机会集合(Opportunity Set)。今天决定创业,以后能选择的事情变了;今天决定移民,以后的朋友、工作、文化环境都变了;今天决定投资一家公司,未来的财富结构和职业路径也可能完全不同。每一次下注,都不仅是在赌一个结果,而是在塑造未来的自己。

所以这三类的真正区别可以从四个维度来理解:成本是否高、结果是否不确定、选择是否可逆、是否改变未来机会集合。而我们在这里所讨论的选择(决策),实际上就是第三类,这种决策的成本更高、结果充满不确定、切不可逆、同时也会改变未来的机会集合。所以我们将其称之为「下注」,有一点赌的性质在里面,但并不尽然。

下注是有代价的信念

我们拥有有限的时间、金钱和注意力,不可能把这些资源同时投入到所有地方,因此我们必须回答:这些资源应该投向哪里才能让价值最大化?于是,每一次决策,本质上都是一次资源配置。那么我们的依据是什么呢?

2016 年伯克希尔股东信里,巴菲特建议非专业投资者应该长期持有 S&P 500 指数基金,因为普通人很难长期战胜市场。

Over a ten-year period commencing on January 1, 2008, and ending on December 31, 2017, the S&P 500 will outperform a portfolio of funds of hedge funds, when performance is measured on a basis net of fees, costs and expenses.
在从 2008 年 1 月 1 日开始、到 2017 年 12 月 31 日结束的这十年间,以扣除各项管理费、成本和开支后的净收益来衡量,标普 500 指数的表现将优于一个由对冲基金组成的基金组合。

如果这个策略对多数人来说更优,为什么不是所有人都这样做?因为有人相信自己能识别好公司,相信自己有认知优势,这些人是在下注自己,相信自己有能力跑赢 S&P 500。也就是说资源总是投向决策者相信价值最高的地方。每个人根据自己对于未来的理解进行资源配置。这种对未来的理解,我们把它称为信念(belief)。

回到米塞斯对行动的定义,「存在一个希望达到的未来状态」,但这个未来是否真的会达到,没有人知道。但如果必须等到未来确定以后才行动,那么人将永远不会行动。这些行动之所以能够发生,是因为人们相信某一种未来更有可能发生,相信世界会以某种方式运转,相信某个行动会提高某种结果出现的概率,相信自己有能力承受过程中的波动,并相信这个结果值得付出代价。信念,就是人在面对不确定未来时,仍然愿意采取行动的依据。它不保证结果,但它让行动成为可能。而下注,就是为我们为自己的信念付出代价的行为。

如果信念只是停留在我们的脑子里,那它只是一个观点。经济学有一个很重要的思想叫做 Revealed Preference(显示性偏好),由经济学家保罗·萨缪尔森(Paul Samuelson)于1938年提出。它认为一个人的真实偏好不是他说出来的,而是通过他的行为表现出来的。换句话说,一个人的资源配置,就是他价值观的外在表现。

好的决策是你会毫不犹豫再次选择的决策

未来不确定,也就意味着失败是不可避免的,既然如此,那么我们究竟从下注中得到了什么?答案就是反馈(新的信息),或者更准确地说,是为了校准我们的信念,提升我们下一次下注的成功率。这并不意味着结果不重要,只是因为结果不确定,如果你受到幸运女神眷顾,那么再好不过了。

下注不是一个孤立的行动,而是一个反馈系统的一部分。

信念 → 下注 → 反馈 → 更新信念 → 更好的下注。

每一次下注,都会产生新的信息;新的信息,又会修正我们的信念;修正后的信念,又会改善下一次决策。我们真正获得的,不是一次成功,而是一次次不断的校准我们对这个世界的认知。长期来看,每一次下注都能让我们的信念更接近真实世界,判断力就会形成复利。

这就回到我们最开始的问题,我们如何判断一次决策的好坏,结果好的决策就真的好决策,而结果差的决策就真的是坏决策吗?不一定,因为结果往往带有「运气」的成分,而决策是在信息不完整的前提下做出的。因此评价一次决策,就不能从结果去倒推,而应该回到当时的条件:在当时已知的信息、概率、风险和机会成本下,如果再来一次,我们是否还会选择我们当初的决策,如果答案是肯定的,那么这就是好的决策,如果答案是否定的,那么就是坏决策。

这也是为什么我们要不断重复这个系统,为什么人生需要不断的下注,因为人生不是一次下注,而是一系列的下注,我们关注的不是某一次下注的结果,而是信念不断校准,不断接近现实运行逻辑的的信念,会持续不断的为我们带来复利。爱因斯坦说复利是人类世界最伟大的发明,财富的复利如此,认知的复利也是如此。到这里我觉得更能理解巴菲特,巴菲特虽然是在讲财富复利,但归根结底,财富的背后是资产配置的能力,是对是世界越来越准确地理解。

偏见会影响我们的决策

如果我们已经知道什么是好的决策,那么现实中为什么我们仍然不断做出坏决策?答案就是偏见。旧文《思考,快与慢》里面介绍了我们是如何思考的。

我们的大脑拥有两种不同的思考模式
系统 1 快速、直觉,擅长处理日常琐事,但容易受到偏见影响;
系统 2 缓慢、理性,能够帮助我们做出深思熟虑的决策,但它的运行消耗大量的认知资源。

压力、情绪、睡眠状态、周围环境等等都会导致我们无法使用系统 2 来进行理性思考,我们可以把偏见分成三类,它们分别影响我们整个反馈系统的不同环节:

  • 第一类是污染信念形成的偏见,比如确认偏误和可得性启发;确认偏误让我们只寻找支持自己原有观点的信息。
  • 第二类是污染下注行为的偏见,比如损失厌恶、沉没成本、过度自信;它们让我们下注过大、拒绝止损,或者把「我相信」误认为「我知道」。
  • 第三类是污染反馈解释的偏见,比如 resulting、后见之明偏误、自利偏误;它们让我们把成功归因于能力,把失败归因于运气,于是反馈没有变成学习,反而变成自我保护。

偏见最大的问题是下注没有让信念更接近现实,反而让旧信念变得更顽固。

降低偏见对决策系统的破坏

既然偏见会污染整个下注反馈循环,那么问题就变成了:我们如何降低偏见对决策的影响?首先,偏见是无法被彻底消除的,我们能做的是设计一套工具,来确保整个反馈系统正常运转。

事实上,这也是科学面对不确定性的方式。Karl Popper 提出的可证伪性(Falsifiability)认为,一个理论是否科学,并不取决于它能够解释多少现象,而取决于它是否愿意接受现实的检验,以及是否存在可能被现实推翻的条件。

Carl Sagan 在《The Demon-Haunted World》中进一步提出了著名的 Baloney Detection Kit(胡扯检测工具箱)。它的核心思想与 Popper 已知:主动寻找反证、接受独立验证、区分假说与事实、避免诉诸权威,并始终保持怀疑。

这与《Thinking in Bets》讨论的决策过程几乎完全一致。

定义下注 → 明确信念 → 校准概率 → 寻找反证 → 时间校准 → 设计下注 → 预设退出 → 复盘更新。

定义下注

目标是确认这件事到底是不是值得启动完整决策流程的 Life Bet。

很多人一上来就分析选项,但还没弄清楚自己究竟在赌什么。这里我们要回答的问题是:这个决策的成本是什么?不可逆程度有多高?未来的机会集合会如何改变?最坏情况是什么?时间尺度是多少?如果它只是消费型选择或优化型选择,就不值得投入太多认知资源;如果它会消耗大量时间、金钱、声誉、关系,才进入完整流程。

明确信念

目标是把脑中的模糊感觉变成可检查的假设。这里会用到的工具包括 Decision Journal、Probability Estimate、Belief Statement,还有 Annie Duke 很喜欢的 “Wanna Bet?” 这个问题。

其实就是准备一个文档,在下注前写下我相信什么、为什么相信、成功概率是多少、关键假设是什么、我可能错在哪里、我愿意付出什么成本。它的价值是防止未来的你篡改记忆。结果发生之后,人会自然地产生后见之明偏误,觉得自己早就知道,或者把当初模糊的判断美化成清晰的逻辑。决策日志把下注前的信念冻结下来,让未来的复盘有证据。

校准概率

目标是给自己设定一个基准线。这里用到的工具是:Outside view、Base rate、Reference class forecasting。

实际上还是在你的文档中,回答这几个问题:为什么我们能做这件事情?历史上哪些人成功了,哪些人失败了,行业内的成功概率有多高?失败的原因分别是什么?而我们当下拥有的资源是让我们更接近成功还是在失败?

寻找反证

目标是让自己提前判断风险,这里使用到的工具是:

  • Premortem:做法很简单,在真正下注之前,假设这件事已经失败了,然后倒推它为什么失败。
  • Red team:它原本来自军事和安全领域,意思是让一组人站在对立面,专门攻击你的方案、假设、证据和防御。因为团队很容易产生共识幻觉,尤其当老板已经表达倾向时,其他人会不自觉地配合这个方向。红队的任务是像敌人一样思考:如果我是竞争对手,我会如何打败你?如果我是用户,我为什么不买?红队的价值在于,让反对变成一种流程,让批评转变成职责。
  • devil’s advocate:类似于 Red team,只是相对轻量级,在讨论中,指定一个反对方,不断的提出反对意见,这个判断最可能错在哪里?我们是否只看到了支持证据?有没有另一种解释能说明同样的现象?如果我们不做这件事,最强理由是什么?

一个好下注不应该害怕反证;如果一个想法只能在没有反对意见的环境里成立,它本身就不值得投入大量成本。

时间校准

所谓时间校准,是让未来的自己参与到现在的决策当中。使用的工具包括:

  • 10–10–10:问自己这个选择在 10 分钟后、10 个月后、10 年后分别会造成什么后果。
  • 反向规划(Backcasting):它的做法是从理想未来倒推今天应该做什么:假设三年后这个下注成功了,那中间发生了哪些关键事件?哪些条件必须成立?今天要做什么才可能走到那里?它和 premortem 是镜像关系。
  • 未来的自己(Future Self):在做大决策时问一句,六个月后、一年后、十年后的我,会感谢现在的我,还是会替现在的我承担代价?很多坏决策,本质上是现在的自己把成本转嫁给未来的自己:今天的冲动消费,就是在用未来的现金流付款。
  • 心智时间旅行(Mental Time Travel):它指的是在头脑中穿越时间:回到过去,理解当初的判断;去到未来,想象不同选择可能带来的后果。人很容易把短期舒服误认为长期正确,把短期痛苦误认为错误信号。

设计下注

第五阶段是设计下注,这里的工具是:

  • 仓位控制(Position Sizing):投资里的概念,意思是你不只要判断某个机会好不好,还要决定押多少。
  • 可承受损失(Affordable Loss):回答如果失败,我最多能失去什么,并且这个损失是否不会摧毁我。
  • Small Bet:这个可以理解为 MVP,即用最小成本去验证最关键的假设。
  • Optionality:好的下注应该尽量保留或扩大未来的选择,而不是过早把自己锁死在单一路径里。选择权本质上是一种不对称结构:有限的损失,无限的机会。

预设退出

第六阶段是预设退出,目标是在冷静时替未来情绪化的自己设定边界。工具是

  • 终止条件(Kill Criteria):也就是推出条件,即当发生什么事情的时候,我们应该退出,或者重新评估。
  • 止损(Stop-Loss):同样是投资里的话术,即当达到某个边界条件时自动减仓或者退出。
  • 尤利西斯契约(Ulysses Contract):也就是预先与自己约定好交易规则。它来自《奥德赛》里的故事:尤利西斯知道自己听到海妖歌声时会失去理性,所以提前让船员把自己绑在桅杆上,并命令他们无论自己怎么哀求都不要松绑。例如在投资里,当你知道未来的自己会被情绪、恐惧或贪婪支配时,提前设计约束,让未来的自己更难做蠢事。

复盘更新

第七阶段是复盘更新,目标是把结果转化为信念更新,工具是

  • 事后验尸(Postmortem):主要描述「发生了什么,以及为什么发生」。它像给一个已经结束的项目、产品实验做解剖:原来的目标是什么,实际结果是什么,中间哪些假设被验证了,哪些没有被验证,哪些风险被低估,哪些信号被忽略,哪些外部因素超出控制。它的重点是还原事实链条,尽量把故事拆成证据。
  • 决策复盘(Decision Review):回答这是否是一个好的决策,回到当时信息条件下,我的决策过程是否合理?回头看当时的 decision journal:我当时知道什么,不知道什么,给出的概率是否合理,是否查了 base rate,是否做了 premortem,风险是否可承受,退出条件是否清楚,仓位是否匹配信念强度。它评估的是过程质量,而非结果本身。
  • 信念更新(Belief Update):即我们学到了什么,也是整个复盘的最终目的。比如你原来相信「通过分析财报能够识别优秀的公司」,一次亏损之后不能简单更新为「我不适合投资」,更好的更新可能是「我对商业模式判断还可以,但低估了资产负债表风险,下一次必须把债务结构作为硬约束,并降低单票仓位。」

未来永远不会在我们行动前交出完整证据。我们拥有的,是自己的信念与有限的资源,以及在不确定中行动的勇气。所谓决策,就是把这些资源押向某个未来假设;所谓下注,就是让信念付出成本,并接受现实的审判。

人生像扑克,它提醒我们:结果从来不只属于判断,也属于运气;一次赢不能证明我们看见了真理,一次输也不能证明我们当初愚蠢。真正重要的是,在每一次下注之后,我们是否愿意诚实地面对反馈,修正信念,调整筹码,重新选择更好的牌桌。

偏见会让人保护自己,但我们可以使用工具接近真实。决策日志、外部视角、基础概率、事前验尸、10–10–10、退出标准、复盘更新,它们看起来是方法,其实是一种谦卑:承认自己会犯错、承认未来不可知、承认直觉需要校准、承认信念只有经过现实检验才有价值。

好的决策系统追求的不是某一次的胜利,而是一种长期的学习能力。每一次下注都让我们更理解世界、也更理解自己、更懂得如何配置资源。久而久之,这种被现实不断校准的判断力会形成复利。它让人不只是承受不确定性,也让我从不确定性中获利,形成反脆弱的力量。

最后,决策能力不是预测,而是在不确定中持续学习的能力。我们无法保证每一次下注都会赢,但可以让每一次下注都不被浪费。只要信念还能更新,未来的机会集合还在扩大,我们就仍然在游戏中,并且越来越有资格参与更好的游戏。

Things I Know in 2025

2026-01-04 23:17:07

2024 年,我没有写 Things I Know in 2024。现在回头看,我几乎想不起那一年具体做了什么,也说不清自己到底学到了什么。但事情并非没有进展。我的信条依然是 Stay Hungry, Stay Foolish,依然在 keep looking, don’t settle.

If you haven’t found it yet, keep looking. Don’t settle. As with all matters of the heart, you’ll know when you find it. And, like any great relationship, it just gets better and better as the years roll on. So keep looking until you find it. Don’t settle.
如果你还没找到这些事,继续找,别停顿。尽你全心全力,你知道你一定会找到。而且,如同任何伟大的关系,事情只会随着时间愈来愈好。所以,在你找到之前,继续找,别停顿。

只是那种寻找,更像是在迷雾中前行,知道自己在走,却不知道在走向哪里。不确定性、黑天鹅、反脆弱、认知偏见……这些词构成了 2024 年的主线。它们让我意识到世界并不稳定、理性并不可靠、判断经常出错。但是关于如何在这种不确定中生存,我并没有答案,我模糊的知道,不要给自己设限,兵来将挡,水来土掩似乎是当时的方案。

有一个哲学问题一直让我印象很深:

如果从果园的一端走到另一端,只能走一次,那么你如何摘到果园里最大的苹果?

你是早早下手,避免错过?还是一路观望,希望前面还有更大的?又或者,你在犹豫中走到了终点,却发现已经失去了选择的机会?这里的问题其实是,「寻找」并不是坏事,Dont’ Settle 也不是坏事,问题在于你要「寻找」到什么时候?Don’t Settle 到什么时候?如果你的人生过半,依然没有找到合适的方向,应该怎么办?如果已经过去了 80% 呢?我当然也没有答案。也许是永远,也许是人生的前三分之一,也许根本不存在一个明确的摘苹果的时刻。

但 2025 年,我开始隐约感觉到一些变化。我开始更清楚,我在用什么方式寻找,又为什么要寻找。

Look Back

Look back 无形中开启 2025 年的主题。有意思的是,2025 年我看的第一部电影也恰好是 《Look Back》。电影讲的是一段友情,一个并不完美、甚至可以说相当悲伤的结局。如果当初没有这样选择,会不会有一个不同的结局?如果再早一点意识到某些事情,故事是否会变得更好,甚至更完美?

我们太习惯用结局来否定过程。一旦结果不理想,过去的一切努力、情感、选择,仿佛都变成了错误的铺垫。于是「Look Back」成了一种惩罚,而不是理解。这种对未知和对不确定性的恐惧,恰恰是很多时候我们逃避一件事情的原因,但逃避本身也是一种选择。

我一直以为我所寻找的东西在未来的某个时刻会逐渐清晰。但当我回头看时才发现,有时候这种信号不见的那么的「清晰」,它可能不是那种你看一眼就能决定的「这就是我想要的」,而是一直都默默的驻在自己的脑海中,只是一直未被察觉。

很多年前,我很喜欢一个社交应用 Path。一个私密的社交网络,只和你真正熟悉的人分享生活:电影、音乐、位置、一些很日常。我一直用到 Path 关停。Path 消失之后,我一直在寻找一个替代品,然而资本并不青睐这样的产品,自 Path 之后再也没有人做这样的产品。「也许我可以自己做一个 Path」这个念头总是在不经意间出现在我的脑海中,然后被现实压回去,我不懂开发 iOS App,于是它就一直停留在想法阶段。

但 Swift 能有多难?在 Vibe Coding 成熟之前我便开始尝试过用 SwiftUI 和 UIKit 来做一些小工具,确实需要花费不少精力去学习和了解 Apple 生态的知识。有了这些基础,再加上有朋友和 AI 的帮助,App 的本地版在上半年做完,下半年则是在接入服务端,但其实几乎重写了整个 App。到目前为止,核心功能基本完成了,也算是达成了刚好能用的状态。我也和几个朋友开始日常使用,它还很早期,也很不完美,但我也不着急上架 App Store,它还远远没有成为我期望的样子。

我将其命名为「Dot」,正如这个 Blog 的副标题「Eventually everything connects - people, ideas, objects.」。Dot 就是那些需要被连起来的点,也是生活中的点滴。这个名字的灵感最初来自 Carl Sagan 的《Pale Blue Dot》,1990 年 2 月 14 日,NASA 的 Voyager 1 探测器在离地球约 60 亿公里的地方对着地球的方向拍了一张照片。在这张照片中,地球也不过是一个像素点。Carl Sagan 写到:

Our posturings, our imagined self-importance, the delusion that we have some privileged position in the Universe, are challenged by this point of pale light.
我们的自负、幻想的优越感,以及那种自以为是的幻觉,在这一点微光前显得如此可笑。

人们总是不可避免的质问一款新产品的商业模式,我不能像 DHH 那样通过银行存款的逗号来回答,但这点成本我还负担得起。这将会是一个付费的 app,我也无所谓最终有没有人会付费,哪怕最终只是和几个好友在用,也足够了。我并不确定是否还有很多人像我一样,怀念 Path,怀念那种小圈子、低噪音的社交方式。如果你恰好也是其中之一,不怕麻烦的话,也欢迎发送邮件告知 Apple ID 来加入 Alpha 测试。

Settle Down

Jerry Seinfeld 有个段子是说小孩子总是说 Up 而大人总是说 Down,Settle Down 大概也只会出现在成年人的世界里吧。我说的 Settle Down 并不是接受这样的现实,而是确定了一个方向,然后沿着这个方向继续前行,相比过去的随机游走,也算是某种意义上的 Settle Down。

过去,我一直是一个不太确定的人,总是被各种新鲜事物所吸引。无论是书籍、电影、科技还是趋势,我总是在寻找,总觉得真正想要的东西可能还没出现,答案可能在下一个转角。然而当我真正开始动手做 Dot 的时候,我发现这种寻找其实并没有让我真正感到满足。相反,让我真正获得满足的,是每一天投入在创造中的时间。和朋友讨论如何实现某个功能,反复推敲一段交互逻辑,甚至半夜醒来突然想到一个可能的方案,这种投入其中的状态,让我感到自己脚踏实地,真正连接到某种确定的东西上。

这种感觉是在某天看王家卫的《堕落天使》的时候突然意识到的。某种意义上,这是一部相当无聊的电影,我完全不记得自己曾经看过这部电影。电影中几个看似独立却又隐约相关的故事线,每个角色都像被困在自己的过去里,努力尝试改变,却又一次次回到原点,回到熟悉的确定性里。改变像是一种姿态,而不是一次真正的选择。这让我意识到,真正困难的,从来不是「要不要改变」,而是是否愿意为某个选择放弃其他可能性。

这让我想起一个网络梗:

小孩子才做选择,成年人我全都要。

在物质世界里,这句话或许成立。资源、金钱、机会,在某些阶段确实可以通过积累来「同时拥有」。时间、精力、注意力,这些东西本质上是排他的。你选择投入到一件事情上,就意味着放弃无数其他可能性。

成年人之所以是成年人,并不是因为拥有得更多,而是因为学会了如何做选择,也学会了如何放弃。选择意味着接受,接受事情可能不会如愿发展,接受自己无法同时走完所有道路,接受有些可能性会永远消失。

Thinking in Bets

过去,我不喜欢每周每月的回顾自己做过的事情。我尝试过,但经常不知道应该如何回顾,以及回顾什么?因为事已至此,我习惯的想法是去思考接下来应该怎么做。在我看来,一件事情无非两种结果,要么成功,要么失败。成功,意味着我们做对了,那么就继续下去,失败,则意味着做错了,那么改过重来。

但问题在于,结果从来不是纯粹由决策决定的。结果是决策、运气、时机、环境、他人行为等多种变量的叠加产物。我们却习惯性地把这些复杂因素压缩成一个简单的因果关系:结果不好 → 决策不好。

当我们站在现在的时间点去回顾过去的时候,总会带着一种「事后诸葛亮」的偏见,如果当初怎样怎样,现在就会怎样怎样。同时我们也会不自觉地为自己辩护:成功时,把它归因于能力;失败时,把它归因于运气。另一方面,我们又会对过去的自己变得异常苛刻: 站在结果已知的视角,去批评当时的信息不足、判断失误,仿佛一切早就应该显而易见。但这其实是一种错觉。我们用现在的确定性,去审判过去的不确定性。

在这种框架下,回顾不再是学习,而更像是一种情绪化的复盘:要么自我安慰,要么自我指责,却很难真正提高下一次决策的质量。直到我读到《Thinking in Bets》,我才第一次真正意识到,要把「决策质量」和「结果好坏」拆开来看。

Annie Duke 的核心观点其实非常简单,人生中的很多决策,更像是在下注,而不是在解一道确定有解的题。一手好牌,也可能输;一手烂牌,也可能赢。真正值得评估的,不是输赢本身,而是,在当时的信息条件下,这是不是一手值得下注的牌。

在之前关于《思考,快与慢》的文章里提到过「认知资源」,它就像决策所需的燃料,认知资源越充足,我们越有能力放慢节奏,考虑更多变量,做出更深入的判断。但关于什么才算真正意义上的「高质量决策」,我还没有答案,《Thinking in Bets》我还没读完,也不确定是否能从中找到答案,不过,这个问题留给 2026 年的自己来回答吧。

The Future Is Fragile, Handle with Care

写到这里,我不禁想起米兰·昆德拉在《不能承受的生命之轻》中的一句话:

要逃避痛苦,最常见的,就是躲进未来。在时间的轨道上,人们想象有一条线,超脱了这条线,当前的痛苦便不复存在。

于是在 2025 年的最后一天,在飞往成都的飞机上,我重新翻开了这本书。巧的是,在飞机起飞前,New Yorker 推送的一篇文章《The Art of Decision-Making》,仿佛这一年注定要以「选择」这个主题来结束。

以色列哲学家 Edna Ullmann-Margalit 将选择分成两种:一种是最大化我们价值观的选择;另一种,则能够改变我们价值观本身。前者就像决定买一辆丰田还是一辆斯巴鲁,这种选择不会改变你的价值观,也不会改变你将成为怎样的人。后者则不同,它会重塑我们的生活经历、社交结构,甚至价值观。比如,选择理想但薪水较低的工作,还是选择收入更高但内心未必认同的职业;比如,选择在哪座城市定居。

回头看自己的轨迹,毕业后去广州,从广州到深圳,并最终在深圳定居。现在回头去看,对当时的我来说,并不是什么重大抉择,更像是顺其自然发生的事情,仿佛不存在其他选项。但如果你问我:再来一次,你还会做出相同的选择吗?我不知道,我大概率还会选择同样的路径。不是因为我确信这是「正确」的人生,也不是因为其他选项的不确定性。而是,当我经历了这一切之后,我才发现,所谓的「换一种人生」不仅仅是重新选择那么简单,也意味着要放弃现在的一切,包括所有我遇见的人、所建立的连接以及构成「我」的这些点滴。换一种选择,就一定比现在好吗?

正如昆德拉所说:

人永远都无法知道自己该要什么,因为人只能活一次,既不能拿它跟前世相比,也不能在来生加以修正。没有任何方法可以检验哪种抉择是好的,因为不存在任何比较。一切都是马上经历,仅此一次,不能准备。好像一个演员没有排练就上了舞台。

我们无法同时活过两种人生,也无法把不同选择的结果放在一起比较。于是,「是否正确」这个问题,在人生尺度上,本身就是无解的。

哲学家 David Lewis 提出了「Vegemite Principle」的观点(Vegemite 是一种澳大利亚的酱料),其核心观点是:如果你从未亲身经历过某种体验,那么无论你读了多少与之相关的说明、听了多少人的描述,你都无法在事前知道那种体验对你来说是什么感觉。因此,这类体验相关的重大选择,不可能被完全理性化。

我个人最喜欢的一句话来自 列夫·托尔斯泰的《战争与和平》,也恰恰印证了这一点:

If we admit that human life can be ruled by reason, then the possibility of life is destroyed.
如果我们承认人类的生活可以完全由理性所统治,那么生命本身的可能性也将随之消失。

「The future is fragile, handle with care」,这句话成为我在 2025 年最后的提醒。未来是脆弱的,我们所做的每一个选择,都在不断地塑造它,也塑造着我们自己。


现在看来,「不确定性」变成了一种确定「确定」,我逐渐理解并接受了「选择」的不确定性与风险。所谓决策,真正考验我们的或许并不是找到绝对正确的答案,而是在不确定性中持续前进,并承担由此带来的后果。

关于如何做出「正确」的选择,我尚且没有答案,也不知道能否在 2026 年找到答案,又或许,这个问题本身就不需要答案。

请允许我继续使用米兰·昆德拉的句子来结束这篇文章吧。

在永恒轮回的世界里,一举一动都承受着不能承受的责任重负。这就是尼采说永恒轮回的想法是最沉重的负担的缘故吧。
如果永恒轮回是最沉重的负担,那么我们的生活,在这一背景下,却可在其整个的灿烂轻盈之中得以展现。
但是,重便真的残酷,而轻便真的美丽?
负担越重,我们的生命越贴近大地,它就越真切实在。
当负担完全缺失,人就会变得比空气还轻,就会飘起来,就会远离大地和地上的生命,人也就只是一个半真的存在,其运动也会变得自由而没有意义。 那么,到底选择什么?是重还是轻?

思考,快与慢

2025-04-06 23:32:05

T L;DR

思考,快与慢

我们的大脑拥有两种不同的思考模式,这两种模式并不是大脑中的两个物理区域,而是从模式上进行的区分,作者称之为系统 1 和系统 2:

  1. 系统 1 快速、直觉,擅长处理日常琐事,但容易受到偏见影响;
  2. 系统 2 缓慢、理性,能够帮助我们做出深思熟虑的决策,但它的运行消耗大量的认知资源。

因为资源有限导致系统 2 的懒惰,因此我们需要合理分配认知资源,减少系统 2 的无效消耗,并通过习惯养成、环境布置和采纳外部建议,帮助自己在关键时刻做出更清晰、更理性的判断。


《思考,快与慢》这本书我看了很多次,但都没有看完,最初看了大概之后了解了系统 1 和系统 2,但一直不明白这有什么用。后来 AI 爆发,出现了基础模型以及推理模型,然后忽然明白,这不就是系统 1 和系统 2 么。于是又拿起这本书重新拜读起来,这次总算读完了。

系统 1 和系统 2 实际上从底层解释了我们如何思考、如何做决策,从早晨穿哪件衣服,到职业生涯中的关键选择,都离不开这两个系统。大多数人认为自己是理性的、善于分析的,然而事实上,我们日常的很多选择都是系统 1 无意识驱动的结果。

有一次晚上跟朋友玩德州,因为已经很晚了,我的系统 2 已经罢工。当时牌面看起来像顺子,我的牌也确实有可能组成顺子,结果最后一张牌开出来都没有成顺子 。但从对方的行为已经可以断定他手里有顺子,于是我就直接弃牌了。对方果然是顺子,然而弃牌后我发现,我虽然是没能成顺子,但我是同花啊。如果当时系统 2 还能正常运行一下,可能就不会错失这一手了。

认为我的牌可以组成顺子这个想法一开始就占据了思维,从忘记了其实还可以组成同花的想法,其实就是由认知偏误导致的。认知偏误又是有系统 1 导致的。系统 1 的判断虽然快速,但它经常会出错,尤其是在环境复杂或自己精力不济的时候。而系统 2,虽然可以纠正错误、做出更理性的判断,但它非常「懒」,更容易在我们精疲力尽时自动下线。

正是这种认知的盲区导致了决策失误,让我们可能在错误的事情上消耗了太多的认知资源,或者因为信息过载而错失了真正重要的机会。更糟糕的是,当环境变得复杂、压力变大时,我们的情绪、记忆和外界环境会进一步干扰理性决策。因此,理解这两套认知系统的运作方式,不仅能够帮助我们清晰地认识到自身思维的局限性,更能掌握具体的方法去优化和改善决策流程。

系统 1 和系统 2

  • 系统 1:速度快、能耗低、依赖模式匹配和直觉,适合快速决策,但容易受到偏见影响,无法进行深度推理。
  • 系统 2:速度慢、消耗大量注意力,擅长复杂推理和分析,可以处理新情况,但运行成本高。

系统 1 主要处理快速反应和熟练任务,例如: 走路、开车、识别人脸、阅读简单文字、做基本的加减法、躲避障碍物。系统 2 主要处理深度思考和新问题,例如: 逻辑推理、复杂数学计算、权衡利弊、长期规划、学习新知识。现实中,两者并不是独立运行,而是相互协作的。系统1 负责日常自动化操作,而系统2 在需要更高精度决策时介入。

既然系统 1 速度快并且几乎不消耗能量,那么自然把经常做的事情交给系统 1 就是最好的选择。这自然也是需要付出成本的:

  1. 训练系统 1 需要的花费大量的精力;
  2. 系统 1 虽然速度快,但是无法进行复杂的推理;

训练系统 1:学习

当你对执行一个任务越来越熟练时,需要付出的努力程度就会降低。对大脑的各项研究证明,与行动相关的活动模式会随着熟练程度的加强而变化,一些大脑区域将不再参与其中。

训练系统 1 的过程实际上就是我们所说的学习。人类学习一项新知识的过程,本质上是大脑内神经元之间建立新连接的过程。我们的大脑由数十亿个神经元(Neuron)组成,每个神经元之间的连接部位被称为突触(Synapse)。神经元通过它的轴突(Axon)向其他神经元传递电信号(动作电位)。当我们学习某项技能时,相关的神经元之间会通过突触建立更强、更有效的连接。1在我们真正的学会之前,我们需要用系统2 主动思考才能完成任务,但经过足够的练习,这些任务逐渐被系统 1 自动化处理,因为神经通路已经被高度优化了。

这并不是一个简单的过程,马尔科姆·格拉德威尔在 2008 年出版的畅销书《异类》中提出了 10,000 小时法则 。格拉德威尔引用 K·安德斯·埃里克森的研究解释说,在任何领域达到世界一流水平的关键在于练习一项特定的任务至少 10,000 小时 。虽然有研究指出 10,000 小时并不严谨,但从新手到大师不可避免的需要大量的训练。

系统 1 的学习过程其实可以类比为一种贝叶斯推断(Bayesian Inference)。在统计学中,贝叶斯推理是一种通过不断更新「先验知识」来调整对世界的认知的方法。而我们的系统 1,就是一个不自觉地在做贝叶斯更新的机器。每一次你做出一次判断、解决一次问题,系统 1 都会根据已有经验(先验概率) 和 新观察到的信息(似然性) 来调整自己的判断机制。这也是为什么我们训练得越多、经验越丰富,直觉就越准确 —— 因为系统 1 的「先验」变得更加贴近现实。

另外,随着年龄的增长,我们的「学习速度」也会下降,我们的学习速度实际上受到「神经可塑性」的影响。神经可塑性(Neuroplasticity)是大脑通过生长和重组来改变神经网络的能力 。这种变化包括形成新的神经元连接、皮质重映射等 。但随着年龄增长,这种神经可塑性会逐渐降低,因此成年人学习新技能时所需要的时间和精力要比儿童时期更多。2好消息是有研究表明,有规律的有氧运动可以改善大脑的神经可塑性。

我们不可能无限制地将所有技能和知识都训练成系统1的自动反应。另外,即便是系统 1 擅长的事情,我们也不能过分依赖于系统 1,因为系统 1 还存在另外一个问题,那就是「认知偏误」。

系统 1 的运行:启发法

我们前面提到,神经突触连接的强化为系统 1 的高效决策提供了「硬件基础」。但现实世界情况复杂多变,仅靠固定的神经模式显然不足以应对。系统 1 还需要另一种更灵活、更快速的「软件」,这就是启发法(Heuristic)。

人们依赖于数量有限的启发式原则,而这些原则能将测量概率以及预测价值的任务简化,使其成为更为简单的判断过程。

心理学家认为,启发法本质上是一种心理捷径(mental shortcut),可以在有限的时间和信息条件下快速做出决策。正如维基百科所定义:

启发法解释了在知识有限(资讯不完整)和时间有限的情况下,得出可能陈述或可行解决方案的艺术。 它描述了一种分析程序,在该程序中,在对系统了解有限的情况下,在推定结论的帮助下做出有关系统的陈述。 由此得出的结论往往偏离最优解。启发法的品质可以透过将其与最佳解决方案进行比较来确定。

换句话说,启发法牺牲了精确度和全面性,换来了决策的速度和认知资源的节省。作者在书中提到了几种常见的启发法:

  • 代表性启发(Representativeness Heuristic)
    当我们遇到一个新的事物 B 时,会下意识地将它与自己熟悉的事物 A 进行比较。如果发现两者十分相似,就认为它们有相同的特征,进而直接将对 A 的经验或知识套用到 B 上面。例如,我们看到一位穿白大褂的人会本能地觉得他可能是医生,而实际上可能不是。
  • 可得性启发(Availability Heuristic)
    如果某件事或信息更容易从大脑中调取出来,我们就会倾向于认为这件事更常见或者概率更高。比如新闻经常报道飞机失事的消息,因此很多人觉得坐飞机比开车更危险,而实际统计数据则完全相反。
  • 锚定启发(Anchoring Heuristic)
    在做决策时,我们倾向于受到最初信息(锚点)的强烈影响。例如,商品标价为 1000 元然后折扣到 500 元,顾客通常觉得非常划算,哪怕这件商品实际价值可能远低于500元。
  • 立体启发法(What You See Is All There Is, WYSIATI)
    人们做判断时,只会基于目前看到的信息作出决策,而不会主动去考虑还缺少哪些信息。也就是说,你看到的,就构成了你的全部判断依据。系统 1 不会主动怀疑信息的来源,也不会提醒你“还有什么是我没看到的”。
  • 情绪启发(Affect Heuristic)
    我们会用“好感”来快速决定一件事是好是坏,而不是去分析利弊。例如,如果你本能地喜欢某个人,可能会觉得他做事也更靠谱。这种启发可以让我们迅速下判断,但也可能让我们被情绪带节奏。

启发法的存在使得系统 1 能够极大地节省认知资源,快速做出决策。但这种快捷方式必然要付出代价——牺牲精确度,增加了我们在决策过程中产生认知偏误的可能性。

监督系统 1:系统 2

要避免系统 1 的偏见我们需要有意识地调用系统 2 来监督系统 1 的输出,以降低决策错误的风险。系统 2 负责检查系统 1 的直觉判断是否合理。

系统 2 的一大主要功能是监督和控制思想活动以及由系统1引导的各种行为,使得一些想法直接体现在行动上,或者抑制或改变其他想法。

举个实际的例子:在股票市场交易中,有一种投资策略叫做 Buy the dip(逢低买入),也就是说当股票价格下跌时买入优质股票。系统 1 在经过长期训练后,可能一看到股票下跌就产生了直觉性的买入信号,因为在过去这种策略曾经奏效过。然而,系统 1 只基于历史经验进行简单的模式匹配,并不考虑当前市场环境与以往的不同之处,比如市场中存在的系统性风险。

这时,系统 2 应该主动介入:

  • 为什么这支股票在下跌?
  • 现在是否存在系统性风险,比如宏观经济是否有重大变化?
  • 公司基本面或技术面是否已经发生了改变?

只有经过系统 2 的严格分析,确认当前的情况确实符合逢低买入的条件,才可以避免因为系统 1 的偏误而造成损失。然而,系统 2 本身也有明显的局限性,最大的局限就在于:

  • 系统 2 的运行成本非常高:系统 2 需要进行大量的信息搜集(财报、经济数据、政策环境等),并逐个进行理性分析。这不仅花费大量的时间,也会消耗极高的注意力(认知资源)。这自然不是系统 2 的问题,而是深入思考时我们需要大量的信息来辅助决策。
  • 系统 2 对认知资源的依赖,使它无法持续长时间高效运行,这就决定了我们无法对所有的决策都进行系统 2 的深度分析。

懒惰的系统 2

物理学中的最小作用量原理(Principle of Least Action)说的是光或物体总是沿着使作用量最小的路径前进,除非有额外的力作用在其上。同样,我们的思维也倾向于选择最省能量的路径,即系统 1 的直觉和启发式,而不是调用系统 2 进行深度思考。当认知资源不足时系统 2 甚至会直接认同系统 1 的结论。

系统 1是冲动、凭直觉的;而系统 2 则具备推理能力,它很谨慎,但对一些人而言,这个系统也是懒惰的。

系统 2 之所以「懒惰」,其实并不是缺陷,而是一种适应性的优势。人类早期所面对的环境是稳定的、重复的,很多决策场景都可以靠快速直觉(系统 1)来应对。大脑虽然只占身体 2% 的体重,却消耗了约 20% 的能量,而其中又以系统 2 的思考最为「烧脑」。为了节省能量来保障最基本的生存,系统 2 能不用就不用。

The metaphor of the cognitive miser assumes that the human mind is limited in time, knowledge, attention, and cognitive resources. Usually people do not think rationally or cautiously, but use cognitive shortcuts to make inferences and form judgments.2
认知吝啬者的隐喻假定人类的思维在时间、知识、注意力和认知资源方面是有限的。通常人们不会理性或谨慎地思考,而是使用认知捷径来进行推理和形成判断。

系统 2 的「烧脑」源于它运行过程中需要大量调动认知资源,并频繁占用工作记忆来进行深度思考。认知资源每天的总量是有限的,而工作记忆就像大脑的 CPU Cache —— 速度快,但容量极小。这两个条件的限制,是系统 2 无法被无限使用的根本原因。

认知资源

所谓认知资源(Cognitive Resources)是指人类在执行认知任务时所需的有限心理能量,包括注意力、工作记忆、自控力和思维能力。它决定了我们进行深度思考、抑制冲动和做出复杂决策的能力。

虽然系统 2 很懒惰,但是当然只要你愿意,你依然可以启动系统 2,但是要消耗一部分的认知资源来控制自己的思维。也就是你不仅要付出认知资源去思考问题,还要付出认知资源去控制自己的思维聚焦在需要解决的问题上。这种情况下人们在其他方面的思考就会降低。

在和朋友悠闲地散步时让他心算出“23×78”的结果,而且要立刻就算出来,这时他肯定会停下脚步来算。 对系统2有高需求的活动同样需要自我控制,而发挥自我控制力既有损耗又很枯燥。与认知负担不同,自我损耗至少会令人丧失一部分动力。在一项任务中控制自我后,在另一项任务中就感受不到自己在努力,但只要你真的想做,就一定能做到。

认知资源既像计算机内存(带宽有限),也像电池(能量有限)。在短时间内,它决定了我们能同时专注多少件事;在长时间内,它决定了我们一天能完成多少复杂任务。

刻意掌控意志和进行自我控制很辛苦。如果你必须强迫自己去做某件事,而此时这件事又面临一个新的挑战,你就会很不情愿或是根本无法进行自我控制。这种现象被命名为自我损耗(Ego Depletion)。 认知负担不是自我控制减弱的唯一因素。喝几杯酒,或者一夜没睡也会产生同样的结果。早起的人的自我控制力会在晚上受到影响,而夜猫子的自我控制能力则会在早晨受到影响。

心理学家米哈里·契克森米哈(Mihaly Csikszentmihalyi)提出过一种被称为「心流(Flow)」对状态。在这种状态下人们几乎不需要消耗自控力就可以专注在任务上,将所有的认知资源都应用在深度思考上。然后现实中大多时候我们很难进入心流,工作中经常需要与人沟通,或者被提及,经常需要在不同的工作流之间切换,这种切换便会打断原本的心流状态。

心流巧妙地区分了两种努力形式:对任务的关注和对注意力的严格控制。以每小时150英里的速度骑摩托车和在象棋大赛中角逐都需要付出努力,然而在心流状态下,集中注意力关注吸引人的事并不要求自我控制。因此,我们要将所有资源都用于手头上的任务才好。

工作记忆

工作记忆是一种记忆容量有限的认知系统,被用以暂时保存资讯。工作记忆对于推理以及指导决策和行为有重要影响。3

在 UX 设计中我们也经常提到「神奇的数字 7±2」理论,意思是说大多数人在一次只能保留大约 7 个(±2)信息块(chunks)在工作记忆中。例如,表单字段不超过 7 项;导航项尽量控制在 5–9 个之类。不过这一理论后来被 Nelson Cowan 修正,其实更准确的数字是 4±1 个 chunks

所谓信息块,可以是一个数字、一个单词,也可以是一个概念组合,例如一个电话号码可以被「打包」成一个信息块。这种容量限制意味着,一旦任务信息过多或过于复杂,工作记忆就会迅速被占满。

系统 2 的运行高度依赖工作记忆。当我们在做需要深度思考的任务时,比如写一篇文章、做数学题、做战略决策,系统 2 必须同时在工作记忆中「暂存」多个信息片段,同时进行比对、运算或推演。然而,当任务过于复杂,或信息超出工作记忆容量时,大脑的运行就会「卡顿」,系统 2 也会更容易出错、犯懒或放弃。

压力对工作记忆的影响

当我们处于压力状态时,大脑会分泌压力激素,比如皮质醇和去甲肾上腺素。这些激素会直接作用于大脑的前额叶皮层 ——也就是系统 2 主要运作的区域。结果就是,我们的大脑在压力下变得更难集中注意力,工作记忆的容量也会下降。有研究表明,人在压力环境下,工作记忆容量会下降 30% 以上。尤其是在面对复杂、结构不清晰或无反馈的任务时,这种影响更加明显。

这也解释了为什么在压力大的时候,我们总是容易出现「脑子一片空白」、「不知道从哪里开始」的感觉。这种情况下,系统 2 很容易崩溃,放弃思考,将决策交还给系统 1,变得冲动、短视,甚至陷入情绪化反应。

影响系统 2 的因素

认知资源和工作记忆从根本上会影响系统 2 的运行,除此之外,还有很多其他因素也会影响系统 2 的结果输出。我们可以从内外因素来看,内部因素主要是:记忆自我、情绪以及由系统 1 产生的认知偏误的影响;而外部因素则主要是信息输入和环境因素。

两个自我

体验自我(Experiencing Self)指的是当下的感受,比如此刻你是否感觉愉快或不适;而记忆自我(Remembering Self) 则是对过去经历的总结评价,比如回忆过去的一次旅行时,你总体上是觉得愉快还是糟糕。由于体验自我依赖「当前感受」,它可能导致我们做出短视决策,而记忆自我由于遵循峰终定律(Peak-End Rule),则可能让我们高估或低估某些经历,从而影响系统 2 在长远规划中的判断。换句话说,即使系统 2 在运行,它的输入信息仍然可能受到体验自我和记忆自我的扭曲。

大脑在做决定时,更倾向于参考记忆自我的评价,而非体验自我的实时感受。因此,当人们回顾过去时,更容易被一次经历中最强烈的片段和结尾时的情绪所影响,而忽略整体经历。

这意味着,我们的决策并非始终基于真实而全面的信息,反而可能依赖记忆中那些经过加工、甚至扭曲的信息片段。

情绪的影响

情绪的状态对系统 2 的表现也有重要的影响。当我们处于强烈的情绪波动(如愤怒、焦虑或兴奋)时,系统 2 很难保持冷静、客观地分析问题。

情绪反应的迅速性往往会激活系统 1,并暂时抑制系统 2 的理性运转。即使你知道理智决策的重要性,过于强烈的情绪也会让你本能地优先考虑短期满足或快速缓解情绪。

偏见的影响

前面我们提到系统 1 的运行主要是依赖于启发法,启发法虽快,但是会产生各种认知偏误。这些偏见也会渗透到系统 2 的决策过程中。尽管我们通常相信自己的理性能够修正直觉上的错误,但事实并非如此简单。尤其是在认知资源或工作记忆不足的时候,系统 2 会拒绝工作,直接认同系统 1 的结果,那么同样也会认同系统 1 的偏见。

作者在书中提到的几个主要的偏见。

  • 确认偏误
    确认偏误指的是人们倾向于寻找和记住那些支持自己观点的信息,而忽视甚至排斥与自身观点相冲突的信息。当系统 2 尝试理性分析某个问题时,这种偏误可能导致我们只关注那些“符合期待”的证据,忽略客观全面的信息,最终强化了原有的偏见。
  • 锚定效应
    锚定效应指的是人们在做决策时,过度依赖最初接触到的信息(锚点),即使这个信息可能与最终决策毫无关系。系统 2 虽然擅长分析与计算,但也容易受到初始信息的误导。
  • 框架效应
    框架效应描述的是同一信息在不同表达方式下,会导致人们做出不同的决策。系统 2 本应保持客观理性,但实际上,它很容易受到信息表述方式的干扰。
  • 禀赋效应
    禀赋效应是指人们对于自己已经拥有的东西,会赋予更高的价值,而对未拥有的东西则估值更低。当系统 2 在评估资产、投资或交易时,这种心理倾向会导致决策的不理性。
  • 层叠效应
    层叠效应指的是人们倾向于跟随他人的观点或行动,特别是当许多人表现出相同倾向时。这种效应可能导致系统 2 忽视独立的理性分析,而盲目追随多数。
  • 启动效应
    启动效应指的是某些前期接触到的信息或刺激,会无意识地影响我们随后的行为或决策。尽管系统 2 可能没有明确察觉,但这些无意识的影响仍会改变其分析和判断的方向。
  • 曝光效应
    曝光效应描述的是人们对熟悉的事物倾向于更积极的评价,仅仅是因为经常接触。这种偏好可能导致系统 2 过高估计熟悉选项的价值,忽略其他更优选项。
  • 光环效应
    光环效应指的是人们会因为某一突出优点而整体高估一个人的其他特质。例如,因为一个人外貌出众,可能系统 2 会下意识地认为此人在其他方面同样优秀,而忽略了客观事实。
  • 规划谬误
    规划谬误指的是人们倾向于过于乐观地估计任务完成所需的时间、资源或成本,而忽略历史经验或客观数据。要避免这种偏误,可以参考以往类似案例的数据,以获得更为准确的预测。

参考 List of cognitive biases,当中列出了更多的认知偏误。

信息输入

系统 2 的思考过程,简单可以理解为,收集信息、整理信息、然后分析并作出最终的决策。第一步所收集信息的质量和数量都会影响我们最终的分析决策。

但除了主动收集信息之外,我们每天都会被动接收大量信息,这使得系统 2 很难有效地分辨哪些是真正重要的,哪些是无用的噪音。更糟糕的是,大脑倾向于被即时满足感所吸引,例如刷手机和查看社交媒体上的信息流,这种即时满足感很容易转变成「信息成瘾」。

Passing a gas station, you see that prices are up, and within one second you’re thinking of your household budget, and other rising costs, then inflation, and politicians, and that person you know who voted for the bad politician instead of the good one, and so on.4
路过加油站时,你看到油价上涨,你会立刻想到家庭预算、其他不断上涨的成本、通货膨胀、政客,以及那个投票给坏政客的朋友,等等。

有研究表明接收新的信息也会促进多巴胺的产生5而产生信息成瘾性,我们在研究的过程中也可能会产生不断收集信息的冲动,担心自己会错过某些关键信息(FOMO 心态),FOMO 心态与信息成瘾会相互促进,是的有限的资源都被浪费在了收集过程中的对信息的处理。社交网络的成瘾性在于无限滚动设计与精确的算法,可以计算出用户最关心的东西,这东西与好奇心,好奇心会促进多巴胺的产生,于是让用户可以不停的继续刷新新的资讯。

你的思维关注什么,就会驱动你的行为。如果你每天都沉浸在社交媒体的争论中,你的现实世界也会充满焦虑和争吵;如果你每天都沉浸在创造性的思考中,你的生活会朝着更有生产力的方向发展。

系统 2 的认知资源是稀缺的,如果它被无关紧要的信息(如社交媒体上的政治争论)占据,就没有足够的能量处理更重要的决策。过载的信息摄入会让系统 1 过度活跃,我们会更加依赖启发法和情绪化决策,而不是系统 2 的深度思考。

环境影响

前面提到的框架效应反映的就是环境对我们决策的潜在影响。我们房间的布置、办公环境的布局,甚至日常用品的摆放方式,本质上都是默认的选项。这些看似简单的选项,实际上在潜移默化地引导和强化我们的行为。当一件事变得非常容易执行时,我们就更倾向于去做它。

外部环境对于我们的决策方式有着深远的影响。我们的大脑习惯于在熟悉的环境中采用固定的行为模式,这便是所谓的「习惯」。习惯形成的本质是环境提示(Cue)与随后的奖励(Reward)之间的反复联结,逐渐内化为自动化的系统 1 行为。

在外部环境没有明显变化的情况下,改变已固化的习惯非常困难,即使系统 2 理性地认识到了改变的必要性。

例如,如果你想要改变不健康的饮食习惯,仅凭借意志力和系统 2 的刻意决策往往收效甚微。更有效的策略是积极地改变外部环境,比如避免购买和储备零食,或是远离诱发不健康饮食的环境和场所,尽量减少习惯触发因素的存在。

优化决策系统

我们已经了解了影响系统 2 运作的种种因素。现在的问题是,如何在现实的约束下,尽可能提升我们的决策质量。前面我们提到过一些我们无法突破的限制:

  • 时间有限: 一天永远只有 24 小时。
  • 认知资源有限: 它像精力一样会被消耗,虽能恢复,但总量有限。过度使用会导致“决策疲劳”和判断力下降。
  • 系统 1 的容量与学习成本: 培养可靠的直觉(训练系统 1)需要大量时间、经验和高质量的反馈,并非一蹴而就。
  • 生理局限: 我们的学习能力和精力水平会随年龄和健康状态发生自然波动。

因此,优化决策并非追求“无限理性”,而是在这些限制条件下,进行聪明的资源管理,让宝贵的系统2发挥最大效用。

认知资源分配

把东西装进行李箱,是对资源管理问题的最好比喻。我们每个人都有一个时间箱,要在里面装上工作、休闲和与家人共度的时光。我们也都有一个金钱箱,要在里面装上住房、服饰和其他所有支出。资源的稀缺和富足,会改变我们装箱的方式。如果没有余闲存在,我们在装箱时就不得不进行权衡。可见,稀缺的本质就是没有余闲。6

当认知资源匮乏时(如同贫穷状态下对金钱的锱铢必较),我们的大脑会被眼前的“急事”或琐事占据,不断进行权衡,从而消耗大量带宽,无暇进行长远规划和深度思考。这会导致决策质量下降,甚至陷入恶性循环。

因此,优化决策的首要任务就是像管理稀缺资源一样管理我们的认知资源。

  1. 保障与恢复认知资源
  2. 在认知高峰期处理关键决策
  3. 减少非必要决策数量
  4. 保留认知冗余

保证认知资源充裕

  • 充足的睡眠是最基础也是最重要的认知资源恢复方式。长期睡眠不足会严重损害系统2的运作能力,导致注意力不集中、冲动控制力下降。
  • 规律作息与休息: 保持稳定的作息有助于调节生理节律。白天工作期间,短暂的休息(如番茄工作法的休息间隙)、冥想或正念练习,也能帮助恢复部分认知资源,缓解精神疲劳。
  • 健康生活方式: 均衡饮食、适度运动也被证明对大脑健康和认知功能有积极影响。

在认知高峰期处理关键决策

大多数人的认知资源和注意力高峰都集中在早晨。识别并利用好自己的精力高峰期,安排复杂决策、重要规划或创造性任务,能最大程度地发挥系统 2 的优势。相反,应避免在疲劳、饥饿或情绪不稳定时做重要决定。

我给自己定的投资规则是:“晚上不做投资决策”。虽然美股是在晚上开盘,但我会在早上规划好策略,晚上只是严格执行计划。当行情发生意外波动时,也不会在情绪激动时贸然做出新的决定,以免受情绪驱使而做出非理性决策。

减少非必要决策数量

每个决策都有重要性之分,有些决策不算重要,例如工作日的午饭吃什么,有些则很重要,例如女友生日的晚餐吃什么。我们要做的是把认知资源留给真正重要的事情,而将那些不重要、重复性的决策自动化或惯性化。

例如,工作日我会固定自带午餐。这些午餐并不追求美味,仅仅满足基本的能量需求即可。相反,周末或特殊场合的饮食决策则精心挑选,系统 2 资源在这些关键时刻发挥更大作用。许多知名人物(如乔布斯或扎克伯格)选择固定着装,正是通过减少无谓决策数量,释放更多认知资源投入重要事务。

保留冗余

留出一定的认知冗余,能帮助我们更有效地应对意外情况或突发任务。相反,认知资源长期处于超负荷状态不仅降低决策质量,还会导致分析瘫痪。

适当的「留白」还能促使大脑在无意识中整合信息,系统 1 在此过程中可能产生意外的洞察力与创造力。如果大脑始终处于超载状态,这种宝贵的机会就会被扼杀掉。分析瘫痪,也会影响我们在应付突发情况时的反应能力。

优化工作记忆

我们通常会分几个简单的步骤来执行任务,以避免大脑超负荷运行。这样的话,我们可以将中间结果储存在长期记忆中或是记在纸上,而不是简单地堆积在工作记忆中。

优化工作记忆的关键策略之一就是将信息从大脑中释放出来,这被称为「信息外部化」(externalization)。例如,使用白板、便签、脑图工具等来梳理思路;将复杂问题拆解为可管理的小任务;记录中间结果,避免反复回想;

满意原则

在决策优化的过程中,我们常常会陷入一个误区,以为这个世界上存在一个所谓「最优解」。虽然有些简单问题确实有,但大多数的实际问题并没有所谓的最优解。即使在数学上的「最优化问题」也并不总是存在最优解,因为现实的信息不完全且经常模糊、计算资源和决策时间又十分有限。

诺贝尔经济学奖得主 Herbert Simon 提出的满意原则(Satisficing):

现实中的人类不是「最优化者(Optimizer)」,而是「满意者(Satisficer)」——我们不会寻找最优解,而是找到一个「够好」的解。

正是《思考,快与慢》这本书的核心逻辑之一——大脑不是用来求解数学上的最优问题的,而是用来在有限时间和资源下,找到“足够好”的答案。

习惯养成

减少系统 2 决策负担的有效方法之一,是将重复性、不重要的决策交给系统 1 去自动化处理,这就是我们所说的「习惯养成」。

麻省理工学院的研究人员在每种习惯中发现了一种简单的神经逻辑回路,这种回路包含三部分:暗示、惯常行为和奖赏。8

真正驱动习惯回路运转的是对奖赏的渴望。当我们觉得一件事情有价值,但不想消耗系统 2 去执行的时候,就可以训练系统 1(开始的时候需要系统 2 强行介入),让它在未来自动完成这件事,减少自身负担。

过去几年我坚持每周至少健身 3 次。我会在日历上先 block 自己的时间,到点就去。最开始的时候可能会逃课,后来发现只要到了健身房,懒惰的想法就会降低,撸铁的动力就会增加一点。于是后面就是先让自己去健身房,去之前先说好,只做一组就行。我并没有遵守「提示(Cue)→ 惯常行为(Routine)→ 奖赏(Reward)」这样的路径,而是只有前两步「提示 → 行动」,并没有奖赏,完成训练后的那种「自律的成就感」也是一种奖赏吧。

前面我们也提到过框架效应以及环境对决策的影响,习惯养成最有效的方法就让环境来强化自己的行为。去掉那些会干扰自己的事物,让整个生活都围绕你想要的好习惯来设计。也许有人会说「这么活着不会很累吗?」,我觉得恰恰相反。虽然可能看似缺少一些生活中的小乐趣——比如每天吃同样的食物、做同样的运动、穿相同的衣服,但正如我们前面提到的,「稀缺」才是真正重要的。减少了每日的微小「乐趣」之后,之后的每一次大餐才会显得印象深刻,个人也会变得更容易满足。如果每天都充满了「刺激」,那么「刺激」本身就会变得平庸,人会变得更难满足,更难体验到生活中微不足道的乐趣。

习惯本身是中立的,好习惯可以被强化,坏习惯同样也是。习惯可以帮你坚持运动、早睡早起,它同样也会帮你建立起下班就点外卖、早起先刷短视频这样的“坏习惯”。所以,我们真正要做的,是利用系统 2 的清醒时刻,有意识地设计好自己的环境与习惯系统,让自己的未来尽可能少走弯路。

采纳外部建议

A remarkable aspect of your mental life is that you are rarely stumped … The normal state of your mind is that you have intuitive feelings and opinions about almost everything that comes your way. You like or dislike people long before you know much about them; you trust or distrust strangers without knowing why; you feel that an enterprise is bound to succeed without analyzing it.

内部视角是通过关注特定任务和手边的信息来考虑问题,并基于这组狭窄独特的输入(可能包含轶事证据和错误认知)进行预测。这是大多数人进行规划时的常用方法。

人们倾向于内部视角主要有几个原因:天性乐观、乐观主义错觉(认为自己的未来比他人更光明)以及控制错觉(认为自己能控制偶然事件)。此外,自我意识(Ego)也扮演了重要角色,人们倾向于认为自己与众不同且更优秀,因此相信「这次不一样」。有趣的是,人们在评估他人情况时,反而更擅长运用外部视角。

在与内部意见的竞争中,外部意见丝毫没有取胜的机会…偏向内部意见常带有道德的意味。

卡尼曼提出了一个有效的方法——参考类别法(Reference Class Forecasting)。不要只盯着自己独特的计划和能力,而是要查看同类型任务在现实中的平均结果。在做投资决策时,不仅考虑自己对市场的判断,还要参考市场历史上的平均收益与风险。

引入外部数据、他人经验、集体智慧,可以帮助我们矫正自身的认知偏见,尤其是系统 2 的过度自信与过度理性。

理性不等于正确

更进一步,我们还需要保持对系统 2 自身的警觉。很多人以为只要启动系统 2 就等于理性决策,实际上,系统 2 也有自己的缺陷。正如我们之前提到的斯坦诺维奇的观点:理性与智力并不等同。一个人在逻辑推理上能力很强,并不意味着他在现实生活中的决策就没有偏见和错误。系统 2 的过度自信、选择性接收信息、确认偏误,都可能让人陷入“自以为理性”的陷阱。

使用分析框架

上面提到的优化策略主要聚焦在「硬件」层面 —— 认知资源、工作记忆、自控力本身的限制。但在此基础上,我们还需要借助更好的「软件」——也就是分析框架,来提升系统 2 的决策质量。

分析框架指的是一套用来理解问题、拆解问题并制定应对策略的思维工具。比如: 结合跨学科的知识准备和通用的思维框架能显著提高决策能力。这些框架帮助从不同角度审视问题:

  • 逆向思维 (Inversion): 从反面或目标倒推来思考问题。
  • 二阶思维 (Second-Order Thinking): 考虑决策的后续影响,不断追问「然后呢?」。
  • 地图并非疆域 (The Map Is Not the Territory): 认识到模型或地图只是现实的简化,并非现实本身。

更多决策模型和心理模型可以参考 fs 的这篇文章:Mental Models: The Best Way to Make Intelligent Decisions

———

无论是通过习惯养成减轻系统 2 的负担,还是通过外部建议与批判性思维提高系统 2 的决策质量,我们最终的目标都是一样的:让系统 2 的有限资源被用在真正重要的地方。

一个优秀的决策者,并不是永远理性的人,而是一个懂得什么时候自动化,什么时候反思的人。他知道如何借助系统 1 的力量,同时也知道如何校准系统 2 的判断,让两者协同发挥作用。


  1. Cognitive Miser
  2. What’s Taking Up Your Mental Bandwidth Right Now?
  3. How information is like snacks, money, and drugs—to your brain
  4. 稀缺
  5. 习惯的力量
  6. Working memory

从 Scrum 到 Linear Method:重塑我们的开发流程

2024-12-25 22:42:15

从 Scrum 到 Linear Method:重塑我们的开发流程

过去 5 年,我们团队一直都在使用 Jira 来实践 Scrum。Jira 的难用是众所周知的,但作为产品经理我也理解为什么 Jira 这么难用。2B 尤其是面向大型企业客户的产品,最终形态都是像 Jira 或者 Salesforce 那样。体验极差,但是灵活性非常高,面对大型客户,每家公司都有自己的工作流,这种定制的工作流本来就不够 SaaS,所以为了满足这种需求,产品只能做到非常灵活,一个极端就是直接提供 API,让客户自己随便玩。但是并非所有人都有了编程经验,于是不会编程的用户便想要一些简单的规则引擎,规则引擎本身是一个非常复杂的任务;但规则引擎并不难解决所有问题,总会有一些高级用户会提出来为什么不增加这样或那样的规则,甚至为什么不直接增加一个可以运行代码的节点。灵活性不是一个简单的问题。不过这是另一个话题了。

但对于我们团队来说,我们不需要非常灵活的东西,他会让事情变得复杂,我们只需要简单的看板,可以统计 Velocity,可以无限嵌套子任务的工具。某次网上冲浪期间发现了 Linear,但一开始并没有直接使用,我的第一印象是“这不就是一个速度更快、更简单的 Jira 吗”,并不觉得有什么颠覆性的东西。一年之后我又无意间读到了 Linear Method,然后才开始入坑,也才慢慢理解了 Linear 背后设计意图。Shape Up 也是同理,只是 Basecamp 的理念可能过于先进,我到现在也没有完全吃透。

在使用 Linear 的同时,我们结合 Linear MethodShape Up,对我们的开发流程进行了重塑,尝试解决我们在 Scrum 中遇到的问题。实践了快一年,并非所有的问题都得以解决,但我个人的感受是整体项目的交付速度提升至少有 20%。有必要总结一下我们这一年的经验。

在使用 Jira 和 Scrum 的时候,开发团队每 2 周进行一个 Sprint,每个 Sprint 的最后一天我们会做 Sprint Review 和 Retrospective 以及 Planning。Sprint Review 就是把团队的交付的内容和 Stakeholders 同步,通常我们会测试环境 Demo 即将上线的新功能。Demo 完成后 Stakeholders 会提出一些问题或者建议,随后是 Retro,主要是回顾团队协作的情况。紧跟着就是 Planning,产品经理讲述下个 Sprint 的项目。Planning 之后是 Grooming,开发团队对项目进行拆解,将每个项目拆分成开发任务并评估出故事点,评估完成后 Scrum Master 会根据团队过去的 Velocity 给出最终的交付物。

这里存在几个问题:

  1. 故事点估算的交付周期几乎不起作用,很少会按时交付。
  2. 所有人都显得很忙碌,工程师总是在写代码,修 bug,对于项目价值以及原因并不理解。
  3. Sprint 不停的冲刺,团队很少能够审视过去做过的项目是否真的有价值。
  4. Sprint 目标确定后,极少有空间去修复技术债务。
  5. Sprint 开始的时候,往往技术方案还不是很确定,Sprint 冲刺的过程中存在着大量的不确定性。
  6. 如果项目出现风险,导致无法在 Sprint 结束的时候上线,结果就是延期到下个 Sprint,完全不够敏捷。
  7. 设计师应该在 Scrum 中的哪个阶段参与?如何参与?

过去,我们在 Scrum 的框架中打了很多补丁,效果并不理想,反而徒增了许多工作量。当时我们并没有意识到或许换一种工作流可能就可以很好的解决。其实也不用替换掉整个工作流,只需要少许改动就可以解决很多问题,这个改动就是在 Cycle1 之间引入了 Cooldown。我们参考 Basecamp 的 Shape Up 方法,并结合自身实践,将 Cycle 的长度设置为 3 周,在 Cycle 与 Cycle 之间增加 1 周的 Cooldown。

Cycle 中要做的事情与 Sprint 并没有太大的变化,主要是关注交付。我们保留了每天早上的站会,花 5–10 分钟来同步项目进展,主要目的是发现风险点。如果开发的过程中发现了新的不确定因素,团队成员会在站会上提出来,如果影响到项目的交付,我们会尝试调整项目的 Scope,或者安排更多的人力。风险确认之后,我们也会发布 Linear 的 Project Updates,内容会同步到 Stakeholders 所在的 Slack Channel,确保所有人都了解项目情况。

持续冲刺最大的问题就是很少去反思之前做过的项目,开发也没有时间去做性能优化,解决技术债,而这些问题在 Cooldown 中都有一定的缓解。在 Cooldown 中,我们主要关注以下事项:

  1. 回顾上上个 Cycle 的结果:分析每个项目是否达成了预期的目标。
  2. 制定下个 Cycle 的计划:结合之前项目的经验和数据,制定下个 Cycle 的计划。
  3. 明确方案和拆分任务:确定下个 Cycle 的计划后,开发团队会进行技术调研,确定技术方案 ,然后根据方案拆分出开发任务。
  4. 评估开发任务的故事点:开发会对每一个具体的开发任务给出相应的故事点,根据整个项目的故事点总数,我们可以预估下个 Cycle 的交付物。
  5. 优化和修复:优化上个 Cycle 中出现的问题,或者修复 Bug,为下一个 Cycle 的顺利进行做准备。

整个 Cooldown 从周一到周五大概会这样安排大概是这个样子:

周一:开会的一天

周一大部分时间都在「开会」。主要在做的事情实际上就是回顾之前的项目,然后计划下个项目。

1. 回顾会议

回顾会议由产品经理来同步上上个 Cycle 交付的项目的数据。通常我们的项目分成两种:一种是功能交付;另一种是试验一些新的想法。前者通常关心的是用户使用情况;我们团队做的比较多的是后者,后者我们会将每个项目的结果分成 3 种:

  1. 符合预期(Validated):即项目结果达成了我们最初设定的指标,并总结原因。
  2. 不符合预期(Invalidated):即项目结果没有达成最初设定的指标,然后分析原因可能是什么。
  3. 没有结论(Inconclusive):这个比较复杂,虽然指标可能符合预期或者不符合,但因为有其他因素的干扰,导致无法判断是否是因为这个项目导致的结果。

同样,针对 3 种结果,也会有 3 种不同的行动项:

  1. Validated:通常下一步行动是进一步优化,或者进行规模化。
  2. Invalidated:则会进一步讨论是否需要继续,或者放弃。通常一个项目会对应一个目标,而达成目标的方式通常有很多种,每一个项目通常我们会选择其中一种来做尝试,如果这种方法被证实为无效,我们可以会继续评估是否这个目标还值得去做,如果值得,那么再考虑其他方式。而如果已经没有新的想法了,则暂时放弃。有些放弃的项目也会需求下线之前的项目,清理代码。
  3. Inconclusive:与 Invalidated 的类似,不同的是当中有试验初期未被考虑的因素出现,这个因素对试验的结果产生了一定的影响。那么无论结果是符合预期还是不符合,都不能作为确定的事情,我们需要考虑这个新的因素后重新设计试验,然后重新评估项目是否还有机会成功,如果有,那么稍微调整下再继续观察。如果考虑到新的因素之后,原有的项目已经无法奏效,那么就像相当于是 Invalidated 了。

2. Planning 会议

Planning 主要是产品经理向团队介绍接下来一个 Cycle 的目标和方案。我个人很喜欢 Shape Up 中写 Pitch 的方法,不过对于并不是所有产品经理都能够写出合格的 Pitch,因此也暂时没有在团队内部推广。Planning 实际上会过 3 种项目:

  1. 产品经理原本安排在下个 Cycle 要做的事情。
  2. 回顾议会中,如果有提出新的想法,产品经理也可能会安排到下个 Cycle 中。
  3. Linear Triage 中所有的项目:Cycle 的过程中如果有任何新的想法,通常都会先进入 Triage 中,每次 Planning 的时候我们都会一条一条的 Walkthrough,如果决定不做的就会直接 Cancel 掉,决定要做的就会尝试安排到下个 Cycle 中。如果 Cycle 没有空余的时间,则会 Snooze 推迟到下下个 Cycle 再讨论。

3. Retrospective 会议

这个是从 Scrum 中延续下来的会议,这个会议与项目无关,主要关注的是团队协作流程中的问题。通常会议上我们会收集团队成员的反馈,大家回顾项目进行中碰到的阻力,跨团队协作、文档、做事方式等等,把所有认为不合理的地方都记录下来。会议中我们会讨论这些问题,并且商讨出一个可行的解决方案写入下个 Cycle 的行动项目 。会议结束后,每个行动项目都会有一个 Owner 来追踪。实际上,我们现在的项目运作流程就是在这个会议中讨论出来的。

周二到周四:Shaping

这几天相当于 Shape Up 中的 Shaping 过程(虽然并不完全相同),Shaping 主要达成几个目标:

  1. 目的是明确交付项目所需的具体内容,也就是 Definition of Done。
  2. 明确投入的成本,也就是 Shape Up 中提到的 Appetite。在《RICE 框架》中有提到一种衡量 ROI 的方法,讲道理应该遵守这种规则来设定 Appetite。
  3. 分析技术可行性,调研技术方案。
  4. 然后拆分技术任务,并评估点数。

对于开发来说,Planning 的项目可以分成两种状态:

  1. 我们知道怎么做,整个项目基本确定,需要用到的数据、服务、设计都是比较确定的。
  2. 项目看起来具备可行性,但还没有具体的实施方案,其中又可以分成以下几种状态:
    1. 不知道用什么技术来实现;
    2. 知道用什么技术来实现,但对该技术不熟悉;
    3. 技术都比较了解,但是有外部依赖性,可能需要依赖外部团队。

对于 2.a 和 2.b,工程师首先会调研技术方案,技术方案调研完成的标准是用简单的脚本构建了原本的需求,其中的代码质量可能无法到达 Ready for Production 的水平,但是基本的流程跑通了,也大概知道有哪些坑以及要做什么事情。确定这些之后就可以对项目进行拆解。

2.c 产品经理和工程师也会找对应的团队去沟通,如果其他团队可以在 Cycle 内提供支持,那么首先要做的就是协商接口协议和大致的时间,然后各自按照协议进行开发。团队确定协议后也会先拆解项目。

也时候也会出现一种情况,就是到 Cooldown 结束的时候也没确定技术方案。这个时候有两个选择:

  1. 暂停该项目,等待下个 Cycle 的时候再决定是否要继续,因为成本比较高。
  2. 把技术调研本身作为一个任务放进 Cycle 中,这种情况下该项目通常不会作为交付目标,而是如果有空余时间才会去做。

把技术调研放进 Cycle 的另外一个问题是 Story Point 无法确定。我们之前有出现过整个 Cycle 都是在做调研,尝试过很多方案,最终还是没有找到合适的方案。最大的问题是没有制定一个「止损」,我们现在通常会给一个固定的时间来做技术调研,通常是 1–2 天,如果 2 天之后没有任何进展,可以会先暂停调研,转而投入更确定的项目中。

从 Scrum 到 Linear Method:重塑我们的开发流程

Shape Up 中有个 Hill 的概念,技术调研就像是在爬一个山坡,爬到山顶意味着技术调研已经结束,方案已经很明确了。Linear 没有向 Basecamp 的 Hill 的概念,所以我们为进入 Cycle 中的调研任务定了一些规则。由于调研任务很难评估时间,所以我们会在调研任务一开始的时候确定一个最大时间,也就是根据项目本身的价值,我们最多还愿意投入多少的时间来做技术调研,通常是 1–3 天。然后我们每天会评估前一天调研的情况,通常在最大时间达到的时候会有几种结果:

  1. 方案已经明确:这是最理想的情况,接下来就是做任务拆解,但不一定需要在这个 Cycle 进行开发。
  2. 方向已经明确,但具体的技术细节还要在调研:这种时候我们通常会在给出 1 天的时间,一天之后在进入这个评估流程。
  3. 方向依然不明确:这种时候我们会暂定调研,转化把人力投入到已经确定的项目中。

周五:评估故事点的艺术

周五也是 Cooldown 的最后一天,在下周一的时候就会直接进入 Cycle 中, 因此周五最主要的事情就是确定下个 Cycle 的交付物(Scope)。 最初我们按照 Scrum 的 方式来评估点数,整个评估过程需要所有参与的工程师 一起,所有人 同时评估一个项目,评估的结果通常会有些出入,有些人的点数多,有些人认为的少,然后讨论为什么会有出入,通常是一些背景知识的差异,或者有些人想到一些 边缘情况,所有信息都聊清楚之后,最终达成一致。这种方法的结果是没有问题的,但是效率非常低下,因为每一个项目大家都要讨论很久,结果就是一个点数评估要好几个小时才能完成。

我们的解决方案是制作了一个评估点数的标准,每种类型的任务都有相对应的点数,例如对于前端来说,最简单的需求莫过于改文案,所以一个改文案的 Issue 就是 1 个 Story point;比改文案稍微复杂的就是改个 CSS 属性,改颜色,调整字号什么的,它比改文案复杂的点在于有时候你的修改可能不生效,CSS 覆盖什么的,所以可能会需要找一下在哪里改。以此类推,我们使用斐波那契数列来制作了一个 Cheatsheet 帮助工程师评估每个 Issue 的点数。整个项目的点数就是把所有 Subtask 的点数加起来。

我见过一些团队会被所有做过的任务都进行归纳,然后给每种类型的任务都给一个固定的点数,每个点数下面 也都会链接到一些典型的任务上。这样做唯一的问题也是效率,回顾过去做过的所有任务并分类归纳并不是一件轻松的事情。对比我们现在的做法是,先定义一些我们经常被碰到任务,作为一个锚点,然后遇到新类型的时候,会临时评估一个点数,到 Cycle Retro 的时候我们会重新调整下点数标准。效果也很不错,从最开始到现在基本已经稳定,中间值有过一次比较大的调整,是因为有一些新的任务比我们定义的 3 个点大,但是比 5 个点小。于是我们把所有的 5 个点之后任务都统一往后挪了一位,对应的 Cycle Velocity 也给这膨胀了。

另外就是评估点数的标准描述上,最开始我们定义的锚点就是“1 点:修改文案”这种比较清晰的,但是对所有任务类型清晰的分类和归纳依然是个体力活,所有基本上在 3 个点往后的,如果实在难以分类,我们就用很模糊的语言来表达,有几个案例可以感受下:

  • 5 个点有个类型是“写一个全新的、简单的 UI 组件”,意思是一个 Subtask 需要写一个之前没有的 UI 组件,但是这个组件很简单,简单就是一个很主观的词,但团队内部慢慢的就会达成共识,虽然没有文本说明。大家对简单的共识可能就有几个条件:没有动画、只有简单的交互(点击),甚至没有交互,所以大家一看到就知道这是一个简单的组件。
  • 8 个点也有个标准是写复杂的新组件,复杂意味着可能有多个交互方式,内部元素也比较多,但是大概看一眼也都知道应该怎么写。
  • 13 个点也有个写组件的,是复杂的带动画的 UI 组件:动画通常调试起来比较复杂,所以只是给一个组件加动画本身就是 5 个点。
  • 21 个点同样有一个是创建新的 UI 组件,但是你一眼看上去就知道这玩意非常复杂,起码得 3、5 天才能搞定。

再说一个拆任务的粒度,通常我们希望是越细越好,所有的故事点就是针对最小粒度的任务做的。举个例子,前面提到的 复杂的带动画的 UI 组件,有些组件本身和动画并不耦合,这种时候就应该拆分成两个任务:1 个写复杂组件的任务(8 个点) + 1 个给组件加动画的任务(5 个点);也有些组件 UI 和动画的耦合比较深,两个必须一起做才行,这个时候才会保留 1 个任务给 13 个点。

评估点数之后就是确定 Cycle 的 Scope,根据过往的 Cycle 数据我们已经大致知道在一整个 Cycle 中团队能够交付 600 个故事点,虽然每个人的数字都会有一些差异。但团队整体基本上就是在这个数字附近波动。在 Linear 中我们把所有要做的项目和任务都放进下个 Cycle 中就可以看到总体的点数了。通常为了预防一些未知的事情,我们会保留 20% 的冗余点数,也就是其中 80% 的点数是必须交付的,项目中有一些 Nice to have 的就会放在冗余里面,也就是能交付最好,如果有意外发生,不交付也行。

固定时间,动态范围

前面提到在 Scrum 中我们会遇到一个问题,如果 Sprint Goal 无法达成时应该怎么做?以前的做法是,那就延期到下个 Sprint 中。而在 Shape Up 中有一个原则我觉得可以非常好的解决这个问题:

Fixed time, variable scope.

在 Scrum 中,我认为的一个 Sprint 的定义是至少一次的发布周期,Cycle 同样也是,每个 Cycle 3 周意味着 3 周内我们要进行至少一次发布。发布不是没做完就直接上线,而是功能是完整的,但可能体验不是很好,甚至在某些边缘场景中会有 bug 存在,并且 bug 是已知的,我们称之为 Release with bugs。最根本的原因就是 Cycle 就一定要交付,而且交付物是可用的,即使有 bug 也不影响主流程。这也符合 Agile 本身所推崇的持续交付。从客户和项目 Stakeholder 的角度来看也更容易接受。Cycle 的交付物对于一个团队来说是一个 Commitment,如果时间到了没有交付,客户和 Stakeholder 会降低对团队的信任;而如果交付了,即便是存在 bug,这个时候大家都会表示理解,毕竟不是不能用。而 Cooldown 的过程中我们就会修补之前提到的问题。

作为买家,我自然也不喜欢这种交付方式,最明显的案例就是游戏行业,我们已经看到过很多刚发布的时候一堆问题, 然后慢慢改进的游戏,Cycberpunk 2077、无人深空这种。我的看法是 2C 产品最核心的就是体验,如果有功能且体验不错的产品就有很多,用户和玩家有很多选择;而在 2B 里面功能显然更重要一些,看看 Salesforce 和 Jira 就知道了,毕竟买的人不一定用,所以他不关心所谓的体验。另一方面 2B 涉及到的 Stakeholder 比较多,可能上下游的团队都已经准备好了,那么 Release with bug 好过什么都不交付。

举个例子,例如我们的项目是做注册登录,目标就是让用户可以注册并且登录到我们系统中。往大了说就是一个账号体系,最终一定会非常复杂,但是 3 周内我们能做什么呢?最基本的邮箱注册和登录一定是要有的。找回密码呢?自然也非常重要,但不一定要体现在产品功能上,意思是你的 UI 上有“找回密码”这个按钮,但是用户按下之后是 Contact support,然后 Support 可以 联系开发团队后台修改什么的,虽然加到了人力成本,但是作为 Edge case 来说,风险可以接受。

其他问题

到这里,我们使用 Linear Method 最关键的部分就已经说完了,其实就是引入了 Cooldown,而 Cycle 当中做的事情和 Sprint 本身没有区别。

关于交付

这个时候可能有几个问题,同样是 4 周,我们现在的方法只有 3 周实在写代码,另外一周更多的时候是在写文档;而在 Sprint 中,代码就是文档,有 4 周的时间都是再写代码,前者交付的产品应该会比后者少才对。

话虽如此,直接写代码的前提是你的知道你要写什么,虽然 Agile 宣扬拥抱变化,但是需求天天改 Agile 祖师爷来了也没用。拥抱变化是指对趋势和方向的变化,即如果之前的路走错了,下一次改就行了,其核心是通过学习,不断的提升认知,不断了解什么是“正确”的方向,然后不断的调整;而不是天天改需求,改需求意味着根本不知道方向是什么,只是在原地打转而已。

延期的问题其实也是 Sprint 过程中经常发生不确定性,这些不确定性导致的延期。基本上这种不确定可以分成两类:

  1. 需求的不确定
  2. 技术方案的不确定

这两个问题在 Cooldown 的过程中都有一定程度的解决。但在 Cycle 进行了一半产品经理要改需求,这种事情也拦不住,我们还是回到最开始的原则「Fixed time, variable scope」,时间就这么多,要改动也是可以,但是改动后的版本也要能保证按期交付,交付后可以在打 Patch 来进一步优化。

如果说连方向都变了,整个项目都需要推倒重来,我到目前还没有这种经历,但是我们的预案是会立即停止 Cycle,重新进入 Cooldown 阶段,重新评估项目。这种情况发生的时候,相当于 Cycle 的目标已经发生了变化,那么继续原来的 Cycle 就是没有意义的。

关于故事点

Some teams try to attach estimates to their tasks or scopes to report status. The problem with estimates is they have a very different meaning depending on the nature of the work being estimated.

一些团队会估算任务或范围来做报告状态。估算的问题在于,它们的含义因所估算工作的性质而有很大不同。

Shape Up 并不使用故事点,转而使用 Hill 来作为状态,我并未尝试过这种方式,一方面在 Linear 中没有这样的概念,比较难以实施,另外所有人需要转变思路。我们也不确定这样做是否值得,我们唯一对故事点的抱怨是估算花费了太多的时间,而这个问题已被解决。有了故事点,很大程度上可以帮助我们更好的跟踪项目动态。

故事点的意义在于让我们可以知道团队在一个 Cycle 内的工作容量,从而预估交付物,给利益相关方承诺。虽然并不是完美,但就我们使用的情况来看,问题也不大。

以下是我们在不同时间团队的 Cycle Velocity,你可以看到故事点可能会随着 Cycle 的进行而波动,实际上就是中途发现了不确定。但是我们的交付进度(蓝色实线)基本上是贴着 Linear 的预测(蓝色虚线,只是线性的平均线而已)在进行,基本上说明项目没有问题。

如果蓝色实线距离蓝色虚线有比较大的距离,那么意味着项目可能会延期,这个时候项目的 Lead 通常会发布 Project Updates 来报告项目状态为 At Risk,此时我们会有几个预案:

  1. At Risk:通常意味着增加人手可以解决,我们可以暂停优先级较低的项目,而让临时增加人手来解决。
  2. At Risk:如果实在没有人手,那么再次思考 Scope 能否继续缩小。
  3. Off Track:意味着没救了,无论如何 都不可能按时交付了。这个是最差的情况,我们也出现过 2–3 次。只能提前和 Stakeholder 沟通,达成一致。
从 Scrum 到 Linear Method:重塑我们的开发流程
Cycle 当中点数上涨也是正常,我们预留了一部分的冗余空间来应付不确定性
从 Scrum 到 Linear Method:重塑我们的开发流程
最初的大幅波动是不小把第一周 Cooldown 也算进 Cycle 了。

关于设计

遗憾的是我们依然没有解决设计师应该如何参与的问题。理论上 Shaping 的过程就是设计师和工程师通常参与 Shaping,搞清楚要做什么,然而我很少遇到能和工程师配合很好的设计师。这不一定是设计师的问题,在一些公司,设计师是一种资源,需要的时候得去申请。这种情况下,设计师调过来也只是完成一些任务,他不会尝试去理解你的项目目标、背景、所处的状态,只是来完成任务而已。当然并不是所有人都这样,但毕竟能够深入理解项目并负责人的是少数。我的项目中尽量不使用设计师,多数时候与设计师沟通要消耗不少时间,有这些时间我自己都把 Demo 写好了。这其实是敏捷(Agile)的另外一层问题,在一个公司当中,只有一个团队和项目敏捷是不够的,外部资源总会成为 Blocker,解决的方案就是让整个公司、整个组织都变得敏捷起来。

我的多数项目中,我自己承担了设计师的角色,从设计师和开发的沟通来看,相比较使用 Figma,我更喜欢用 React 来做设计(直接写代码)。原因是很多时候 Figma 做不到我想要的效果,尤其是要做非常灵活的组件的时候,例如按钮的颜色继承父级组件的颜色,这种情况在 Figma 中需要设计师手动标记,而开发常常会忘记去看这些标记。

对我来说 Figma 还不够灵活,我的习惯是,在做设计的时候,第一版基本上是不会做组件的,先把页面画出来。随着页面的增加,会出现很多重复的组件,这个时候我才开始做组件,然后把页面上重复的地方全部替换成组件。随着项目继续推进,有些组件就需要根据一些参数/变量来自动调整,这个时候需要回去改组件,同时再调整所有用到该组件的地方,很多时候要把组件的宽高一个个全部调整一次,基本上就是个体力活。虽然在写代码也是相同的流程,但是代码的行为比 Figma 调整 Responsive 更加可预测,所以改动起来也会更容易。

在与开发的配合中,我尝试过两种方式,我们目前的几乎所有的项目都使用 Radix ThemeTailwind

第一种做法是,我会在 Shaping 的过程中会有一个草图(通常使用 ExcaliDraw),工程师就可以根据草图来直接开发,有些地方可能需要工程师自己发挥,因为有 Radix 组件,多数时候都不会太差。开发完成后,我会先验收功能,没有问题我会在对 UI 做一些微调,然后就可以上线了。

第二种做法是,我先写 UI 和交互,只设计前端的逻辑,以及一些 Mock 的数据,并没有真正和后端交互。然后工程师会在此基础之上加上后端的数据。这种流程比较复杂的时候,用代码直接开发 Demo 有另外一个好处,每一次开发完成后我自己会先用一次,总是会发现一些不合理的地方,然后重新调整。用 Figma 当然也可以做一些流程,模拟点击来尝试,但和真正在前端 Mock 数据来使用时完全不同的。

对于一些需要复杂流程的我会选择第二种,如果只是一个做内容展示的页面,则使用第一种。


回到正题,以上就是我们过去一年使用 Linear 并且结合 Shape Up 和 Linear Method 调整后的实践经验,其中不可避免地带有我们团队的历史因素,例如团队成员配合默契,使得 Story Point 的标准即使相对宽松也不会影响最终交付。我们没有完全投入到 Shape Up 或者 Linear Method 中,而是结合自身情况进行调整。没有必要为了改变而改变,只有当现有流程出现问题时,我们才会考虑引入新的方法。我们也深知,没有一套方法可以完美适配所有团队。最佳实践,唯有在实践中根据自身情况不断微调、优化才能得到。


  1. Cycle 或者 Sprint 对我来说都是一个周期的单位。Linear Method 不适用 Sprint 是认为 Sprint 有冲刺和意思,而 Cycle 的重点是交付价值,而不是冲刺交付具体的工作量。我个人到无所谓。 ↩︎

Issue #10 - 通过 Zapier 聊聊 Product-Led SEO

2024-06-23 15:16:51

Zapier 每个月有超过 6百万 的自然搜索流量,帮助 Zapier 成功的流量策略,被称为 Product-Led SEO。这里的 Product 指的是产品本身,Product-Led SEO 就是指通过产品本身的功能作为核心关键词,通过程序化的方式来拓展关键词,构建起大量的页面的方式来做 SEO。

Zapier 最初的业务很简单,用户在软件界面中简单的几步操作,就可以实现多个产品的对接。在 Zapier 出现之前,如果你想要对接不同的软件,那你可以写个脚本,通过调用不同软件的 API,并将其部署在服务器上来实现最终的对接。而 Zapier 相当于是把「写脚本」这件事情变成了可以通过「用户界面」来直接配置,并且无需部署,可以直接运行在 Zapier 的服务器上,明显降低对接不同软件之间的成本。

Zapier 的核心能力显而易见,就是「集成/对接」(Integrate/Connect),而这个词也正好就是 Zapier Product-Led SEO 中最主要的关键词。Zapier 的目标客户就是那些需要对接不同软件的人,而这些人在搜索引擎上通过会搜索诸如「如何对接 A 和 B」这样的内容。而 Zapier 就利用自身已经对接的软件,通过程序快速生成了大量的「对接 A 和 B」的页面。如今在 Google 上搜索有关两个产品之间的对接,Zapier 的结果总会出现在头部。

Product-Led SEO 的最主要的特征是可规模化,也就是说可以通过程序的方式来快速生成大量的相关的页面来做关键词排名,这种方式称之为程序化 SEO(Programmatic SEO)。程序化 SEO 结合了产品核心功能作为关键词就是所谓的 Product-Led SEO。

为什么 Product-Led SEO 会起作用?主要是和 Google 的 E-E-A-T 策略有关,其中第二 E 代表着专业度(Expertise),而 A 代表了权威性(Authoritativeness)。这两个的意思是页面的内容本身是否足够专业(如果是文章还要考虑作者),并且发布这篇文章的网站在这个话题(Topic)上是否足够权威。举个例子,一个非常专业美食博主,在自己的美食博客里发布一篇有关健身减脂的文章,即使文章本身可能足够专业,但你也会怀疑博主突然发这样一篇文章是否有广告嫌疑,Google 也是如此。

Zapier 本身的主营业务就是做软件集成,所以在「集成」这个词上就天然的具有权威性。类似的案例非常多,例如在 Google 搜索 Email Marketing,头部的结果基本上总是 Mailchimp, Hubspot, Brevo 这几个主营业务就是 Email Marketing 的网站。虽然作为一个搜索引擎的用户,我并不喜欢这种结果,原因是大部分内容都是千篇一律,而真正的干货文章可能是在某个从业多年的人的博客或者 Substack 上,但是头部的企业网站可以凭借更好的域名权威性来以及大量的内容输出,来获得更好的排名。另外,根据我个人的经验,这其实是可以作弊的,Google 其实并不是真的「理解」这个网站的业务,如果某个网站有很多有关某个话题的内容,那么 Google 可能会认为你的网站就是干这个的,从而提升改网站在相应话题中的权威性,也就是 SEO 的马太效应。企业博客可以雇佣大量自由写手来撰写大量关于某个话题的内容,而个人博主则没有这个能力,于是我们看到的结果就是大量的排名很高的 SEO 软文,而真正的干货却难觅踪迹。

Product-Led SEO 的一个好处是流量的质量得以保证,这也是我认为 Product-Led SEO 和 Programmatic SEO 最大的区别。如果一个网站主要是依赖流量的多少来赚钱(例如广告展示),而不关注流量质量,通过程序可以快速生成大量的页面来做排名就足够了,什么关键词流量高就做什么关键词,而无需关心来的都是些什么人。但如果是通过出售产品来赚钱,流量的多少自然也重要,但更关键的是流量的质量。那么如何评价流量的质量呢?对于类似于企业官网这种无需登录就可以公开访问的网站来说,我们很难直接知道访问网站的人都是什么类型的人、有什么诉求,是否符合产品的 ICP。虽然 GA 提供类兴趣爱好等标记,但只有在投放 Google 广告的时候才会有所帮助。B2B 领域有一些公司(例如 Clearbit)可以提供通过访客 IP 来识别 这个人可能来自哪个公司的,但一般来说价格不菲,而且即便所在企业符合 ICP,访客本身也未必符合 Buyer Persona,而后者几乎没有方法可以在匿名的情况下获知。低成本并且高效的方式就是通过页面关键词,例如你写了一篇如何运营网店的文章,有个人通过搜索引擎进来到这篇文章,虽然 Google 不会直接告诉我们「这个人」的搜索关键词具体是什么(如果是通过搜索引擎广告进来就可以知道关键词),但是根据文章内容也能猜出个大概,访客大概率是从事和网店运营相关的工作。

对于 Zapier 来说,如果一个人搜索 A 集成 B,或者如何集成 A 和 B 这样的关键词,那么这些人大概率就是目标客户。Zapier 就顺着这个关键词,自动生成了很多 Connect A and B 这种页面,如今 Zapier 已经支持 7,000 多个 App,这些 App 两两组合就可以生成 24M 的页面,而且边际成本很低,每新增一个 App,这个 App 就可以自然的与库里的所有 App 对接,就相当于新增了 7,000 多个页面。

如果我们看 SEMRush 的数据,Zapier 的流量差不多是在 2015 年左右才开始有起色,而 Zapier 成立于 2012 年,Product-Led SEO 的策略差不多是在 2013 年的时候开始做,所以问题出在哪里?

和所有的 Programmatic SEO 的方式一样,Product-Led SEO 需要时间才能起作用,Zapier 2012 年才成立,域名也是全新的域名,最初虽然页面数量不多,但 Google 对于新网站通常都会持怀疑态度,不会给很高的排名,需要时间才能验证。我自己也做过类似的项目,2023 年初的时候我们用一个全新的域名来做 Product-Led SEO,起初的一年每个月的流量都少的可怜。不过我们也没有花太多的成本来维护,直到今年 3 月的时候我们重新审查了这个项目,反思是不是我们那里做错了,或者说会不会这个域名已经被 Google 拉黑了,于是我们决定等到 5 月份的时候再看看情况,如果不好转的话就换域名或者干脆放弃。巧的是在 4 月底的时候流量突然发生了很大的增长,很难说清楚原因,因为当中我们其实没做什么,唯一可见的影响就是 Google 在 4 月份完成新 Core update(核心算法的更新),以及之后 Spam 内容检测的更新,之后流量大涨,月活直接是之前的 100 多倍,而此时距离项目上线已经过去 15 个月了。我的一个猜测是这可能就是 Google 给一个全新域名的一段时间的试用期,过了之后 Google 才认可这个域名。


Product-Led SEO 并不适合所有产品,它取决于产品核心功能的这个关键词的拓展性。Integrate, reviews, email template 这类型就很好扩展,xxx reviews 可以是任意店铺、网站、软件等等,G2, Trustpilot 就是利用 Review 这个关键词来做 Product-Led SEO。同样 xxx email template 可以是节日、风格、场景等等,很多邮件营销工具(Camppaign Monitor)和设计工具(Canvas)就利用 template 这个词做了大量的页面。如果产品的核心能力恰好是可以拓展的,Product-Led SEO 自然是最好的选择,虽然它不像看起来得那么简单,Product-Led SEO 最大的成本其实在于背后的基础设施,想象下如果你有 24M 个页面内容需要维护的时候,系统会变得多么复杂。一旦你成功的构建了 Product-Led SEO,网站相当于构建了一道 SEO 的护城河,其他人也可以复制你的策略,但是在域名的权威性等等方面,他们也需要花很多时间去积累,而 SEO 的马太效应会让已经成功的网站活得更好的排名。

反脆弱:从不确定性中获益

2024-06-13 22:19:05

TL;DR

反脆弱:从不确定性中获益

黑天鹅事件的风险很大,并且不可预测,因此我们不应该去寻找预测黑天鹅事件的方式,而应该去适应有黑天鹅事件的环境,适应的方式就是利用反脆弱性来构筑越来越强韧的事物。


黑天鹅:如何应对不可预知的未来》主要介绍了为什么黑天鹅事件不能被预测,但在书中作者 Nassim Nicholas Taleb 并没有给出如何应对黑天鹅事件的答案。之后出版的《反脆弱 : 从不确定性中获益》中,Taleb 才真正给出了答案,他认为应对黑天鹅事件最佳的方案就是提升反脆弱性。所以这篇文章我从自己的角度来解释下什么是反脆弱性,以及反脆弱性的作用机制。

Taleb 把事物分成三类:

  • 脆弱类:脆弱的事物喜欢安宁的环境,无法应对环境的变化,对黑天鹅事件几乎没有抵抗力;
  • 强韧类:强韧的事物并不太在意环境,它有足够大的防御力,黑天鹅事件可能会对它造成影响,但是影响不大;
  • 反脆弱类:反脆弱的事物则从混乱中成长,反脆弱的事物不但不会被黑天鹅摧毁,反而会从中受益。

虽然 Taleb 没有解释,但我认为这三种类型的事物是一个层层递进的关系。用一个 RPG 游戏中的角色来举例,脆弱的角色血量只有 1,只要受到的伤害大于 1,它就会直接死亡;强韧的角色血量有 100,如果受到的伤害小于 100,他只会受伤,但并不致命,如果受到大于 100 的伤害,强韧的角色也会死亡;反脆弱的角色则首先有一定的强韧性,血量也有 100,与强韧的角色一样,他可以承受 100 以下的伤害,虽然也会受伤,但是每次战斗结束后,反脆弱的角色的等级会提升,血量也会 +10。意味着只要杀不死他,那么每次战斗都会提升它的经验,让它变得更强。简单理解反脆弱就是「不断的打怪升级,然后挑战更高等级的怪」,如此循环下去。

反脆弱就是进步

我们在此不妨作一个大胆的猜想,任何有生命的物体在一定程度上都具有反脆弱性。

生命,或者我们说的大自然无疑是反脆弱的最佳例证。地球 45 亿的历史中,生命也存在了 38 亿年,这期间主要经历了 5 次物种大灭绝,大灭绝主要是由于外部环境的变化而导致。不过大灭绝不仅没有导致生命的终结,反而令生命更加的多样。从更长的视角来看,物种灭绝实际上淘汰了那些无法适应环境的生物,留下了能够应付更复杂环境的生物,准确来说是「基因」,更强韧的基因得以保留,基因不断突变、遗传,每一代新的物种都强于之前的物种,使得生命作为了更大的群体的强韧性得以提升。但对于个体来说,进化的代价也是非常巨大。对于群体来说,只要代价可以被承受,结果总是美好的。

反脆弱:从不确定性中获益

反脆弱不是一种结果/状态,而是一个持续学习的过程,不断提升的强韧性是反脆弱的结果。如果我们把生物进化当做是学习的过程,那么进化使得基因「学到了」什么行得通、什么行不通,当基因「发现」眼睛有助于生存的时候,没有眼睛的生物就逐渐被淘汰,有眼睛的生物越来越多样。人类学习知识依赖于我们过去的经验,我们所经历的越多,经验就越多,也就知道了什么行得通、什么行不通。

这种依赖于过往经验的学习方式不可避免的会遇到「休谟问题」,但似乎也没有更好的方式。科学也没有一成不变的理论,曾经人们以为牛顿理论就可以解释这个世界的一切,爱因斯坦提出了相对论,接着人们又认为物理学已经不会再所有建树的时候,量子力学有出现了。即使是科学,也是在不断的犯错,不断的修正。因此也就不难理解张小龙说的那句「我所说的都是错的」。

反脆弱的前提是冗余

经验的积累需要大量的实验,而实验的问题是大部份的实验都是「失败」的,而失败是需要付出成本的。对于大自然来说,这种成本就是物种灭绝,如果自然一开始只有一个物种,那么一次灭绝就是毁灭性的,更不用说从中学习什么经验。但是如果大自然拥有大量的物种(实际上也是如此),那么几个物种的灭绝听起来很残酷,但对于大自然作为一个整体实际上是有帮助的。大量的物种,实际上就是一种冗余。

反脆弱性……其实只是某种形式的冗余。

在我看来,冗余并不能直接带来反脆弱性,但是冗余为反脆弱提供了前提——强韧性。备份是一种常见的冗余方式,生活中我们常见的是数据备份。我个人的数据至少会有 3 份拷贝,笔记本中有一份完整的拷贝,台式机中有一份完整的拷贝,服务器也有 2 份完整的拷贝。设备之间通过服务器来进行同步,服务器也会自己备份一次。备份的好处显而易见,在没有备份的时候,我的数据是脆弱的,任何意外所导致的设备或者硬盘损坏,数据就彻底丢失了。而备份的存在扩大了数据的强韧性,如果某一台设备损坏或故障,其他设备中依然有数据。虽然设备损坏本身确实也造成了伤害,但对最核心的数据却影响不大。

而在软件架构中,相对于部署在一台机器上的系统,分布式(去中心化)的系统也同样具有强韧性,也就是软件工程中常说的 robust。分布式的系统有会多个节点部署在不同的地区,即便某些节点遭遇了问题可能会宕机,或者当地的网络出现了问题导致服务无法访问,这都不会影响其他地方的正常访问。

冗余和分布式系统将原本由一个单一个体组成的系统,变成了由多个个体组成的群体。群体意味着即使当中的部分个体遭遇崩溃,也不会导致集体的崩溃。从个体到集体的转变,实际上增加了整个体统的强韧性。

个体的脆弱性与群体的强韧性

进化最有趣的一面是,它是依赖反脆弱性实现的;它喜欢压力、随机性、不确定性和混乱——而个体生物则相对脆弱,基因库正是利用冲击来确保优胜劣汰,提高整体的适应力。

首先需要澄清「个体」和「群体」的概念,「个体」是相对于「整体」而言的,并不是一个绝对的实体。例如一个人,相对于人体内的每个细胞而言,人是群体,细胞是个体;相对于家族、社会而言,人是个体,家族、社会是群体。个体的脆弱性也是相对于群体的强韧性而言,并不是说作为一个人,我们是脆弱的,而是相对于整个人类来说,一个人是脆弱的。也恰好是个体的脆弱性与冗余的存在,让群体显得强韧,也是群体反脆弱性的前提。

一个系统内部的某些部分可能必须是脆弱的,这样才能使整个系统具有反脆弱性。

这种观点很像传统集体主义的价值观,在集体遭遇风险的时候,集体会要求个体要顾全大局,牺牲自己来保全群体的利益。事实上两者是有差异的,自然进化本身并没有预设的目的,因此也就不会要求个体去做什么事情,它是一个通过自然选择、遗传变异等过程发生的现象。这些机制使得生物种类能够适应其环境,增强生存和繁衍的能力。自然的这种优胜劣汰与集体主义的不同之处在于,优胜劣汰并不是自然要求个体的牺牲,而是在环境变化中,个体为了适应环境自发的响应,这种响应体现了个体的自由意志,而非群体的要求。

由于大量的个体的存在,当灾难发生的时候,每个个体都可以根据实际情况来作出不同的反应,有些反应成功的抵御了灾难,有些则不。对于没有成功抵御灾难的个体而言,面临的可能是毁灭,但我们不能说他们是失败的,从那些被摧毁的个体角度来看确实如此,但是从群体的角度来看则不。每次失败对于群体来说都是宝贵的经验,正如 Thomas A. Edison 所说「I have not failed. I’ve just found 10,000 ways that won’t work.」这些经验被群体内的其他个体所了解、学习,使得群体内的其他个体的强韧性得以提升,从而使得整个群体的强韧性进一步提升,这便是群体能够反脆弱的原因。群体越大、个体越多,所产生的经验就会越多样,知识就会越多样,群体的进化才会更快。

这也就不难理解为什么大厂会引入末位淘汰机制,因为脆弱的个体被淘汰了,留下的都是强韧的个体,因此群体整体变得更强韧了。唯一不同的是,末位淘汰是自上而下的。如何评价「末位」也是个问题,大自然显然更加残酷,大自然淘汰的不是某个个体生物,而是一个物种,无法适应环境变化的物种会被直接淘汰,但这种淘汰不是大自然做出的选择,而是物种无法应对环境变化的结果。

杀不死我的,使我更强大。
杀得死我的,使其他人更强大。

自下而上的多样性

正是因为个体的自由意志,当风险来临的时候,个体能够根据自身的情况来作出反应,加上足够多的数量,我们才能看到更多样的结果。如果反脆弱是个体自由意志的体现,也意味着反脆弱必须是自下而上的。为什么「自上而下」行不通呢?其原因和《为什么伟大不能被计划》一样,因为进化本身是不确定的事情,没有人知道应该怎么做,即便是开明的「自上而下」。自上而下本质上是一种计划,而计划本身就是「反多样性的」,计划是基于我们已知的信息来做决定,包括已知的已知和已知的未知,而进化更多时候是关于未知的未知。任何事物一旦被设计、被计划或者被控制,它的结果就不可能是多样性,即使这种目标被定义成「提升系统的多样性」,也只是一个伪目标。并不是说「计划」没有意义,只是在「创新」上不行,当 OpenAI 发布了 ChatGPT 之后,很多公司都开始「计划」自己的 AI 能力,当目标已经很明确的时候,计划就是最高效的方式。

那些在公司里制定政策的人(如脆弱推手格林斯潘)由于有一个先进的数据采集部门的支持,因此得到了很多“及时”的信息,结果却往往反应过度,将噪声当作信号,格林斯潘甚至会关注克利夫兰真空吸尘器的销售状况的波动,“以便掌握经济的确切走向”,当然,他的微观管理将美国经济拖入混乱的泥潭。

多样性和新颖性实际上是相同的意思,任何对创新的探索、对整体反脆弱的提升,都建立在个体的自由探索之上,那么群体是否为个体提供了自由探索的环境才决定了群体能否获得真正的多样性和创新性。

反脆弱需要随机波动性

除了大量的个体、自由意志,反脆弱还需要风险,这个风险,自然就是环境所带来的。反脆弱需要风险,其实就是人们常说的「走出舒适圈」。

反脆弱:从不确定性中获益

这个漫画本身并没有错,它确实反应了「走出舒适圈」可能发生的后果,但走出舒适圈并不代表「走进死亡圈」。我们需要风险,不代表要去拥抱所有的风险,而是选择那些「杀不死你的」风险。

你怎么创新?首先,尝试惹上麻烦。我的意思是严重的但并不致命的麻烦。

之所以需要风险,是因为风险(压力)会引起个体的「过度反应」,逐步累积的过度反应才是反脆弱的核心机制。健身增肌就是一个很好的例子,撸铁之所以能够增加肌肉,基本原理也是过度反应,被称之为「肌肉超量恢复」。当进行重量训练时,肌肉纤维(特别是肌肉的快速收缩纤维)会经历微小的撕裂或损伤,这种微损伤是超量恢复过程的触发因素。在力量训练后,肌肉细胞通过增加蛋白质合成来修复和增强肌肉纤维,以应对未来的压力。如果我们保持同样的运动强度,那么肌肉在适应这种强度之后也就不会再增加,如果我们增加运动强度,肌肉需要重新适应新的压力,继续生长。健身增肌最基本的原则就是「渐进式超负荷」,渐进式意味着要持续不断的训练;超负荷意味着每次的训练量要大于上一次,这样能够保持肌肉量不断的提升。

那么为什么个体会过度反应呢?一个可能的猜测是 Richard Dawkins 在《自私的基因》中所提到的「时滞性」,也就是延迟。这里的「延迟」指的是个体接收到压力的信息,然后作出反应来应对,以及应对方法的反馈,这几个步骤是存在延迟的。

基因是通过控制蛋白质的合成来发挥作用的,这本来是操纵世界的一种强有力的手段,但必须假以时日才能见到成效。 关于行为的最重要的一点是行为的快速性,用以测定行为的时间单位不是几个月而是几秒或几分之一秒。 基因并没有这样快的反应时间。基因只能竭尽所能事先部署一切。

在这种情况下,事先准备超量的肌肉和刚好够用的肌肉相比,前者在遇到危险情况的时候能够增加存活率,基因也倾向于「过度反应」。延迟造成的过度反应在现实社会中也非常常见,金融市场也是如此,当某个公司因为季度财报不达预期的时候,市场可能会发生大量的抛售该公司股票的行为,股价随即下跌,并且跌破能够反应公司真是价值的区间,但随后又会慢慢恢复能够反应公司真实价值的范围内。

压力在这里未必是一个很好的表述,没有人喜欢压力,更准确地说,「过度反应」是个体对外界刺激的反应,这个刺激源自环境的变化。我们都喜欢岁月静好,但现实却总是在随机波动,而反脆弱也需要这种波动。

当你脆弱的时候,你往往倾向于墨守成规,尽量减少变化——因为变化往往弊大于利。这就是为什么脆弱的事物需要明确的预测方法,反过来说,预测体系带来的只能是脆弱性。

反脆弱的风险

前面提到反脆弱是一个过程,更准确来说是一个不断重复且波动的过程,如果我们用冗余来代表强韧性,那么随着时间的增加,冗余的总量是在增加,但是短期内因为压力导致个体的牺牲,冗余会降低。

反脆弱:从不确定性中获益

从数学上来这个图形近似一个正弦函数,经济学中的康德拉季耶夫长波(即资本主义经济展示出约50到60年的长周期波动)也与之类似。当压力来临的时候,导致个体的「牺牲」,此时整体的冗余会降低;个体的过度反应会创造更多的冗余来应对未来的压力,此时整体的冗余上升;新的压力又会导致冗余的降低;个体继续过度反应创造更多的冗余。如此往复。

这里存在两个成本:

  1. 压力导致个体牺牲的成本
  2. 个体过度反应所需要的时间成本

这些成本同样也是风险,首先,前面也说过,过大的压力可能导致所有的个体牺牲,也就不会存在后续的增长;其次,个体的过度反应的时间如果太长,无法赶在下一次压力来临之前准备好,那么同样可能会导致冗余持续减少,并最终归零。

第一个问题,如果有得选,尽可能的避开过大的风险,选择能够承受的风险。第二个问题,则是学习的速度,相对于下一次风险降临的时间而言,只要个体「过度反应」的速度更快,那么就可以避免冗余归零。但现实中我们无法预测风险何时降临,于是只能说「越快越好」。

我们再回头看前面的整个过程,其实可以分成三个阶段:

  1. 压力产生;
  2. 个体因无法预测未来的压力,因此选择过度反应产生更多冗余;
  3. 新的压力产生,个体根据压力反馈的调整策略,此时可能有几种情况:
    1. 冗余完全可以应付新的压力,那么个体不会过度反应,并且预计未来的压力也是如此,也不创造新的冗余;
    2. 冗余完全刚好可以应付新的压力,个体预计未来的压力可能也是如此,于是只会补充失去的冗余;
    3. 冗余无法应付新的压力,个体继续过度反应创造更多的冗余,并且假设下一次的压力会更大。

我们可以把这个过程抽象成:1. 个体根据压力假设未来可能发生的压力;2. 根据对未来的假设来作出反应; 3. 当新的压力产生时,根据新的压力调整策略。这个过程基本上就是「问题的认知与表述、实验数据的收集、假说的构成与测试。」也就是说常说的「科学方法」。

前面我们一直把一个个体的「牺牲」当作是某种实验,就如同科学实验一样,不幸的是实验的成功率总是很低。也就意味着大量的实验,需要大量的时间来验证。「科学方法」实际上就是一种学习的过程,经常有人问我有什么捷径可以快速学习某种技能,入门确实有不少捷径可走,但是要精通,除了不断的练习和失败之外,似乎没有别无他法,所以时间成本实际上才是最大的成本。

鼓励失败的文化

美国的资产很简单,就是在冒险和运用可选择性方面,这是一种卓越的能力,即参与到合理的试错活动中,失败了也不觉得耻辱,而是重新来过,再次失败,再次重来。而现代日本则恰好相反,失败给人带来耻辱,导致人们想方设法地隐藏风险,不管是金融风险还是核电风险;创造很小的收益,却要坐在火药桶上,这种态度与他们尊敬失败英雄的传统,以及虽败犹荣的观念,形成了奇怪的对比。

当我们把反脆弱这个议题放在人类社会的时候,就不得不受到文化的影响。多样性需要大量的实验,而实验就不可避免的存在大量的「失败」,文化对待失败的方式会影响个体的风险承担能力、创新的意愿。传统的东方文化强调群体和谐与社会稳定,个人的行为被期望符合社会和家庭的期待。在这些文化中,失败有时被视为给家庭或个人名誉带来负面影响的事件。西方文化通常被认为更加强调个人主义和个人成就,失败往往被看作是学习和成长的机会。在商业环境中,特别是在像硅谷这样的创新热点,失败甚至被视为一种荣誉,因为它被视为尝试和创新的标志。

我时常也会经常恐惧失败,担心自己把事情搞砸。

这种恐惧源于对未知的忌惮,以及社会对失败的普遍负面的看法。而恐惧本身又反过来增加了决策中的不确定,从而形成一种恶性循环。

而事实是「失败不等于个人能力的体现」,反过来,我们也不应该将「成功」当作是一件事情的目标,取而代之的应该是「学习」。

这样一来原本的「失败」也变成了一种进步,我们的目的不再是为了成功,而为了学习,而学习最终会指引我们成功。

另一方面,我们也应该对那些经历过失败的人给予最大的敬意,正是因为他们的失败,我们无须再去冒相同的风险,我们从他们的失败中收获了教训。Tabel 提议美国应该有一个创业者日,纪念那些创业失败的人,是他们失败的经验,构成了美国商业的成功。


让我简单概括下上面的观点:黑天鹅事件风险大且不可预测,因此我们不应该去寻找预测黑天鹅事件的方式,而应该去适应有黑天鹅事件的世界。适应的方式就是利用反脆弱性来构筑越来越强韧的事物。事物的强韧实际上就是冗余的多少,冗余越多,事物越强韧,越能够应付更大的风险。反脆弱性通过个体的过度反应来创造冗余,因为时滞性的问题,当风险发生时,个体倾向于创造更多的冗余来应付未来的风险。我们可以利用这种机制来主动的去寻找合适的风险,来提升自身的强韧性。

个体是脆弱的,群体是强韧的,而个体与群体是相对的概念。作为一个人,我们即是个体又是整体。作为个体,我们是脆弱的,应该尽可能避免无法承受的风险,同时加入一个群体,学习其他个体的经验来提升自己的强韧性。作为一个整体,我们可以利用这种机制来强身健体,同样,我们脑海中的知识(文化)也是个体,也可以利用相同的机制来获得提升。

如果你只想记住一句话,请记住「渐进式超负荷」。