极客时间已完结课程限时免费阅读

02|知识过程中的认知模式

02|知识过程中的认知模式-徐昊 · AI时代的软件工程-极客时间
下载APP

02|知识过程中的认知模式

讲述:徐昊

时长08:38大小7.92M

你好,我是徐昊,今天我们来继续学习 AI 时代的软件工程。
上节课,我们了解到不可言说知识需要从经验中获取,很难通过语言或其他形式传播。想要把任何工作转化为知识工程,都需要识别其中关键的不可言说知识,并构造出知识传递效率更高的流程。
那我们怎么才能评估知识传递是否高效呢?关键就是知识传递和消费的效率。而知识在传递和消费的过程中,会在知识的消费者身上产生不同的认知模式。通过认知行为模式,我们可以进一步理解知识传递和消费的效率。
今天我们就来学习知识是如何被消费和传递的,以及在知识被消费和传递的过程中,会对应哪些认知行为模式。

与知识消费有关认知行为模式

所谓认知模式,就是指人利用知识进行决策时,采取的行为模式。我们可以使用 Cynefin 框架理解不同知识消费和传递中产生的不同认知行为模式。
Cynefin 框架是戴维·斯诺登(David J. Snowden)在 1999 年围绕知识管理和组织战略开发的一个框架。Cynefin 框架原本是一种解决问题的工具,它可以帮助我们将各种情况归入由因果关系定义的五个“领域”。
根据 2020 版 Cynefin 框架的定义,这五个领域分别是:清晰(Clear)、庞杂(Complicated)、复杂(Complex)、混乱(Chaotic)和困惑(Aporetic/Confused)。利用这五个领域,可以帮助我们更准确地评估情况,并做出适当的反应。
Cynefin 框架
限定在知识管理与知识传递的场景里,Cynefin 框架的不同领域,实际对应了我们传递和消费不同类型知识时的认知行为模式。这五种不同的认知行为模式,其认知水平由高到低分别是:清晰、庞杂、复杂、混乱和困惑。
这五种行为模式中,困惑(Aporectic/Confused)与其他四个不同,表示我们无法理解要解决的问题,因而当处在该模式时我们不能进行任何有效处理,是最低的认知水平。除困惑以外,处在其他四种认知模式时,我们都需要对问题进行诊断,并采取相应的行动,只是诊断与解决问题的方式不同而已。下面我们来讲解一下,这四种行为模式的特点。

清晰模式——最高效的知识消费模式

首先是清晰(Clear)的认知行为模式。这种行为模式也被称作已知(Known)或显然(Obvious)模式。当处于清晰模式时,要解决的问题是稳定且具有清晰的因果关系。每个人都能轻易辨别,正确答案往往不言自明,无可争议。
处在清晰模式时,认知行为表现为:感知(sense)- 归类(categorize)- 响应(Respond)。
也就是说,对于某一个问题,首先感知它是什么问题,然后将这个问题归类为已经知晓的某个解决方案中,并使用这个解决方案进行响应
比如你去银行,业务员会首先询问你需求,这是感知。在明确了你需求之后,业务员会将你的需求归类为银行的某项业务,比如是汇款啊,购汇啊,还是开户、销户。接着业务员就会使用对应业务流程来响应你的需求,会让你填写对应的表格,比如汇款单、开户申请之类,然后为你办理业务。
在这个过程中,对于问题的定义是已知的,解决方案是已知的,问题与解决方案的对应关系也是已知的。因而在认知上无负担,是认知水平最高的行为模式。所以清晰模式也叫“已知的已知”,此时如何决策是不容置疑的,因为各方都有共识。
在清晰模式“感知 - 归类 - 响应”的行为模式中,我们应用了哪些知识呢?
对于问题的感知,通常是不可言说知识。定义问题永远比解决问题困难。但是因为在清晰模式下,是已知的已知,且每个人都能轻易辨别。那么我们使用的知识要么是显式知识,要么是已经充分掌握的不可言说知识。比如在银行的例子里,客户可能会说,我要交学费,我要报名参加一个比赛,业务员都能瞬间明白,客户真正的问题是要汇款。
对于归类,也就是找到对应的已知解决方案,使用的是显式知识。而响应,也就是做出正确的处理,理论上说应该是不可言说,但因为在清晰模式下,所以要么是显式知识,要么是已经充分掌握的不可言说知识。同样,在银行的例子中,汇款对应了汇款流程,这是显式知识。去执行汇款流程的确需要一定的经验,但又没那么复杂,同样是显式知识已经充分掌握的不可言说知识
因而,在清晰模式下,消费的知识是显式知识已经充分掌握了的不可言说知识

庞杂模式——不可言说知识的消费

庞杂(Complicated)的认知行为模式也叫专家模式。庞杂模式与清晰模式不同,它可能包含多个正确答案,尽管因果之间存在明确的关系,但并非每个人都能看清。当处在庞杂模式时,对于要解决的问题,解决方法目前并不明确,在寻找解决方案的过程中,经验与分析能力发挥关键作用。这种方法并不容易,往往需要专业知识。因而被称作专家模式。
在庞杂模式下,认知行为表现是感知(sense)- 分析(Analysis)- 响应(Respond)。
对于某一个问题,首先感知它是什么问题,然后通过分析寻找可能的解决方案,并使用这个解决方案进行响应
比如你去医院,如果是常见病症,那么医生是知道怎么处理的。医生会通过各种检查感知你实际的状态,但并不能根据这些检查结果直接确定治疗方案。毕竟不同的疾病可能有相似的病症。医生需要通过分析具体是什么病因,并综合你的状态、过敏史等情况,才能确定治疗方案(响应)。
在这个过程中,问题是已知的,解决方案是已知的多种选择,问题与解决方案的对应关系是未知的。庞杂模式是“已知未知”的领域,庞杂模式比起清晰模式具有更大的认知负载,因而认知效率是低于清晰模式的。
在庞杂模式“感知 - 分析 - 响应”的行为模式中,我们应用了哪些知识呢?庞杂模式与清晰模式非常类似,唯一的不同在于对于解决方案的寻找,也就是分析这一行为,这依赖于专业知识与能力,是典型的不可言说知识。这也是庞杂模式效率低于清晰模式的根因。
清晰与庞杂模式也被称作有序模式,是知识在消费和应用中产生的认知行为模式。清晰模式自不必多言,在庞杂模式中,虽然是由专家的不可言说知识提供了关键的分析能力,但这部分不可言说知识是已经被掌握和学习了的,并不存在知识的学习、获取与传递。一旦需要学习新的知识,那么就将进入到无序模式中。

复杂模式与知识学习

无论清晰模式还是庞杂模式,在开始响应之前,我们至少明确知道存在一个正确答案。然而,在复杂模式(Complex)下,正确答案是无法提前预知的,只能通过反思理解真正的问题和解决方案是什么,无论在前期多么的努力,都无法提前感知。
复杂认知行为模式是反思模式,它表现为:探测(Probe)- 感知(Sense)- 响应(Respond)。只能通过探测收集必要的信息,再通过反思感知,最后采取必要响应,调整之前的方案。
一个典型的例子是创业或产品创新,无论在前期做多少准备,也无法确保一定会成功,就算成功也无法保证成功的方式和所构想的方式就是一致的。只能通过不停地感知,做出调整。
当处在复杂模式时,对于要解决的问题,并不知晓是否能够解决。无论前期做多少准备,都不能确保存在解决方案,而是需要依赖反思改进。因此复杂模式也被称作“未知的未知数”
复杂模式的认知负载远远高于前面介绍的两种模式。首要原因在于其中问题的本质和解决方案都不是一开始就清晰可见的。在这种模式下,我们不能仅依赖于预设的规则或经验,而是必须不断地探索和适应,这本身就是一个学习过程
复杂模式不可言说知识在传递和学习时,主要依据的一个认知行为模式。探测 - 感知本身就是一种启动 - 反馈循环,是一种社会化的学习活动。
最后是混乱模式,某种程度上说,这是个反模式。它表现为:行动(Act)- 感知(Sense)- 响应(Respond)。混乱模式的主要目的是通过快速行动重新建立秩序,尽快回到前面三种模式当中。因而混乱模式不是基于知识的反应,而是应激式的反应,我们在这里不做过多的讨论。

小结

今天,我们介绍了如何通过 Cynefin 框架理解不同知识消费和传递中产生的不同认知行为模式。其中对于知识过程有重要意义的是三个模式,产生于知识消费的清晰与庞杂模式,产生于知识学习的复杂模式
我在文稿里画了一张表,总结了这五种模式的表现、例子和对应的知识活动,你可以打开文稿看一下。
需要说明的一点是,这五种模式是不同的行为模式,而不是对于问题的划分。借助 Cynefin 框架,主要帮助我们理解对于同样的问题,人们有什么样的响应方式,而不是对问题本身的划分。比如,对于轮扁的学生,他们只能使用复杂模式应对削车轮这个问题,而对于轮扁自己,他可以使用庞杂模式处理。问题不变,但是不同的人群有不同的认知模式。

思考题

请思考软件开发过程中,有哪些典型的认知行为模式。
欢迎在留言区分享你的想法,我会让编辑置顶一些优质回答供大家学习讨论。

本文通过介绍Cynefin框架,探讨了知识消费和传递中的不同认知行为模式,并阐述了这些模式在软件工程中的应用。作者首先将认知行为模式归纳为清晰模式、庞杂模式、复杂模式和混乱模式,分别对应不同的知识消费和传递情境。清晰模式下的认知行为表现为感知-归类-响应,适用于显式知识和已掌握的不可言说知识的消费。而庞杂模式则需要专业知识和分析能力,效率低于清晰模式。复杂模式则是反思模式,需要通过探测-感知-响应来处理问题,适用于无法提前预知的情况。最后,混乱模式是应激式的反应,旨在快速恢复秩序。文章强调了不同认知行为模式对知识消费和传递的影响,以及在软件工程中的应用。通过介绍这些模式,读者能够更好地理解知识消费和传递的效率,以及在软件开发过程中的典型认知行为模式。

分享给需要的人,Ta购买本课程,你将得29
生成海报并分享
2024-03-11

赞 15

提建议

上一篇
01|围绕不可言说知识构造知识过程
下一篇
03|通过知识过程重新理解软件工程
unpreview
 写留言

全部留言(23)

  • 最新
  • 精选
  • 临风
    置顶
    2024-03-11 来自广东
    Complicated和Complex在中文都可以被翻译为复杂,所以我特意查了一下这两个单词,其实是完全不同的原因导致的复杂。老师在这里巧妙的用庞杂和复杂来进行区分,以此强调一个复杂的原因在于“庞”,也就是大,因为大而导致的复杂,其本质还是一系列简单的堆叠,也就是多个清晰模式的组合,那么对于专业人士来说,仍然是简单的。 而复杂的原因在于“复”,也就是多,还有种交叉混合的感觉,让人分不清是什么东西。但这二者又是可以相互转换的,复杂在你抽丝剥茧、认知提高后,是能转换为庞杂的;同样,对于专业人员的庞杂问题,如果没有掌握前置知识,那么对于你而言,仍然需要进行的是复杂认知模式。 进一步来说,庞杂模式还是清晰模式是否也是可以转换的呢?我们可以看到,二者都是sense - * - response,主要区别就在于是分析还是归类,我觉得对于大脑来说,其实就是走高速专用神经通路还是低速通用神经通路,这个只要经过刻意练习,庞杂模式也是能转换为清晰模式的。 再进一步思考,这四种模式都是是一定包含感知和响应,区别就是在于顺序和剩下的一个表现不同,如果是归类就是清晰模式,如果是分析就是庞杂模式,如果是探测就是复杂模式,如果是行动就是混乱模式。 也就是说无论如何一定会进行感知和响应,那么感知和响应的顺序就很重要了,感知在响应前面的,都是有意识的行动,都是好的。只是因为认知的差别,导致了能不能直接进行感知,如果能感知就是清晰或者庞杂模式,如果不能感知,就只能探测,我觉得也可以叫试错,然后再感知,最后产生响应。 混乱为什么是不好的,因为它是响应在感知之前,由行动触发,也就是常说的后知后觉,往往会让人后悔或者遗憾,所以需要尽量避免。 最后提一下,自从TDD跟着徐老师学习之后,对我的代码品味产生了很大的影响。不知不觉已经两年了,一直在期待徐老师的新课,之前TDD虽然没有学完,因为我比较懒,只完成了容器的部分,后面chatgpt出来以后就更不想写自己手敲代码了,现在也想问一下老师现在还有必要按照TDD的模式进行开发吗?在AI时代有什么演进吗?
    展开

    作者回复: good summary

    共 3 条评论
    42
  • 术子米德
    2024-03-13 来自浙江
    🤔☕️🤔☕️🤔 【R】CynefinFwk = Clear + Complicated + Complex + Chaotic + Confused(FC=5C) 清晰 -》庞杂 -》复杂 -》混乱 -》困惑 清晰/庞杂:感知(sense)-》归类(categorize)/分析(analysis)-》响应(respond) 复杂:探测(probe)-》感知(sense)-》响应(respond) 混乱:行动(act)-》感知(sense)-》响应(respond) 【.I.】情绪:无聊 -》烦人 -》紧张 -》慌张 -》慌乱 规则:遵照 -》选择 -》建立 -》定义 -》无序 我站在原地,我想去往某个目标。目标和路径明确,我有清晰感,很快我也会有无聊感,因为遵照着做就可以。目标在那里、路径得由我选择,我有庞杂感,每个拐弯的地方、每个路障的地方,都要我做出选择,真是有点烦人。目标有点模糊、要自己走出新路径,我有点紧张,立目标、建新路考验我的决断力,而每次决断都意味着责任。什么叫目标、什么算路径,我得自己定义,慌张感伴随我的每次呼吸。然后,在慌乱中,手放哪里都显得多余,脚每次挪动都无比笨拙,我被扔进无序的海洋,抓不住任何一根稻草,最让我困惑的是,不就是学门课程,至于如此嘛。 【Q】怎么能够提醒自己,当前处于怎样的认知行为模式,以及做出切换到更优模式的思考与判断? — by 术子米德@2024年3月13日
    展开

    作者回复: 你目前所处的认知行为 是一个 客观事实。想改变需要学习和练习

    5
  • xzy
    2024-03-12 来自河北
    教导别人设计模式,庞杂模式 自己学习设计模式,复杂模式

    编辑回复: 赞分享精神,要不要展开解释下~

    4
  • Vector
    2024-04-01 来自广东
    清晰模式:代码报错堆栈写着NPE异常和代码位置 庞杂模式:代码报错堆栈写着OOM异常,需要分析实际那里导致OOM 复杂模式:一个方法首次运行很慢,需要测试分析那段代码慢导致的

    编辑回复: 不是按问题分类,而是需要根据行为分析,可以再结合课程思考一下

  • Jaising
    2024-04-01 来自浙江
    再来一条留言: Cynefin 特别强调这不是对问题域的划分,而是对认知行为模式的划分,因为复杂性更多的是一种思考世界的方式。 软件工程就是知识工程,所以也强调设计先行,少做无目的的探查,也就是 8x 说的做工程还是做技术,毕竟对于大部分从业者来说都不是做科研的。 笔记更新第二篇:https://juejin.cn/post/7352430012627337225

    作者回复: 这是由不得你的 认知能力不足时 只能处于complex

  • 大卫
    2024-03-17 来自浙江
    清晰:对一些已知的功能点写出TODOs,或者将这些TODOs转化为相应的test和code 庞杂:架构老鸟对业务功能需求分析、拆分为当前架构中的相应模块的功能点 复杂:初级工程师对如此功能的分析、拆分过程 此种行为模式(Probe-Sense-Respond)大概率将会是一种导致架构腐化:Probe大都结束于功能完成,non-Sense对架构的腐化过程

    作者回复: 写出todo 已经是庞杂

  • 起个名称吧
    2024-03-11 来自陕西
    我之前理解复杂就是文中所说的庞杂,认知负荷(信息承载量不断增大+错综复杂的联系)。 而文中的复杂,却有一种对未知的探索,通过不断收集信息(知识)来梳理反思发现真正问题,这里是对信息承载量的补充,应该也算是一种(缺少信息量)庞杂吧

    作者回复: 区别在先感知还是先探测

  • 赫伯伯
    2024-03-11 来自北京
    困惑模式没讲?

    编辑回复: 课程里提到,困惑模式下,我们无法理解要解决的问题,因而当处在该模式时我们不能进行任何有效处理,是最低的认知水平。因此它不在我们的讨论重点中,而我们需要关注的是,“需要对问题进行诊断,并采取相应的行动”的四种模式。

  • 需要练习的码农
    2024-03-12 来自北京
    清晰模式:完成确定性的小功能feature 庞杂模式:推动一个已经做过的专项 复杂模式:推动一个从未做过的专项 混乱模式:刚加入新团队就出线上大故障
    5
  • aoe
    2024-03-11 来自浙江
    复杂模式 1. 业务方找了一家提供「第三方打款服务」的 A 公司,对接成功后,因单日打款金额超过阈值,触发了支付宝风控,支付宝账号被冻结。此时,A 公司表示他们的系统没有问题,是支付宝的问题,他们无能为力。 2. 在工作使用 TDD,刚开始的时候,困难远远大于收获,坚持一段时间后,终于迎来了收获大于困难 困难: 1. 不会任务分解,一个方法中包含了多个逻辑,导致编写测试用例的时候一脸懵,无从写起 2. 需要花更多的时间思考如何进行任务分解,比起「一把梭」的开发方式,开发期间每天都加班 3. 公司的项目有 20 多个,每个项目不能独立启动运行依赖 Spring 容器的功能测试,又是加班来解决这些问题 4. 核心交易是通过 MQ 进行流转的,一笔交易产生的数据分散在 3 个以上的系统中「财务、用户、统计、活动等」,后来新建了一个项目专门针对核心交易进行功能测试 收获: 1. 初步掌握了任务分解,可以编写出大量符合「单元原则」的方法,使用 Copilot 代替了 50% 的编码工作 2. 使「即使重构」成为了一种习惯,在迭代中代码变得越来越好 3. 学习 DDD 时,有能力使代码与模型保持一致 4. 加班找 Bug 的时间越来越少了 3. 想开发一款游戏增加收入,学习了 Unity、C#,突然发现很难申请到游戏版号,放弃了 4. 想开发一款 App,通过接入广告 SDK 实现盈利,正在学习 Android 的 Jetpack Compose 5. 12306 不断优化的节日抢票的解决方案 1. 同一时间开售全国所有车次,系统崩了 2. 分时间段销售不同目的的车次,系统正常了 3. 通过预约目的的车次,能做的优化更多了
    展开
    4