Zubnet AI学习Wiki › 思维链
使用AI

思维链

别名:CoT
一种提示技术,要求模型在给出最终答案前逐步展示其推理过程。模型不会直接得出结论,而是“大声思考”,这显著提高了在复杂任务中的准确性。

为什么重要

要求模型“解释你的推理过程”不仅仅是为了透明度—实际上会让模型变得更聪明。早期研究表明,CoT(思维链)方法可将数学错误减少高达50%。目前大多数现代模型都会在内部自动执行此操作。

深度解析

思维链提示之所以有效,是因为语言模型本质上是下一个token的预测器,它们生成的token会成为自身上下文的一部分。当你要求模型“逐步思考”时,你并不是激活了某个隐藏的推理模块——你是在迫使它生成中间token,从而约束和引导后续token朝着正确答案前进。没有这些中间步骤,模型必须从问题直接跳到答案,这正是错误堆积的地方。通过思维链,每一步都会缩小下一步的概率空间。这就像在脑海中一次性计算347乘以29,与在纸上写出部分乘积之间的区别。

背后的研究

谷歌的Wei等人在2022年的原始论文中表明,对于大模型来说,思维链提示几乎是零成本的——仅仅在提示中添加“让我们逐步思考”,就将PaLM 540B模型在GSM8K数学任务上的准确率从约18%提升到了57%。但这种方法对小型模型几乎无帮助,这导致了一个实用的经验法则:思维链对参数量超过约100亿的模型最有用。低于这个阈值时,模型常常生成看似合理但错误的推理步骤,这实际上比直接跳到答案更糟糕。如果你在生产环境中需要在不同大小的模型之间切换,这一点值得记住。

内置到模型中

现代前沿模型——Claude、GPT-4、Gemini——在训练过程中已经基本内化了思维链。Anthropic和OpenAI都使用过程奖励模型和强化学习的变体来训练模型,使其在回答问题前先进行推理,即使你没有明确要求它们这样做。OpenAI的o1和o3模型将这一点发挥到极致,它们能够进行扩展的内部推理,你可以在“思考”追踪中看到这一过程。Claude的扩展思考也类似。实际上,对于最先进的模型,显式的思维链提示的重要性已不如2023年那样显著,但在你需要检查推理、发现错误或使用未经过该训练的小型或开源模型时,它仍然有帮助。

一个常见的误解是,思维链总是意味着更长、更慢的响应。实际上,你可以将思维链与结构化输出结合——要求模型在草稿部分进行推理,然后生成简洁的最终答案。许多API用户会将推理放在单独的字段中,或使用XML标签来区分思考和答案。这让你能够获得准确性的好处,而无需迫使终端用户浏览大段的推理内容。另一个需要注意的陷阱是,思维链实际上可能让模型在简单任务上表现更差,因为过度思考会引入不必要的怀疑。如果你问“法国的首都是哪里?”,你不需要五步推理——你只需要直接答案。

变体

思维链的变体值得了解。零样本思维链(只需在提示中添加“逐步思考”)是最简单的。少样本思维链在提示中提供带有推理链的工作示例。思维树进一步扩展,允许模型探索多个推理分支并回溯。自一致性生成多个思维链路径,并对最终答案进行多数投票,这是最可靠的准确性提升方法之一。每上升一个层次,都会增加更多的token和延迟,因此正确的选择取决于你是在优化成本、速度还是正确性——以及问题本身的难度。

相关概念

← 所有术语
← Cartesia AI 编程助手 →
ESC