Andrej Karpathy 的访谈播客看了 1/4,先记录一下重点
- 人类不是通过强化学习(奖励机制,比如某方面获得正反馈,就强化这方面的学习)来学习东西的,人的很多行为(天生下来就会哭,会喝奶),或者动物的很多行为(斑马刚被生下来,没几分钟就知道怎么站起来跟着妈妈走)是刻在基因里的,在算法领域可能叫做 pre-training?现在 AI 的主流训练方式是强化学习,这和人类的训练方式不太一样,人类是进化出了一套可以学习知识的方法,哪怕这个知识很无聊,没什么正反馈,人类也能学会,就像许多学生的高中时代,真的就是硬学,死磕,也能学会。
- 给 ai 足够的上下文,他会回答的比缺失上下文的时候好的更多,比如你直接问他某本书的哪个章节讲了什么,他也许能回答个大概,因为他压缩了大量知识,但如果你把整本书作为上下文丢给他,他会回答的更好,因为这样的上下文是没有被压缩过的。这也让我想到之前某位大神说过的,AI 的 reasoning/thinking,不是给人类看的,是给 AI 看的,AI 需要这个思考的过程让上下文更充实,回答的内容才会质量很好。
- 当你从零到一构建某个东西的时候,你不得不面对一些情况,就是你真的不理解某个知识点甚至你根本不知道它的存在。这个过程非常困难,你不得不去面对一些未知的东西,但如果你不是真的从零到一构建出来(不允许 cv,但允许参考,查询),你就并不是真的理解,反之如果你做到了,你会有非常深刻的理解
- 现在对人对 AI coding 的态度有三种:
  一种是依然坚持手动编码,刀耕火种的,这种方式已经不适合了;
  一种是主要把 ai 当做补全工具,自己依然写大量代码的,Andrej Karpathy属于这种;
  第三种是 vibe coding(这个名词就是Andrej Karpathy 提出来的),大量的代码靠 ai 生成。对于第三种,他认为,如果你写的代码是那种有大量样板代码,或者实现方式在网上已经广泛传播了,那种你可以使用,但如果你写的内容是一些全新的东西,比如新设计的模式、新架构,这种时候效果并不好。因为 ai 对于没有训练过的代码风格,生成的内容很不好,它总是希望改成其他已知的风格,所以如果你写的代码不是那种样板代码,或者相关功能已经实现过很多遍的时候,建议还是不要 vibe coding 太多