最近用chatgpt越来越频繁,感触良多。这里简单聊一下最近的一些感想,尤其是在自我学习上的一些辅助作用,如果能给予读者一些启示那再好不过了。

一些个人背景

在开始之前,我想要大概描述一下我的学习方式。从大二开始,我对知识的学习方式开始从自上而下系统化的,慢慢转变为一种按需学习,按需拓展的方式。前者大概是最常见的学习方式,你去学校上课,学校有着经过反复优化迭代的教学大纲,按部就班的学习,完成一个个里程碑之后,你自然能够掌握知识。而我所描述的后者,有更强的功利性,这完全是我第一次实习影响下的结果。做成一件事,或者用代码写出一个完整的解决方案所带来的正向反馈,会强力驱动我继续挖掘那个知识点。

从小作为一个还算“好”的学生,我很早其实就意识到了一件事 - 学习所带来的正向反馈对我的影响太大了,换句话说,我的学习是十分利益驱动的。举几个例子:小时候化学竞赛做卷子,一两个月做了八十多套,但是现在其实对化学的喜爱没有那么强烈,请不要误会,并不是没有,而是没有那么强烈。同理我工作这么久之后一直拖延没去学前端或者底层架构的一些东西,也是因为它们在我的工作中带来的收益太低。这么一想,幸好我当初没有从ba转去cs,不然毕业可能有困难。

说了这些,跟chatgpt的关系在哪里呢?

迅速的正向反馈

我之前说了因为我的学习方式是非常依赖正向反馈的,所以我知识获取渠道从最讨厌到最喜欢是:

  1. 看视频 / 上讲座 (所以大学经常逃课)
  2. 看书
  3. 看文档,博客 (比看书更快更直接)
  4. 我有个问题,你回答我,并且给我例子

可能写到这里大家也看出来哈哈4可不就是chatgpt嘛。这里我想强调的是,chatgpt不一定让我学习效率更高(其实应该是更高了但是这里不讨论这个),它把我学习过程中的步骤正向反馈变得无限大。比如之前看文档,我可能只能跟随它的新手指南搭建一些固定的,预设的东西。但是有了chatgpt我可以很轻易的让他做真正我想做的事情,然后在这个过程中通过不断尝试来发现它的错误,以此巩固自己的知识。

哪怕这种正向反馈是虚妄的或者并没有实际提升我的学习效率,我想也是利大于弊的吧。至少终于促使我今天把terraform给学了(一定不是因为我们组一个人要走)。

无比契合我的学习模式

因为我的学习模式是功利的,所以每个小知识点的获取其实是点状的。但实际上我自己会试图把知识点重新互相串联起来,找到知识点之间的联系,组成最终我自己的知识网。举个例子,如果大家用过docker的话,大概有过需要在里面放个db啊web app啥的,比如一个postgres在docker里,我怎么用我的datagrip连上它。然后这里就会带出docker network / vm network的东西(相信我不是cs本科的话network会很难受)。我只是想要每次用postgres的时候起一个container,然后就能正常连上我的IDE。但因为这个问题我“被迫”学习了一些network的知识,大概理解了两个不同网络之间dns解析是怎么一回事,这些知识最后又帮助了我理解vpc natgateway的东西。 而chatgpt的一个好处就是我能很迅速的获取这部分知识,因为我完全可以问“is data block in terraform like constant in programming language” (which is not)它能帮我把知识变成通用的啊,那通过一个知识点触及到另一个知识点的速度就无比的快了。

刚好这种学习模式又是我熟悉的,而且现阶段职业要求不需要非常深入的学习这些东西,只需要知道他们怎么运作,怎么和其他部分的技术共同实现某个目的就可以了。实在是非常契合。

总结

chatgpt 的功能也不仅限于辅助学习,当然chatgpt更不是万能的,至少它在我学习过程中也给我制造了不少麻烦,比如一些错误的信息,胡编乱造,但是对于编程这一行来说你总有办法去测试的,所以问题也不算太大,总体来说还是利大于弊的。如果是在学习一个全新的,没有任何知识储备的课题,或者是深挖一个领域的时候,我不知道chatgpt在学习中扮演的角色会不会有一些不同,或许更多的它会成为一个提供思路而不是答疑解惑的对象吧,那会可能需要充值才知道了。