[控场AI]
· 7 分钟阅读· 3,534 字

如何让System 1大模型展现System 2能力?

如何让System 1大模型展现System 2能力?

探讨如何让本质为System 1的LLM展现规划、验证等System 2推理能力及其工程路径。

文章围绕"如何让System 1 LLM展现System 2能力"这一核心问题展开。首先借助Kahneman的双系统理论,指出主流LLM基于自回归生成,本质是快思考机器,缺乏规划、验证和回溯机制,根源在于预训练目标优化的是token预测而非逻辑有效性。随后梳理三条主流路径:思维链提示用输出空间换推理深度、推理时计算(自洽性采样、树搜索、自我验证)在推理阶段外挂System 2、以及架构层面引入工作记忆和循环计算。文章进一步呈现关键分歧:System 2能力究竟是被提示诱导出的潜在能力,还是需要从根本上改变训练目标。最后给出实践建议——在应用层为System 1模型搭建推理脚手架,比单纯追求更大模型更具投入产出比。

一个悬而未决的核心问题

在Hacker News上,一个仅有5个点、零评论的帖子提出了一个值得深思的问题:如何让System 1 LLMs show System 2 competencies?(如何让系统1大语言模型展现系统2能力?)

这个问题虽然简短,却触及了当前大语言模型研究中一个根本性的张力。System 1与System 2的概念源自心理学家Daniel Kahneman的经典著作《思考,快与慢》,前者指快速、直觉、自动化的思维过程,后者则是缓慢、审慎、需要刻意努力的推理过程。

把这对概念投射到LLM上:如今主流的大语言模型,本质上是"快思考"的机器。它们基于下一个token的概率分布逐字生成,一次前向传播就完成输出,没有真正的"停下来想一想"的环节。而System 2所代表的规划、验证、回溯、自我纠错等能力,恰恰是当前模型最薄弱的环节。

这个问题的价值在于,它不是问"能不能让模型更聪明",而是问"能不能为快思考的架构注入慢思考的机制"。这是一个工程问题,也是一个认知架构问题。

Daniel Kahneman的双系统理论出自其2011年著作《思考,快与慢》(Thinking, Fast and Slow)。System 1负责快速、自动、无意识的认知加工,例如识别面孔、理解母语句子、做出直觉判断;System 2则负责缓慢、受控、需要工作记忆参与的加工,例如复杂算术、逻辑推演、自我监控。两者的关键区别不在于难度,而在于认知资源的消耗方式:System 2需要注意力资源,容量有限,且可以被主动中断和修正。Kahneman还指出,人类决策中的大量系统性偏差(如锚定效应、可得性启发)源自System 1的自动化输出未被System 2有效审查。这一框架被引入AI研究后,成为分析LLM推理缺陷的常用透镜——不是模型"不够聪明",而是它只有一套默认的快速加工通道。

为什么System 1 LLM天然缺乏System 2能力?

要从根本上理解这个问题,需要回到Transformer的推理机制。

自回归生成的本质是"给定前文,预测下一个最可能的词"。这个过程是贪婪的、局部的、不可回溯的。模型无法在生成到一半时说"等一下,我前面第三步可能推错了,让我回去重新来"。它没有工作记忆的草稿纸,没有搜索树,也没有显式的验证循环。

更深层的矛盾在于训练目标。预训练阶段优化的是下一个token的预测准确率,这是一个典型的System 1任务——模式匹配和统计联想。模型学到的是"什么样的文本通常跟在什么样的文本后面",而不是"什么样的推理步骤在逻辑上是有效的"。

即便经过RLHF等对齐训练,模型学到的也更像是"什么样的回答会被人喜欢",而非"什么样的推理链条是正确的"。这就导致了一个现象:模型可以流畅地生成看似合理的推理过程,但这些过程未必经过真正的逻辑检验。

自回归生成(autoregressive generation)是当前主流LLM的核心工作方式:模型将已生成的token序列作为输入,输出下一个token的概率分布,采样后将该token追加到序列末尾,再重复此过程。这意味着生成是单向且不可逆的——每一步的输出立即成为后续步骤的硬约束。从计算图的角度看,Transformer的每一次前向传播都是一次独立的、无状态的函数调用,层与层之间不存在跨token的循环连接(RNN中的隐状态传递在标准Transformer中并不存在)。因此,模型没有"内部草稿纸"来暂存中间推理结果并反复修改。所谓"工作记忆",在标准架构中完全体现为已生成的输出文本本身。这解释了为什么CoT有效:它实质上是用外部可见的token序列充当了隐式的记忆缓冲区。

让System 1模型展现System 2能力的主流路径

思维链提示:用输出换推理

CoT(Chain-of-Thought)提示是最直接的方案。通过引导模型"一步一步来",把中间推理过程显式地写进输出序列,相当于用生成的空间换取推理的深度。

这种方法的巧妙之处在于,它没有改变模型架构,只是改变了推理时的输入分布。每一段生成的推理文字,都会成为下一步生成的上下文条件,形成一个隐式的"工作记忆"。但它的局限也很明显:推理链条一旦生成就无法修改,错误会沿着链条传播放大。

推理时计算:让模型"多想一会儿"

近年来一个重要趋势是把计算从训练时转移到推理时。代表性思路包括:

  • 自洽性采样:对同一个问题生成多条推理路径,通过多数投票选出最一致的答案。
  • 树搜索与回溯:把推理过程组织成搜索树,允许评估中间步骤、剪枝、回溯。
  • 自我验证与修正:让模型生成答案后,再用独立的验证步骤检查,发现错误则重新生成。

这些方法的共同逻辑是:System 2能力不一定要内化在权重里,也可以在推理时通过额外的计算过程"外挂"上去。

推理时计算(inference-time compute)是相对于训练时计算(training-time compute)而言的。传统缩放定律关注的是增加模型参数量和训练数据量来提升性能;而推理时计算的核心思想是:在模型权重固定的前提下,通过增加单次推理所消耗的算力来提升输出质量。自洽性采样(self-consistency)由Wang等人在2022年提出,对同一问题采样多条CoT路径后取多数答案,本质是用采样多样性近似"集成学习"。树搜索方法(如Tree of Thoughts)则把推理步骤组织为可评估、可剪枝的节点,将LLM与经典搜索算法结合。自我验证(self-verification)利用模型自身对候选答案进行打分或批判,构成生成-验证的异步循环。OpenAI的o1系列模型正是这一方向的工程化体现——通过强化学习训练模型在推理时展开更长的内部思考链。

架构层面的尝试

更激进的方向是在架构上引入System 2机制。比如为模型配备显式的工作记忆模块、允许中间状态被反复读写、引入循环计算让信息可以多轮流转。这类工作尚在早期,但代表了从"更快的System 1"走向"类System 2"的路径。

关键分歧:能力到底能被"诱导"出来吗?

这个领域存在一个尚未解决的分歧。

一种观点认为,System 2能力本质上已经隐含在模型权重中,只是需要合适的提示或计算预算来"激发"。持这种看法的人会指出,同一个模型在不同提示下表现差异巨大,说明能力是潜在存在的。

另一种观点则更悲观:如果预训练目标从未奖励真正的逻辑推理,那么模型学到的只是推理的"表面形式"——语言模式上的模仿,而非可迁移的推理内核。在这种视角下,再多的提示工程也只是在表面做文章,模型会在分布外的问题上暴露出本质的脆弱。

这两种看法各有证据支撑。前者解释了为什么大模型能在数学、代码等任务上通过CoT取得显著提升;后者解释了为什么模型在稍微变形的问题上就会犯低级错误,为什么它会"一本正经地胡说"。

分布外泛化(out-of-distribution generalization)是理解这一分歧的关键概念。如果System 2能力真正内化在权重中,模型应当能在训练分布之外的推理任务上保持稳定表现。但大量实验表明,模型在面对表面形式变化(如改变变量名、调整问题语序、增加无关干扰信息)时性能会显著下降,这说明模型可能依赖的是训练数据中的统计捷径而非可迁移的推理规则。支持"潜在能力"一方则援引grokking现象——某些能力在训练后期会突然涌现,暗示模型内部确实形成了结构化表征,只是需要合适的触发条件。这场争论的实质是:LLM学到的是推理的计算过程,还是推理结果的分布?目前尚无定论,但这一问题直接决定了我们应当投资于提示工程还是架构革新。

这对实践者意味着什么

对于正在构建AI应用的人来说,这个问题有直接的工程含义。

如果你需要模型完成需要多步推理的任务,单纯换一个更大的模型未必是最优解。更有效的策略往往是设计合适的推理流程:给模型提供草稿空间、引入外部工具做验证、在关键步骤设置检查点、允许多次尝试后择优。

换句话说,与其等待一个"天生会System 2"的模型出现,不如在应用层为System 1模型搭建System 2的脚手架。这可能是当下投入产出比最高的方向。

原始问题虽然只有一句话,但它指向的,是LLM从"语言模仿者"走向"可靠推理者"路上必须跨越的那道坎。

#System 1 LLM#System 2能力#大语言模型推理#思维链#推理时计算#LLM架构
分享:

相关推荐