跳转至

45 思维定势(上):价值思维和实证思维

你好,我是郭东白。

这是我们思考力模块的第一节课。在模块导读里,我提到了架构师这个职能有自己特有的思维定势。那么在接下来的两节课里,我就来展开讲讲架构师所需要的思维定势是什么。

这节课我们先从架构师的职业特点讲起,谈谈从公司的角度看,需要架构师具备什么样的思维定势。

思维定势与思维模型

我们在这个模块中会频繁提到思维定势和思维模型这两个概念。思维定势指的是当我们面临一个问题或一组选择时,所采取的固定的前提假设和思考路径。而思维模型指的是某种特定的思考过程,它是一种具体的思考方法。从这个定义就可以看出来,思维模型是思维定势的一个重要组成部分。

学习到现在,你应该很清楚我们这门课不是架构实操课,而是理论课。虽然我们也例举了很多实际工作中的案例,但目的是为了解释课程中所建议的思维模型和做事原则。而这些建议的总和,就是一套贯穿架构师整个职业生涯的思维定势。所以我才会在这节课,将这套思维定势完整地抽象出来。

关于思维模型,相信你肯定看过不少相关书籍。而我想强调的是,思维模型有很多,学习多了反而会无所适从。就像你可以找到任何一个伟大哲学家所创造的思维模型,但与此同时,也必然能发现一个反对该思维模型的哲学家。

不过我认为,对于一个软件架构师而言,如果能采用一些思维模型,那么你的思考力至少要比不采用时更加深刻。这是架构师生存的客观环境的要求,不以个人意志为转变的。如果掌握了这些思维模型,也就掌握了架构师的道。

但是正如老子所说,“道可道,非常道”。有思维定势要胜过没有思维定势。但是我们这节课中所抽象出来的思维定势,只是一个还没有经过时间打磨的起点,未来必然会有更完满的思维定势。

那么什么是架构师必须要采用的思维定势呢?我们在模块导读中已经提到过了,架构师必须选择以持续创造增值为目的的思维定势。我们就先从这里讲起。

过程正义的价值思维

如果从价值创造这个视角出发来总结我们整个课程的内容,你会发现:从模块一的生存法则开始,到模块二对架构活动的规划和干预,再到模块三的架构师的能力维度,我们一直在总结架构师必须要创造的价值,以及创造这些价值的方法。

在这些具体的方法背后,如果说有一个思维模型贯穿的话,即架构师的每一个决策信条和最终行动,都要最大化自己为企业创造的长期价值。我将其称为价值思维,在我看来,这是架构师思维模式的起点,也是这个职能存在的重要前提。

不过对于架构师这个职能而言,这个思维定势有一个约束条件,即我们在模块一的总结里提到的过程正义。也就是说,在最大化的过程中,可选的行动项不是毫无限制的,而只是所有可能操作的全集中满足公平正义条件的一个子集。

为什么过程正义是一个必选而不是可选项呢?因为架构师这个职能需要通过他人来间接地创造价值。如果你作为中间人都不能维持过程正义,就别指望资源持有者和决策者能保证过程正义了。

架构师的这种价值创造是一个承诺,类似我们设计模式里的Promise。Promise也有履约失败的时候,对于一个架构师的合作方而言,他其实无法分辨Promise的RuntimeException和Unsubstantiated Promise,也就是承诺履约过程中的意外和虚假承诺。因此,那些没有能力或者故意违背了这个价值思维的架构师,对“架构师”这个职能的声誉上的伤害是极大的。

在一个信息不对称的柠檬市场,用人方无法为一个不可证伪的宣称(Claim)付费,只能拒绝为承诺付现,从而避免更大幅的损失。这种拒绝,一方面体现为对架构师兑现周期的缩短和可调度资源的减少,另一方面体现为对这个职能的投入的缩减。

对抗的办法只有一个,就是通过这个模块的学习,让自己成为一个能够真正创造价值的架构师。同时也主动帮助其他真正在创造价值的架构师,让他们能够获得更多的机会,这样才能用良币驱逐劣币。

那么这种价值思维,代表我们应该以什么样的思维方式来做决策呢?我总结一下我们在之前三个模块里传递的主要观点:

  1. 架构师要面向组织、技术环境和商业环境的未来做最优设计。架构师应该是一个价值投资主义者,要尽可能地把软件架构设计和架构活动的重点,引导到未来ROI最大的方向上去。
  2. 架构师要有全局的理解和面向全局最优的决策原则,因此要对抗来自细分领域的短期行为和局部最优的决策。
  3. 架构师要通过提升软件系统的结构性,为公司创造更好的外部适应性,因此要对抗细分领域中因相对独立的研发决策而导致的熵增过程。

这些都是大的原则,我们之前在课程中提到的行动点和机会点,都可以归类到这三个大的原则中去。你也可以在实践中试试看。

架构师的成长,从模型开始

那么,通过什么样的思维方式才能保障自己能够持续创造价值呢?答案是靠实证思维。 

实证主义(Positivism)是由法国哲学家孔德(Comte)提出的,他的学说被后来的Popper等人所修正,演变成后实证主义思维。这种思维方式认为人和现实之间可以通过实验观察和验证过的规律形成一层抽象,也就是说,人可以推演规律,从而对现实形成认知。

模型是实证思维的一个重要组成部分,意思是对现实的近似和抽象。一个好的模型,可以帮助我们更透彻地理解影响现实的不同因素,发现并确认其中的本质规律。而从这些规律推导出的结论,则对实践起指导作用。

到这里,实证思维和模型的关系就明晰了:实证思维是一种通过对现实的建模和借助模型的思考,从而形成有价值的实践决策的思维方式。

一个架构师必须是实证主义者。为什么这么说呢?因为他要从内心相信架构活动是有一些规律可循的。如果软件世界没有任何规律,那么架构师也就没啥用处。因为架构师就是靠研究和总结过去的经验来为未来创造价值的。所以我们架构师必须相信架构活动是受一些基本规律所约束的。

有了这些不变的规律,我们才能在此基础之上做出前瞻性的架构设计。而通过简化的模型寻找规律的思维方式,就是架构师所需要的实证思维。

举个例子,我们模块一就是对一些基础规律的总结。因为这些规律对于架构活动来说具有普遍适用性,所以学习它们会帮助到你未来的架构活动。那么这些法则是怎么来的呢?其实就来自关于模型的假设:

  1. 架构活动是可以被建模的,这个过程会形成一组抽象的模型。
  2. 从抽象的模型中可以推导出一些规律来指引我们的决策和行为。
  3. 这些在规律指导之下的决策和行为,当应用到真实世界的时候,比缺乏规律指导的成功概率更高。

模型可以有很多种,甚至对于同一个实体,不同的理论和场景下会有不同的模型。比如说关于人的模型,经济学就是把人建模成一个最大个人收益的理性个体;而中医,就是把人建模成一个阴阳五行的平衡整体;风控背后的犯罪分子模型,就是以最大化收益为目标,但却缺乏任何道德和法律约束的人;而搜索推荐背后的模型,就是以最小化时间成本为约束、最大化信息收益的人。

模型思维的最核心理念是思考必须从模型开始。这个模型可以不完美,但不能不存在。举个例子,我们课程中提到的域模型也是模型思维的一种。它把上面这种具体的单个实体的模型,组合成多个实体之间互相依赖互相影响的相互作用的模型,从而把真实世界简化成可以用一组信息来抽象的实体。

再举个例子,我们在尊重人性这个法则里提到了,架构活动就是人的活动,我们必须要对人的行为进行建模,所以我就引用了马斯洛的模型。注意,这个模型不同于域模型。

  • 前者是对架构活动参与者的预期行为进行建模的过程,
  • 后者是对架构活动中具体的设计场景进行建模的过程。

也可以说,前者是对写代码的人的行为的抽象,后者是对代码的抽象。也就是说,模型贯穿架构师思考的方方面面。除了软件架构设计外,也包含对整个企业的建模。

你如果认真阅读了模块一中评论区的内容,你会发现有些同学在质疑马斯洛为啥是完美的理论。其实实证思维的关键,就是通过一个模型来开启思维活动,初始模型的完美性其实没那么重要。我们在法则一中强调架构要符合人性,用的是70多年前发明的模型,也就是马斯洛的动机跃迁模型来预测人性,然后得出了非常重要且有效的结论。

在我看来,马斯洛的模型是对人类行为的一种建模而已,不是说不可替代。它是我们推导的一个起点,之后还可以迭代优化。正是因为我们选择了一个可以明确表述的模型, 所以我们就有了一个优化的起点。如果发现了更优越的模型,也可以引用它,用你的模型推导出更具指导价值的内容来。

一个很有趣的现象就是这个理论的对称性,我们这两节课描述的架构师的思维定势也是一组模型,也属于可以被实证主义理论所验证的对象。

我们这里强调的核心是,一个架构师的思考无论如何都不应该离开模型。但这不等于模型是一成不变的,我们可以升级或者更换模型。但是,从模型中推导出结论这种思维方式,作为思维定势的一部分,必须要遵守

事实上,你会发现,我并没有说马斯洛模型是我们唯一的选项。马斯洛模型的优点是,它是一个有完整描述的、可以指导决策的、相对而言容易使用的、关于人类行为的模型。

模型最重要的特征在于它可以被证伪、被比较和被评估,这种评估甚至可以被量化。正是因为这些特征,模型才是可以被不断迭代和优化的。在同一个场景之下,最终胜出的模型只有一个。这也是为什么我认为架构是科学,而不是艺术。作为架构师,我们所追求的那个终极模型,就是在实践应用中被证实是更健壮(Robust)的模型。

那么怎么才能保障得到一个更健壮的模型呢?这就需要靠实证的过程了。

实证主义

我们刚才已经提到了,架构师必须从内心相信架构活动是有一些规律可循的。除此之外,实证主义的思维还认为这组规律是可以被普遍感知的、可以被明确表述的, 而且这些规律可以在现实的架构活动中应用,甚至被证伪。

我们比较熟知的例子就是物理学定律,比如说爱因斯坦的广义相对论,先是预测到光线在时空中可以被扭曲,随后又被实验所观察到。进化论也是非常好的例子,此外,还有很多基于理论预测先于实验观察的例子。

实证主义有一些特征,我把这些特征和软件架构相关的部分给你解读一下。

第一个特征,一个基于科学理论是可以被独立表述的。架构原则、设计模式和思维定势都属于这一类,重点是这个理论是独立于实践而存在的,能够被单独抽象出来,而且被表述出来。

比如说我们模块一中提到的架构师的生存法则,就是试图抽象出一组规律。这些规律是普遍适用的、可以被独立表述、可以被传播、也是可以被改进的。这些规律形成了一组基础的理论,从而推演出一系列的实践方法,最终的实践结果是可以被验证的。

第二个特征,这些理论是有一定的逻辑结构的,是完备和自洽的。举个例子,在完备性上,我们的架构法则试图覆盖所有影响架构活动的核心因素,但是它们在自洽性上,其实缺乏论证。我也欢迎你指出这些法则中存在的自洽性问题来,一起改进。

第三个特征,这种理论可以被浓缩成一组公理。通过这组公理和严格的逻辑推导,可以推导出其他的行为规律。公理越是简单,越是普适,规律本身的价值也越大。

第四个特征,这些理论是普适的,是可以复现、迁移的,也是可以被比较和验证的。这跟“信则灵”的唯心主义思维有着非常大的区别。实证思维是科学思维,一个理论要公开地表达出来,接受不同时间地点、不同场景、不同使用者的检验,才能够逐步提升。

实证思维对模型有一个评判标准,并指出了模型的优化路径。一个有实证思维的人,会认为自己的模型及从模型总结而来的规律是普适的、可以表达和复制的。如果有更多的人来尝试,会让自己的理论在更短的时间内变得更完善。

其实我自己就是实证主义的坚信者,所以我愿意把我的理念表述出来,接受你的批判和验证。你也可以看到,我们模块一中的架构法则还远远没有达到实证主义所要求的公理化的层次。所以这也是开篇词中写到的,我只是把我这些年总结的一些规律分享给你,期望你能帮助我找出这些法则的不完美之处,我们共同提升。

可以看到,实证主义者服从于自己发现的科学规律,或者更准确地说,是自己尚未被证伪的经验。实证主义者也接受他人的批判和修正,而不是被这些经验所束缚。我们经常会过度沉迷于过去的经验和成功,以至于无法摆脱它的控制,那么坚持实证主义,会帮助你走出这个迷局。

接下来的问题就是,如何才能最大化我们的价值思维和实证思维呢?我们下节课再讲。

小结

这节课的内容总结下来有两句话。

第一,企业需要架构师创造价值,且架构师是通过他人间接地实现增值的,因此架构师创造价值的方式是过程正义的价值思维。

第二,架构师创造价值的手段,是以实证思维的方法不断修正对现实世界的抽象模型。这两个思维定势都是以企业的视角来谈架构师定位的。也就是说,架构师在一个企业的长期存在,要靠自己的持续增值来保障。

这两个思维模型,都是从企业视角推导出来的架构师所必须具备的思维定式。

思考题

我们这节课介绍的价值思维和实证思维,你有过类似的实践吗?有没有什么成功或失败的经验可以分享一下?

欢迎把你的想法分享在留言区,相信经过你的深度思考与输出,学习效果会更好。我们下节课再见!

精选留言(14)
  • spark 👍(8) 💬(3)

    郭老师,take away~~~不能直接解决问题,需要先建立模型,因为有了模型,才能测量和评价~~~ 我对模型的体会? a.Input-Process-Output,这是在日企写详细设计时,在excel中明确要求的内容。 b.KPI和流程、孙振耀的管理模型,是在给华为做外包时,成功的关键。 c.PDM模型,500张数据库表建模。是我写CURD代码最快的关键。 e.用户的Want、用户的Need、我们的Solution、用户心智模型,是我能完成数据社区产品设计的关键。 d.论据(包括前提条件)、推理论证、结论,是自我训练的关键模型。 e.创新模型、要坚持somehow的取舍,抓住支撑信息的关键点,持续关注和取舍,也就是基函数模型~~~ f.最大熵模型(不对任何未知条件做任何假设),是我决策有关全球有名恩师任务时的模型,巨费劲。

    2022-06-14

  • Neil43 👍(4) 💬(2)

    想继续请教东白老师另外一个问题,关于提升个人认知的,就像我们软件工程师必须要有扎实的计算机系统、计算机网络、数据库原理、编程语言、数据结构和算法只是才能走的更远;对于提升个人认知方面,东白老师有自己的一些底层基础思想吗?

    2022-08-29

  • 罗均 👍(3) 💬(2)

    感谢东白老师的课程! 学生回忆刚毕业开始工作时,身边很多的入职应届生在没有具体的assignment时,都在拿着大学的书本复习模电数电。突然有一天一个部门老大(应该曾经在摩托罗拉工作超过15年)训斥他的应届生手下:“老板招你们进来,是让你们创造价值的,不是来像大学一样读书的!如果给你10块钱,你就要想办法如何给老板赚100块钱!” 十几年以来,后一句似乎时刻地叮嘱着学生,无论在什么公司担任什么角色,都在谨记要尽一切努力帮助雇主赚10倍于自己收入的钱!虽然在实际工作中,自己并没有认真的去计算是否真的实现了“10倍价值创造”,因为team work的今天,似乎也很难衡量。但是这个发心是一直不会变,也正如曾子“日三省吾身”的第一省:为人谋而不忠乎。 至于实证,就是自己的日常学习目标,总不可以脱离工作,而自己从一名射频硬件工程师,到系统工程师,到产品工程师,再到自己写代码都是为了最大限度地让自己了解的技术服务于工作,努力地“素其位而行乎其位”地以最低的成本帮助雇主实现目标,乃至超越雇主的期望。 学生的经历比较低端,与此课程的其他大佬大神们相差甚远,然而老师的课程对学生的工作实在是带了极其稀缺的“高屋建瓴”的指导意义! 再次感激东白老师!

    2022-06-22

  • 术子米德 👍(3) 💬(1)

    🤔☕️🤔☕️🤔 * 📖:过程正义的价值思维 * 🤔:过程正义要达到公平(Fair)、正义(Justified)、可解释(Explainable)。粗看一眼,没毛病,细思一番,不对劲。过程正义的第一步,难道不是公开嘛,即所谓大家都知道规则是怎样,大家也知道规则怎样被履行。过程正义的第二步,难道不是公证嘛,即所谓规则制定方、规则履行方、规则裁定方,这三方得独立才真的体现公证,否则容易成为自导自演的闹剧。过程正义的第三步,难道不是遵守嘛,即真的按照规则行事,至少在一个迭代周期里,必须严格照章办事。公平和正义,只能算是过程正义的目标,至于可解释应该算过程正义的内在属性。不过吧,公平这个词,看起来很美,现实中真的有公平这回事情嘛,我对此有疑惑。我唯一想到最公平的事情,那就是从长久来说,我们都会死掉,对此我认为特别公平。

    2022-06-17

  • Haiyung 👍(2) 💬(1)

    我们一直说的「提高认知」中的「认知」二字,其实是定义非常模糊的,读到这里我不禁要问我们到底提高的是什么?不是认知,也不是观念,而很有可能指的就是思考力,是我们不断升级或者更换的思考模型,「认知」可能是个华丽花哨的伪概念,感觉高大上,但细究却不知所云。

    2022-09-06

  • kq yang 👍(2) 💬(4)

    思维这东西不重要。我的意思是假定你可以穷尽一切模型和工具。那么问题的输入和输出和模型的具体形态关联并不大。数学的存在并不依赖世界的存在。 进一步展开而言,1. 最优解和模型实现、过程过程无关。2. 最优解和探索动作本身无关。3.问题的界定主要和OOD数据样本(out of distribution)有关. 一辈子努力学习,努力思考探索,以便拥有许多强大的先验,这是一种高代价而且无法面向问题充分优化的方式。与其如此,还不如明白每个优化问题的确切的条件分布,或者说后验分布。 这样我们就会发现,到底有没有作为银弹的天才,到底有没有作为银弹的工具。 问题是确切的,路径的不确定性如果充分迭代,实际上很低的,优秀的策略方案是的结构是相当确定的,幻想空间是相当有限的。

    2022-06-20

  • 阳光下的孩子 👍(1) 💬(2)

    “在同一个场景之下,最终胜出的模型只有一个。这也是为什么我认为架构是科学,而不是艺术。” 对于老师这个观点,我表示部分认同,但有另外的补充看法。首先,其实也可能出现同一场景下,两种模型都不分胜负的情况,比如在量子力学里面,对于光子问题的理论模型,粒子理论模型和波动说,最后实证后表明,光展现出波粒二项性。当年最顶级的物理学家都各执一端,以为自己的模型是最终胜出的,然而“道可道,非常道”啊。其次,架构要部分构建在科学的实证模型理论之上,这点没有问题。但个人认为,它同时也是一门很讲究想象力和创造性的类似艺术的东西,本质上我认为架构是一种科学的艺术。科学和艺术是一体化的两面,缺一不可。就比如有正负电子和正反物质一样,成对存在,看似矛盾但却相生相克。可能个人见解有限,欢迎批评指正。

    2022-07-09

  • 👍(1) 💬(1)

    我认为老师所说的这个实证思维,有一部分知行合一的意思,它一直就存在于我们生活的各个角落,小到我们所做的每一个选择,衣食住行升学择业,大到经过层层抽象的规律,政治制度数学公式。我们从长辈身上继承了一套指导生活的模型,也从书本和生活中学到了一套指导我们如何生存的经过复杂抽象的环境模型。厉害的人都是具备实证思维的,他们在不停地 验证-总结-纠正 循环,不停地改进模型以便适应环境和达到目标,而欠缺这种思维的人,可能要经过多次碰壁才能意识到自己的模型是错误的,也会因为缺乏总结导致无法将正确的模型传承下去。就是说实证思维是所有厉害的人都具备的思维,不单单仅属于架构师。

    2022-06-23

  • 术子米德 👍(1) 💬(1)

    🤔☕️🤔☕️🤔 * 📖:【思维定势】面对问题或选择,自动采取的前提假设和思考路径。【思维模型】某种特定的思考过程,某种具体的思考方法。 * 🤔:思维定势,有点负面的味道,思维模型,有点高级的味道。 * 🤔:当不假思索得出答案,算不算思考?我觉得算。可能以前思考过,可能问题在脑子里很久,大脑的默认网络一直在思考,只是显得不假思索而已。 * 🤔:直觉式的思考后,总是不放心,非得唤起自己的理性再思考一遍。听起来不错。可是,非得理性来补漏直觉思维,这难道不也是思维定势的一种嘛。这么说来,似乎任何的思维过程,都必定是某种思维定势的体现。总不太可能有某个人,每次思考时都会随机思考过程,更何况,即使随机思考,那也得有个思考过程池作为备选吧。 * 🤔:经验积累下来,得到反复验证的思考过程,称之为思维模型,拿这些思考模型去养成自己的思维定势,就像经验积累的流程,可以避免很多低级错误,让思考的成果有个底线可依。 * 📖:模型,除了抽象,它到底还可以是个啥? * 🤔:这个词看到,脑子里第一浮现居然是Lego Technic系列的车辆模型。这些模型有名称,有好多种元件,根据手册搭建,最终呈现为脑海里浮现模型的小车样子。这么说来,模型得先有个名字,能够说出来记得住的名字。然后,模型到底由哪些元件组成,或者说这个模型的配方有哪些。其次,怎么把这些元件搭起来,配方之间的比例是多少。最后,就看它最终呈现出来的样子,它最终能够达到的效果。这样一路说下来,模型不只是抽象,完全可以是类比下的具象。当一个模型被类比具像化,就立刻发出亮瞎眼的光芒。典型如:科学思维的模型是观察-假设-实验-修正的迭代模型,这就好比,看到碗里似乎盛着一碗满满的白米饭,那就假设它就是白米饭,它得符合一碗白米饭的分量,天平左边放这碗米,天平右边无论放多少砝码,再加两台天平的砝码都按上,丝毫不见翘起的迹象,要么天平这个工具用错了,要么碗里是巨重米,超过我们现有的认知,修正一下假设和结果,再来设计实验,如此迭代就是科学思维模型的一个小类比。

    2022-06-17

  • 大道至简 👍(0) 💬(2)

    一,价值思维 价值思维在实际工作中一直有使用,当做一些项目的时候,都会思考投入和产出的情况,对于产出低投入高的事情尽量少做,多做产出高投入低长期有价值的事情;通过价值思维曾成功预测了一些事情2~3年之后的结果 二,实证思维 此思维可以理解为理论和实践相结合的思维,通过理论->实践->理论->实践...的方式,不断去修正对周边现实的认知,不断去推演未来发生的事情 这两个思维对于个人的重大决策会很有帮助,可以辅助看到未来的一些事情

    2022-08-10

  • Geek_h6mwnx 👍(1) 💬(0)

    “模型可以不完美,但不能不存在”,“如果能采用一些思维模型,那么你的思考力至少要比不采用时更加深刻”,“有思维定势要胜过没有思维定势” 一直觉得 “恋爱星座” 这种模型纯粹是扯淡,但实际使用这种模型来分析确实又很有效果。感谢郭老师,解决了心中多年的困惑。

    2022-07-20

  • py 👍(0) 💬(0)

    抽象事情的模型,求证这个模型

    2023-08-04

  • 木头发芽 👍(0) 💬(0)

    这节课内容比较偏哲学,字都认识,联起来理解脑子里没概念。等明年我再来读一遍,看看能不能读懂

    2023-03-23

  • 徐李 👍(0) 💬(0)

    通过这节课程,我理解的 实证思维:就是可以被复制,被证实的一个观点 价值思维:就是架构师这个职位是需要不断为企业创造增值的岗位 那所有的思考,都应该基于一种模型,根据这种模型来演绎,那就是思维定式

    2022-07-04