如何找到知识的触感?
为什么需要知识的触感?
有了大模型帮助之后我们学东西会很快,但是学得太快之后我们会有一种空虚感,一旦当我们需要去运用我们很快学的知识时,我们会发现我们无从下手,这个知识到底怎么用,它的概念对应着什么,如何将这些概念转化为代码等等这些问题通常会使我们产生怀疑:我到底学了个什么?我好像都知道这些知识是什么,但是我不怎么怎么用它们。第一次的怀疑会使我们重新再去过一遍你看似明白的知识,首先这个过程我们大脑通常是懒惰的(它可能会说:为什么我还要重新学一遍我学过的?),其次是如果我们抱着快乐的心态说:“我要自下而上地彻底学一遍,我要弄清楚它的方方面面!”,第一个路径我们会发现:我们还是囫囵吞枣地学了一遍,最后的应用层面我们还是无法完成,这样的结果会导致我们心情差,甚至自我怀疑:我从上而下的学习方法是不是有问题,或是我智力是不是很差等等怀疑,这样就陷入了一个恶循环:我们学了一遍又一遍,但是结果仍然不好;第二个路径我们会发现:我们自下而上地学,首先这需要持续投入时间和精力,往往很多人在这步就慢慢放弃了,因为当我们被某个概念卡住很久我们很容易不了了之,其次是我们持续地学很容易使我们忘记当初的目的,当没有了目标和问题意识,我们也无从知道我们当初要将这些知识用在何处了。
什么是知识的触感?
在物理世界里,触感意味着你能 真实接触到某个东西的边界与质地。同理,在学习里,“知识的触感”就是指你能 切身感受到知识的质地与重量,而不是仅仅看过它的外观。
它说的很好,当我们去触碰某个东西时才会产生触感;同理,我们只有去触摸知识时才会产生对于知识的触感。当你没有对于知识的触感时,你就只知道它叫什么和长什么样,但却不知道它在不同的情况是不是不一样,这些不一样到底是哪不一样。当你学习python时,你自己跑完一遍复制来的代码,发现结果和示例是相同的,你也努力地尝试将所有代码行弄明白是什么意思,但是还缺少一些触感,前者你都是在认识层面认识了它,但是在实践层面你需要根据你的认识随便改改代码,然后再跑一下发现会结果是不是你预期那样,如果不是那么原因是什么?当你把这些代码都“摸”得差不多"折腾得差不多"之后你会发现:哦,原来这个函数是这样的,这个语句只能在xxx环境下使用等等。这样“折腾”的过程不仅会加深你对于知识的理解和运用,更重要的是它会给你带来快乐,让你乐此不疲和继续学习的动力。人们很容易放弃,是因为这个过程无法给他带来乐趣,他没有继续坚持的必要了,而往往这个没法给他带来乐趣的主要原因是他没有“折腾”和找到知识的触感。
如何培养触感?
1. 从意识层面改变认知。
我们需要区分“知道”与“摸过”:
- “知道”(无触感):我知道它可以怎样怎样,比如说我知道for循环可以遍历列表。
- “摸过”(有触感):我动手写过几种不同的循环且分辨过他们之间的区别,比如说我尝试过用for循环遍历字典,集合等其他数据类型。 总之,我们在学习时需要问自己:我是“知道”知识还是真的“摸过”知识?
2. 行为层:将学习转化为身体动作
“知识的触感”来源于我们与知识的交互,我们通常学习时是指阅读等输入,而我们要做的是主动加入输出:
- 改:随便改两行代码看看怎么回事
- 造:问问自己能不能用刚学的知识创造一些东西玩玩。 总之,让身体参与进来。
3. 情绪层:允许无意义的实验
”空虚感“来自于我们学的太快了,而要有对"知识的触感"我们就需要接受一些”看似浪费时间的折腾”。
- 按照自己的感觉写一写代码。
- 遇见bug时看看到底是什么问题?而不是自己遇见问题就去问大模型。
- 尝试将某些看不懂的代码单独拎出来看看它每行是怎么运行的。 总之,我们不要学的太快,让自己适当慢下来感受一些折腾知识的乐趣。