Chain-of-thought通过让模型先生成中间推理步骤再输出答案,显著提升推理正确性。其本质是每个推理步骤成为后续步骤的上下文支撑,将一次hard leap分解为多个easy steps。新一代推理模型实质是CoT的工业化实现。
在 prompt 中加入四个词——"let's think step by step"——原本答错推理题的模型就开始答对了。这一招居然有效这件事,揭示了 LLM 如何推理以及何时无法推理的深层逻辑。
Chain-of-thought(思维链)是应用 AI 领域最强大、也最容易被误解的技术之一。以下是它为何有效、在哪里有用、以及在哪里只是形式主义。
回顾一下:模型一次生成一个 token,每个 token 都以之前所有内容为条件。当你要求模型直接给出答案时,它必须在一个跳跃中完成一个复杂的多步计算——就像一个人不经过演算就脱口而出答案,会犯下粗心的错误。
Chain-of-thought(CoT)要求模型在给出最终答案之前先生成中间的推理步骤。这不是做表面文章。模型写下的每个推理步骤都会成为下一步的上下文——所以模型实际上是在搭建一个可以依靠的脚手架,把一次困难的跳跃拆分成一系列简单的跳跃。它得以"展示运算过程",而这个过程确实能改善最终答案。
最新那些"推理"模型的本质其实就是工业化的思维链:训练模型在回答前进行大量思考,因为更审慎的计算确实能在难题上带来更好的答案。
CoT 不是免费的,也不是万能的。
它在多步问题上有效:数学、逻辑、规划、调试、任何答案依赖一连串中间结论的问题。
它在简单的查询或单步任务上几乎没用——"法国的首都是什么"不需要草稿纸。这时 CoT 只是白白消耗 token 和延迟。
成本是真实存在的:推理步骤就是 token,意味着更多花费和更多等待。只在问题确实是多步的情况下使用 CoT;答案可以直接得到时就跳过。让技术与任务匹配才是关键——这也是我在构建各种系统时所做的判断。
思维链也是智能体行为的种子。一旦模型能够逐步推理,下一步自然就是让它根据这些步骤行动——使用工具、观察结果、再次推理。"先想、再做、再想"就是长了手的 CoT。单次响应内的推理循环变成了跨多次的行动循环。
在难题上明确要求步骤,并让模型在确定答案之前完成推理。
将推理过程与最终答案分开,这样你可以提取干净的结果——当结果看起来有问题时检查推理过程。
不要强迫自己处处使用。对于简单任务,那是开销,不是洞察。
所有这些背后的 lesson:LLM 在生成的瞬间进行推理。给它留出空间让它一路生成到答案,在难题上它会得到更好的结果。更多关于我在 www.divyakush.com 上如何运用这些的讨论。