很多人都想让自己进步,成为所在领域的专家。看病我们更愿意找专家,美食我们更希望能找到专业的大厨,写代码我们更希望能找到牛人,做管理我们希望找个好领导。专家拥有比常人更强的处理他们专业领域问题的能力,我们甚至还不完全认识问题的时候,专家就已经凭借一种不可思议的能力知道了正确的答案。
专家和新手的区别,表现在他们的知识量、知识组织和运用知识等方面。在认知心理学领域,将“知识”这个概念分成“陈述性知识”和“程序性知识”,这两种知识的定义如下:
陈述性知识:是关于事物及其关系的知识,或者说是关于“是什么”的知识,包括对事实,规则,事件等信息的表达。
程序性知识:是关于完成某项任务的行为或操作步骤的知识,或者说是关于“如何做”的知识。它包括一切为了进行信息转换活动而采取的具体操作程序。
知识分成这两种,我们的大脑中知识存储的形式也分成两种。在日常生活中,我们时刻都面临着不同的选择,需要解决许多困难和问题。为了应对各种认知任务,我们需要大脑能在短时间内保存和处理各种信息,完成这个过程的大脑系统就是“工作记忆”。它是语言理解、学习与记忆、推理和计划等复杂认知能力的基础。“长期记忆”是能够保持几天到几年的记忆,它与工作记忆以及短期记忆不同,后二者只保持几秒到几小时。在构建工作记忆的过程中,我们脑内存储的长期记忆起到了非常关键的作用。
如果我们问专家,你是怎么做到的?他们会给出各式各样的答案。有人告诉你要练习一万小时,有人告诉你这是天赋,也有人告诉你找一个好老师很关键。专家通常很难把他们的行为恰如其分地解释清楚,他们的很多行为是如此地熟练以至于变成无意识了。我们也许可以通过分析什么是专家和新手的区别,来窥探成长为专家的方法和路径。
一、专家掌握更多的“套路”
专家不同于新手之处,就在于他们有一套解决本专业领域问题的图示(Schema:an outline of a plan or theory),我把这种图示称为“套路”。比如一个刚毕业的程序员,就不太掌握程序架构设计的模式;一个销售新人,就不太掌握面对不同客户的销售策略。
与新手相比,专家的“套路”中既有关于问题领域的更丰富的陈述性知识,又包括了更丰富的关于策略的程序性知识,新手掌握的“套路”相对贫乏。所以,进入一个行业的新手,通过学习本领域内好的“套路”是一个帮助自己快速成长的方式。金庸的《雪山飞狐》中,阎基靠两页胡家刀谱练成一方小霸王。AlphaGo使用人类棋谱数据训练决定落子策略的策略网络,战胜了人类最强围棋棋手。
当然,现有的“套路”既能帮助我们成长,也可能形成思维定势,限制人的成长。AlphaGo Zero不在依靠人类棋谱数据,完全摆脱人类知识,不停自我迭代训练,结果比AlphaGo更厉害。AlphaGo Zero并非不需要训练数据,训练数据样本是根据围棋规则自行计算得到,所以少了现有套路的局限。
二、专家的套路组织更有效
朱熹曾经对做学问的高境界有过一段描述:“举一而三反;闻一而知十;乃学者用功之深;穷理之熟;然后能融会贯通;以至于此”。首先我们应该对每个门类或者某个问题有比较深入的理解,并能从中抽象出共通性的理性知识,进而将其储存在记忆当中。然后再进行其他门类的学习和思考,进而抽象另外的共通性。当我们能发现抽象出的东西中具有某种共性的时候,进而就可以将不同领域的知识串联起来。
专家对自己掌握的知识有良好的组织,通过总结归纳在大脑中形成知识之间的高度互联。这种互联帮助专家更好的记忆知识,同时也让专家可以具有更多的创新能力。相反,新手知识单元之间缺乏良好的组织,结构松散。
三、专家花更多时间搞明白“问题是什么”
与新手相比,专家们花在确定问题表征方式上的时间占更大的比例,但是他们在执行解题策略上花的时间远远少于新手。专家试图运用专长,将问题的已知信息与他们既有的知识相匹配。一旦专家发现了正确的匹配,他们很快就可以提取出解决问题的策略并予以执行。
有经验的医生更有可能迅速将症状归结为某种或少数几种模式,开出少量的针对性强的检查项目,从有限的可能性中选出正确的诊断,接着开始治疗。实习医生可能会给病人做一堆的检查项目来辅助自己对病人的情况作出判断。
有经验的程序员遇到bug,会花比较多的时间从测试数据中去找线索,用比较少的修改就可以找出问题的原因。一个编程新手,可能会花比较多的时间在调试器上,不断通过猜测-验证的循环来一个个的查找问题的原因。
专家们能够从已知信息(我知道什么)向着未知信息(我需要发现什么)做正向推进。新手在表征问题上花费的时间似乎比较少。相反,他们寻找逆向法:从未知信息出发,向已知的信息推进。先是问“需要找什么”,然后问“知道了哪些信息和策略”,从而帮助他们寻找丢失的信息。不能怪新手缺少经验呀。
研究者发现,越是优秀的问题解决者,在实际解决问题的过程中做事越具有系统性。例如,一个好的管理者,会努力的去寻找解决问题的最佳杠杆点,而不是头疼医头。
四、专家更容易“言之有物”
问题解决者所做的陈述被称为言语报告。如果要求问题解决者在试图解决各种问题的同时出声报告他们在想什么,我们就可以观察到新手和专家之间的另外一个差异:专家更容易“言之有物”。专家更擅长对各种问题进行分类、描述问题的本质以及选择解决方案的逻辑推理。
一项研究发现,与口头谈论相比,如果参与者写下解决问题的策略,其解决问题的能力可以得到更大的增强。对问题解决新手而言,和高手交流解题策略能更快取得进步。
所以,程序员通过同行评审是一个提升自己能力的好方式,通过阅读别人的代码吸收他人好的想法,通过点评别人的代码输出自己的学习成果并获得反馈。
五、专家可以实现各种思考的自动化
通过反复训练运用知识来解决问题,专家可以实现各种思考的自动化。他们运用两个重要的过程:
一是图示化--发展丰富的、组织程度高的套路(图式)。
二是自动化--巩固各个步骤,使之成为统一的套路,以后就基本上不需要有意识的控制了。
通过这两个过程,专家将问题解决时容量有限的工作记忆背负的重担转交给容量无限的长时记忆。问题解决因而变得越来越高效和精准。工作记忆能力得到释放,可以使人更好地监控问题解决过程的进展和精确性。
而新手正好与之相反,他们必须用工作记忆来处理问题的多方面特征以及各种可能的策略。工作记忆在这方面用得多了,在监控问题解决的进展和精确性方面能动用的资源就少了。
新手刚开始写程序的时候,会常常记不住一些函数的输入输出参数,需要借助函数说明手册等资料。通过一段时间高频率的使用,这些常用函数的参数就变得如数家珍了。刚走上管理岗位的新手,也常常记不住招人面试注意事项。
六、专家借助天赋
新手和专家之间的差异及专家内部的差异应该归结于与生俱来的天赋还是专业训练的质量,在这个问题上还有相当多的争论。
许多人拥护“熟能生巧”的说法。不过,有些人持不同意见。他们承认训练在构建知识库和技能库中的重要性。但他们还强调天赋的重要性。
例如,研究指出遗传因素似乎是阅读障碍的主要原因。此外,阅读能力所需语音意识的差异可能就是影响阅读的一种遗传因素,它在一定程度上造成了阅读能力的个体差异。即使发现训练的作用能解释特定领域的很大一部分专长水平的差异,遗传因素对剩余部分的贡献也可能会造成一定的影响。
善于使用自己的天赋,做自己擅长的事情,是新手成长为专家的加速剂。
七、专家的成长离不开刻意练习
即便有天赋的存在,专家的成长也离不开刻意练习。
马尔科姆·格拉德威尔的《超凡之人:成功的故事》让“1万小时定律”家喻户晓。在音乐、运动和棋类等领域,最优秀的专家从小就开始训练,每天训练多达4个小时,坚持反复练习许多年,累积起来超过1万小时。但必须明白这种训练应该是有重点,有章法的。应该强调的是,训练的目的是习得新技能和新应用,而不是盲目地重复已知的内容。
我们有没有可能从专家和新手的区别里面获得什么启示。有没有可能找到他们取得如此成就的秘诀,以便我们运用他们的学习和实际方法,提升一下自己的能力?
成功学中关于优秀个体思维发展的阐述,大多来自于心灵鸡汤,和包含成功人士陈年旧事的主观描述。但是,常人用科学方法无法验证甚至无法再现这些成功体验。
真正对我们有启发的我总结为STOT:
从新手到专家 = Schema(套路)+ Time(时间)+ Talent(天赋)+ Opportunity(机遇)