微信扫码
添加专属顾问
我要投稿
深度解析CoT技术及其衍生的ToT、GoT、PoT等框架,揭开大模型推理能力背后的神秘面纱。 核心内容: 1. DeepSeek R1推理模型的火爆关注及其核心CoT技术 2. 提示词与思维链的结合,提升大模型解决问题的能力 3. 思维链的分类与组成,从零样本到推理示例的逐步深入
DeepSeek R1在2025年得到大家的火爆关注。不同于过去的GPT系列、文心一言或者通义千问等生成模型,它是一种推理模型,大大提升了大模型解决复杂问题的能力。DeepSeek R1能够进行推理,是因为其在模型中实现了思维链(Chains of Thoughts,CoT)。思维链的概念最初是由Google Brain高级研究员Jason Wei,Xuezhi Wang提出的,并在2022年1月的论文“Chain-of-Thought Prompting Elicits Reasoning in Large Language Models”(中文翻译见《为什么DeepSeek大模型可以深度思考?原来是思维链提示词法在大语言模型中引发了推理能力》)中详细阐述。本文为大家详细解读CoT思维链技术,并介绍从CoT发展而来的ToT、GoT、PoT等提示词工程框架。
01 提示词与思维链
我们知道,提示词(Prompt)是用户发送给大语言模型的问题、指令或请求,用来明确地告诉模型用户想要解决的问题或完成的任务,是大语言模型理解用户需求并据此生成相关、准确回答或内容的基础。
在提示词模式下,用户与大模型的交互方式是:“提问——返回答案”。就是用户使用提示词向大模型提出问题,大模型直接生成并返回答案。这种模式下,大模型主要使用前期预训练内化在大模型中的知识进行回答。但对于一些复杂的问题,生成模型+单纯使用提示词无法得到准确有用的答案。比如,对于“小明有70元,是小丽的2倍少8元,小丽有多少元?”这样的问题,大模型可能胡诌一个答案。
大模型的特点是你需要给他思考的时间,长思考之后得到的答案更加准确,增加思维链可以让大模型更加深入思考。思维链(Chain of Thought, 简称CoT),是指把逻辑较为复杂的问题进行拆解,通过一系列有逻辑关系的思考,形成完整的思考的过程。
加入思维链之后,用户与大模型之间的交互方式变为:“提问——推理步骤——返回答案”。在提问和答案之间增加了一步步的推理过程,逐步逼近问题的真相。
02 思维链的分类和组成
所以,我们在提示词中加入要求:Let’s think step by step。这样,大模型就会分步骤思考这个问题,并做出回答。这是最简单的一种思维链,用一句提示语“Let’s think step by step”让大模型自己生成思维链,称作零样本思维链(Zero-Shot-CoT)。但这种方式产生的思维链可能与我们预想的有差距。
大模型像人一样,如果你告诉它一个人类推理的示例,就是你是怎么一步步思考推理的,它会更容易理解怎么去做推理。下面的例子中,就给出了一个推理示例。可以看到,没有分步骤推理示例、仅用提示词的话,大模型无法给出正确答案。但是有了分步骤推理示例,大模型也有样学样,分步骤思考这个问题,并给出了最终答案。
有推理示例的思维链称为少样本思维链(Few-Shot-CoT)。有样本的思维链能更好激发大模型的潜力,无需额外训练就能够提升模型的能力。
一个完整的包含思维链的提示词主要由三部分组成:指令(Instruction)、逻辑依据(Rationale)以及示例(Exemplars)。指令用于描述问题并且告知大模型的输出格式,逻辑依据是指 CoT 的中间推理过程,可以包含问题的解决方案、中间推理步骤以及与问题相关的任何外部知识,而示例则指以少样本的方式为大模型提供输入输出对的基本格式,每一个示例都包含:问题,推理过程与答案。
03 思维链的作用
思维链对于大模型推广应用具有重要价值和意义。
1.增强了大模型的推理能力。有了思维链之后,大模型的推理能力大大增强了,可以分步骤解决更加复杂的问题。
2.提高了大模型的可解释性。同时,有了思维链,用户可以观察到大模型的分步骤思考过程,提高了大模型的可解释性,大模型不再是一个黑盒,用户对大模型的输出结果的信任程度更高。这对于一些严肃重要的场景来说非常关键。
3.使得大模型更加可控。通过使用包含思维链的提示词,用户可以有效影响大模型的问题解答过程,不再是手足无措地接受大模型给出的结果。
04 推理模型中的思维链
推理模型相当于是将思维链技术内化到大模型中。也就是说,推理模型能够接受普通的提示词,并自动生成思维链。自动生成思维链又进一步分为指令的自动生成、逻辑依据的自动生成和示例的自动生成。因此,对于推理模型来说,提示词可以更加简单,复杂性留给了大模型。
指令自动生成包括了自动 Prompt 工程(APE)以及提示优化(OPRO),核心原理都是观察各个候选prompt在实际任务中的表现,并从中挑选表现最优的prompt。
逻辑依据的自动生成主要是CoT-SC(Chain-of-Thought-Self-Consistency,思维链自洽性)。CoT-SC即思维链自洽性是对CoT思想的延续。该方法是在响应查询时自动构建多个推理路径,并开始并发推理,并在最终确定答案之前对每个推理路径进行评估并赋予不同权重,最终选择最有效、最连贯的思维链。
示例自动生成技术以Auto-CoT为代表。具体而言,Auto-CoT 分为两个阶段:(1)问题聚类,对任务数据集进行聚类(2);示例采样:从每个聚类中心中选择一个代表性问题使用 Zero-Shot-CoT 生成思维链作为示例。
05 其他提示词工程框架
思维链CoT主要是线性的,多个推理步骤连成一个链条。在思维链基础上,又衍生出ToT、GoT、PoT等多种推理模式。这些和CoT一样都属于提示词工程的范畴。
1.ToT(Tree-of-Thoughts,思维树)
ToT是以树状形式展开思维链,并允许回溯,探索从一个基本想法产生的多个推理分支。树上的每个节点都被称为“思维”,是一个连贯的语言序列,是通往最终答案的一步。
ToT的优势在于其有条不紊的组织。首先,系统会将一个问题分解,并生成一个潜在推理步骤或“思维”候选者的列表。然后,对这些想法进行评估,系统会衡量每个想法产生所需解决方案的可能性。
树是计算机科学中重要的数据结构。在ToT中,为了帮助模型识别最有效的思维序列,系统使用了常用的搜索算法,比如广度优先搜索(BFS)和深度优先搜索(DFS)。
可以看到,CoT可以用于执行明确、唯一的思维序列,ToT可以探索多种可能的思维序列。CoT实际上是ToT的一种特殊情况,ToT的灵活性和适应性更强。
2. GoT(Graph-of-Thoughts,思维图谱)
GoT框架进一步将树结构演化为有向无环图(DAG)。每一个想法都可以作为图中的顶点。图中可以出现自我循环或者聚合,自我循环可以巩固一条特定的思路,也可以将多个想法聚合成一个连贯的思路。
图中的有向边描述了这些思想之间的相互依存关系。具体地说,如果一条边从思维t1延伸到t2,则表示t2是基于t1构思的。
Graph-of-Thoughts, source: Besta et al. (2023)
GoT的特点在于它能够对各种想法进行转换,进一步完善推理过程。主要的变化包括:(1)聚合,即将几个想法融合成一个统一的想法;(2)精化,对单个思想进行连续迭代,以提高其精度;(3)生成,有利于从现有思想中产生新的思想。
此外,GoT引入了评估维度,通过评分和排名来对每个单独的想法进行评估。系统根据分数对这些想法进行分级,这对于确定哪些想法值得优先考虑或实施非常有用。
3.PoT(Program-of-Thoughts,程序思维)
PoT是将问答背后的推理过程公式化为一个可执行程序(Program),将程序解释器输出作为最终答案的一部分。
思维程序(PoT)是一种独特的LLM推理方法。它不仅仅是生成自然语言答案,而是要求创建一个可执行程序,可以在Python等程序解释器上运行,从而产生实际的结果。这样,PoT的表达更加清晰、准确,尤其是对于需要进行数值计算的数学类型逻辑问题更是如此。
需要注意的是,PoT的程序执行不一定针对最终答案,而是可以作为最终答案的中间步骤的一部分。
下图是CoT和PoT两种推理框架的对比。
06 结语
CoT、ToT、GoT、PoT等提示词工程框架大幅提升了大模型的推理能力,让我们能够使用大模型解决更多复杂问题,提升了大模型的可解释性和可控性,为大模型应用的拓展奠定了基础。
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2025-05-09
谷歌 Prompt Engineering 白皮书中文版来了:DeepL 和沉浸式翻译谁更强?
2025-05-08
提示词工程指南:从基础到实践
2025-05-08
别再和AI说废话了,谷歌的6个prompt黄金法则让你的AI秒变学霸
2025-05-08
Claude 系统提示词泄露!
2025-05-07
还在用“请帮我生成...”?谷歌发布提示词秘籍,让AI秒懂你!
2025-05-07
我整理了10+提示词,这才是Qwen3的正确打开姿势
2025-05-05
100个思维模型提示词(1-50)
2025-05-01
大佬都在玩的AI名片,用这个提示词轻松搞定
2024-08-20
2024-06-29
2023-06-08
2024-09-17
2024-06-27
2024-06-26
2024-07-09
2024-07-12
2024-09-16
2024-06-14
2025-05-09
2025-04-29
2025-04-27
2025-04-20
2025-04-16
2025-04-11
2025-02-25
2025-02-21