CoT论文阅读笔记

一、介绍

CoT(Chain of Thought)思维链是一种能够激发大模型潜力,提升模型解决复杂推理问题 (如数学逻辑问题、常识问题和符号逻辑问题)正确率的经典提示方法。其原理是通过在提示词中提供带有分步推理过程 的few-shot examples(少量示例),或者添加明确的"请一步一步思考"指令,引导 模型在生成最终答案前,先输出其推理过程。这种方法仅通过改变提示词,无需进行模型微调 ,即可显著提高输出准确率。 思维链的目的是希望大模型模仿人类在思考复杂问题时,进行内在的、逐步的探索性推理行为。Chain-of-Thought的本质,就是让AI模型像一名优秀的中国学生一样,在"草稿纸"上先写出严谨的解题步骤(Thinking),最后再 confidently 地写下最终答案(Answer)。

二、核心优势

思维链有几大核心的优势:

  1. 动态计算资源分配 对于通用大模型,如果prompt没有应用思维链提示技巧,模型在处理一个只需一步思考的简单问题(如1+1=?)和一个需要多步探索的复杂问题(如制定20人团建计划)时,分配给每个生成步骤(token)的计算资源是相似的 。但应用CoT提示后,模型被引导进行多步推理,通过增加推理步骤的数量 ,间接地为复杂问题分配了更多的总体计算资源(token数),从而实现了计算能力的动态分配。
  2. 可解释性和可调试性 通过显式输出模型的思考过程,模型的推理不再是一个"黑箱"。当输出错误时,开发者可以直接观察推理链,定位问题根源(是事实错误?逻辑错误?计算错误?),从而有针对性地优化提示词或调整流程。
  3. 通用性 无论是数学问题、常识推理,还是具体的符号推理任务,都可以应用CoT技巧。论文通过实验验证了其在多个领域的有效性。CoT适用于几乎一切需要分步骤解决的复杂问题,不存在领域之间的隔阂。 而且,通过符号推理实验(如末字母拼接),研究者发现,模型可以通过模仿简单的示例(如拼接2个单词的末字母),泛化 处理比示例本身更复杂的任务(如拼接3个或更多单词的末字母)。这体现了CoT赋予模型的长度泛化能力
  4. 易于实现 不需要微调模型,也不需要额外的训练,只需要在提示词里提供包含清晰分步推理过程 的示例(Few-shot CoT),或者添加引导性指令(Zero-shot CoT),就可以显著提升模型在复杂任务上的表现。这与传统Few-shot prompting的区别在于,其示例的核心是展示"如何思考"的过程,而不仅仅是"输入-输出"对。

总结 :这四点共同勾勒出CoT的核心价值------它是一种强大、通用、透明且易于实施的方法,能有效激发和释放 大模型已有的、但未被标准提示方法充分调用的推理潜力。 备注 :在这篇论文发表的2022年,模型的能力还比较有限,很多常识问题都会出错。使用CoT可以大大降低出错率。现在随着模型能力的提升,一些简单常识问题的错误率已经很低了,但这并不是说CoT的思想过时了。相反,它从"教模型走路"变成了"指挥模型跑步"。当面对复杂、开放、模糊的现实世界任务时,"显式、分步推理"仍然是最优的引导方式之一。后续的ReAct架构(推理+行动)也是建立在CoT的基础上的。

三、限制

首先,论文中通过实验得出结论:只有模型达到一定规模(如论文中测试的约100B+参数) 时,CoT对生成效果才有显著提升。对于(2022年时的)小模型(如远小于10B参数) 而言,CoT非但对解决复杂问题没有帮助,其生成的推理链本身质量低下且可能包含错误 ,甚至可能干扰最终答案的生成(即"丢了西瓜捡芝麻")。其次,对于不需要多步骤推理的简单任务,如单纯的知识检索或简单模式匹配,CoT带来的提升不大。

高收益任务 :数学应用题、复杂规划、逻辑谜题、代码调试、策略分析等需要多步推理的任务。

低收益任务 :简单分类、情感分析、实体识别、一步到位的事实问答等。

四、总结

全文最重要的观点:CoT揭示了模型能力的"下限"

作者提出一个核心观点:我们之前用"标准提示"测出的模型性能,可能只是其真实能力的"下限" 。CoT的出现证明,通过更优的"提问方式"或"引导方法" (即提示工程),我们还能从现有模型 中激发出远未被标准提示方法挖掘的潜力。这打破了"模型性能 由训练数据决定"的旧观念,极大地凸显了"提示工程"在解锁模型潜能方面的极端重要性

五、最新发展

1. 将CoT能力迁移到小模型 - 算法蒸馏与数据优化 近几年,基础模型公司推出了越来越多效果不错的小参数模型 。这使得论文中"CoT主要在大模型(100B+)有效"的观点需要结合最新技术进展来看待。

  • 算法蒸馏 (Algorithm Distillation) :小模型无法有效应用CoT常被归因于抽象推理能力的缺失 。一种解决方案是算法蒸馏 :在大量合成数据 (由大模型自动生成的高质量"问题-推理链-答案"数据)上训练小模型,目标是让小模型直接学习底层的推理算法或模式(如"映射"、"过滤"、"归约"等核心操作),而不仅仅是模仿表面模式。
  • 注意力蒸馏/模式迁移 (Attention Distillation/Pattern Transfer) :另一种思路是迁移大模型的推理模式 。例如,通过特定技术(如DeepSeek-VL的TinyThink架构),将大模型在推理过程中的跨步注意力模式提炼给小模型。研究表明,通过优化这种迁移,7B模型在特定符号任务上能达到540B模型92%的性能。

什么是合成数据? ​ 使用如 PromptCoT 2.0 ​ 的框架,让大语言模型自动生成大量高难度、包含详细推理步骤的"问题-推理链-答案"数据。然后用这些合成数据训练小模型。 2. 围绕CoT方法论的工程进展 从模型角度看,越来越多的模型在预训练或指令微调 阶段就被赋予了"一步一步思考"的倾向或能力,CoT正从一种外部提示技巧,逐渐演变成模型内化的能力 。 从工程角度看,CoT通过**设计模型的"输出格式"来规范甚至提升其"思考质量"**​ 的思想,催生了一系列更成熟的工程范式:

  • 1)结构化输出 (Structured Output) :强制要求模型以JSON、XML等结构化格式输出推理过程和最终答案,便于程序解析和集成(如{"reasoning": "...", "answer": "..."})。
  • 2)思维即代码/可执行推理 (Reasoning as Code / Executable Reasoning) :引导模型用类代码(如伪代码、特定DSL)的形式表达思考过程,这种表示更精确、无歧义,甚至可被解释执行(如revenue = 1000000; cost = 700000; profit = revenue - cost; ...)。
  • 3)智能体间通信协议 (Agent-to-Agent Communication Protocol - A2A) :在多智能体系统中,规定智能体之间交换信息的严格结构化格式(如基于JSON Schema)。一个智能体(规划者)的输出(结构化指令)即是另一个智能体(执行者)的输入,确保指令清晰无歧义。
  • 4)ReAct架构 (Reasoning + Acting) :这是对CoT的重要扩展 。它将CoT的"思考"步骤与行动(Action) (如调用API、查询知识库)和观察(Observation) (行动结果)交织在一起,形成 思考 -> 行动 -> 观察 -> 再思考 -> ...的循环,大大提升了智能体解决需要与环境交互的复杂任务的能力。