在能力边界上使用大语言模型
最近研究的课题需要用到很多我不熟悉的数学和数值技术,因此我通过高强度使用大语言模型(LLM)来推进我的研究。像这样在能力边界上使用 LLM 是一件很有趣的事:它可以非常高效,但也会带来很多问题。
最严重的问题是我没有能力判断它是否犯了错。它向我介绍二维量子元胞自动机的分类时犯了事实错误——我后来查阅了原始论文才意识到;它计算 Tor 函子时犯了错误——我比较系统地学会了计算方法之后才意识到。
另一个问题是问答是「回合制」的,它会一次性输出一个相对完整的回答。这一特性对于单纯的信息性问题是个优点,但对于在能力边界上学习数学则多有不便。首先,它会在一个完整的回答中使用很多概念,其中很大一部分对于初学者来说是陌生的。如果你和一个人类专家交流,你可以在他说出第一个你不懂的概念时打断让他解释,而他不光会给你立刻解释,还会根据你的问题评估你的知识储备调整后续讲法。但是对于 LLM,你只能看完一个充斥着陌生名词的回答后一个个地追问,这造成的认知负担和逻辑断裂都比即时打断人类专家严重得多。其次,LLM 记住的上下文是有限制的,而回合式输出放大了这个限制的负面影响:人类专家忘了会直接问你,但 LLM 更倾向于根据它整合的记忆直接给你回答,于是逐渐变得答非所问。
这两个问题,尤其是后者,让我消耗了不少情绪。虽然理性地看,人犯不着和 AI 置气。我知道它和浏览器一样是一个工具,而且在提供信息的效率上一般是好于浏览器的。我用浏览器搜索信息时,如果搜不到理想的信息,我会想办法调整关键词,或者找相关的资料看参考文献;有时搜到的材料过于艰深,我则会「递归学习」——这些经历最多让我感到挫败,但绝不会生气。但是当 LLM 答非所问时我会觉得像是在和一个愚蠢的自说自话的人交流,在它一下子说出很多我看不懂的话时我则会感到像是在咨询一个傲慢或者在炫耀的人,于是产生不满。这大概也是一个有趣的心理学现象:人很容易把 AI 人格化,对它产生一些社交期望,进而因为期望不能满足而生气。这种人格化和不满有时难以用理性加以节制,推测可能由更原始和快速的神经结构实现。如果是这样,用理性节制这种情绪实际上是在无意义地浪费认知资源,因此更好的解决方案是调整使用策略,在新的策略框架下做好期望管理。
基于上述考量,我逐渐摸索出如下「四步走」的策略:
- 第一步,定位知识领域。给它我的原始问题,这时不要太在意它回答里的细节,获得一个大致的感觉即可,即大概了解这个问题解决起来大概要用哪些工具,大的思路是什么。可以试着多问几轮,甚至多开几个对话用不同的方式提问。在这些对话中反复出现的关键词往往提示了进一步调研的方向。
- 第二步,获得宏观图景。根据初步确定的调研方向问一些一般性的问题,以对这个方向已有的知识获得一个宏观的图景,针对这个宏观的图景确定自己需要深挖的部分。
- 第三步,建立知识框架。确定需要深挖的部分后,让 LLM 给我一个文献列表。真正系统性地学习知识和技术还是要读人类写的文章或书,以期从中获得比较完善和连贯的理解。
- 第四步,解决细节问题。开始自己用学到的东西解决问题,此时遇到的技术细节可以拿来询问 LLM。有了第三步的阅读积累,LLM 的回答就变得容易理解了很多,而它的错误也更容易看出来了。
这一策略在我看来是研究性学习的一般流程。传统的资料获取方式在第三步效率最高,第二步如果有好的综述也勉强有用,第四步一般看运气,而在第一步几乎难以提供有效的帮助。所以在前 LLM 时代,人往往只能做第二、三步,通过大量阅读和试错循环地完成这四步——运气好遇上相关的专家也许能加速这个过程。当下的 LLM 虽然不能一次性解决一个比较复杂的问题,但是当你把问题拆解成这四步时,它在每一步都有巨大的优势,并且在这一策略框架下你明确知道你需要提取什么信息,因此把它当作一个全能的人类专家的心理预期就会减弱。更重要的是,这一策略不但能帮助解决问题,还能以极高的效率发展使用者的能力,这其实是一种「为己之学」。