大模型推理能力进阶:从思维链到思维树,让AI学会“深思熟虑”
在前两节中,我们已经掌握了提示词的基础结构和高级组件化技巧,也学会了用链式提示分解复杂任务。但面对真正需要逻辑推理的问题——比如数学应用题、多步规划、创意构思——AI仍然可能犯错。原因在于,大模型的默认生成方式(逐个词元预测)更像人类的“系统1思维”:快速、直觉、有时欠考虑。
那么,能否让AI像人类一样,在回答前先“想一想”,甚至像专家团队一样“讨论”出最佳答案?答案是肯定的。本节将介绍三种让AI实现复杂推理的高级技术:思维链(Chain-of-Thought)、自洽性(Self-Consistency) 和 思维树(Tree-of-Thoughts)。掌握了它们,你的AI将不再是“快枪手”,而是“深思者”。
一、思维链:先推理,后回答
1.1 什么是思维链?
思维链的核心思想很简单:在提示词中引导模型展示推理过程,然后再给出最终答案。就像做数学题时,老师要求写出“解题步骤”一样,模型通过一步步推导,不仅答案更准,过程也清晰可查。
2022年,Google研究团队在论文《Chain-of-Thought Prompting Elicits Reasoning in Large Language Models》中证明,这种方法能显著提升模型在算术、常识推理等任务上的表现。
1.2 少样本思维链:给示例,教推理
假设我们想让AI解决这样一个问题:
cafeteria有23个苹果。他们用20个做午餐,又买了6个,现在有多少个苹果?
如果直接问,模型可能凭直觉给出错误答案。但如果我们先在提示词里放一个带推理步骤的示例,模型就会模仿这种“思考过程”。
python
# 少样本思维链提示
cot_prompt = [
{"role": "user", "content": "Roger有5个网球。他买了2罐网球,每罐3个。他现在有多少个网球?"},
{"role": "assistant", "content": "Roger一开始有5个球。2罐各3个网球,一共6个。5 + 6 = 11。答案是11。"},
{"role": "user", "content": "cafeteria有23个苹果。他们用20个做午餐,又买了6个,现在有多少个苹果?"}
]
outputs = pipe(cot_prompt)
print(outputs[0]["generated_text"])
模型输出:
cafeteria一开始有23个苹果。用了20个,剩下23 - 20 = 3个。又买了6个,现在有3 + 6 = 9个。答案是9。
你看,模型不仅给出了正确答案,还复用了示例中的推理句式。这就是“少样本思维链”——用示例教会模型“先思考再回答”。
1.3 零样本思维链:一句话开启推理
如果没有现成的示例怎么办?研究发现,只需在问题后加上一句 “让我们逐步思考”(Let's think step-by-step),就能激发模型的推理能力。这被称为“零样本思维链”。
python
zeroshot_cot_prompt = [
{"role": "user", "content": "cafeteria有23个苹果。他们用20个做午餐,又买了6个,现在有多少个苹果?让我们逐步思考。"}
]
outputs = pipe(zeroshot_cot_prompt)
print(outputs[0]["generated_text"])
输出:
步骤1:初始苹果数23。
步骤2:减去午餐用的20,剩下23 - 20 = 3。
步骤3:加上新买的6,3 + 6 = 9。
现在cafeteria有9个苹果。
虽然没给示例,但“让我们逐步思考”这句提示成功让模型展开推理。你也可以尝试其他变体,如“深呼吸,然后一步步分析”、“我们一步一步来”。实验表明,这类短语能有效激活模型的逻辑链。
1.4 为什么思维链有效?
因为每生成一个推理步骤,模型就多一次“计算”机会。直接输出答案只依赖最后几个词元的概率,而推理过程让模型把中间结果作为上下文,逐步逼近正确答案。对于需要多步计算的数学题,这至关重要。
二、自洽性:多数投票战胜随机性
即使使用了思维链,模型的输出仍可能受随机性影响(尤其是当temperature > 0时)。同一个问题,两次回答可能不同,其中一次甚至可能出错。如何提高稳定性?
自洽性(Self-Consistency)应运而生。它的思想是:多次采样推理路径,取多数答案作为最终结果。
2.1 工作原理
如下图所示,对于同一个问题,我们让模型生成多个不同的推理过程(通过调节temperature或top_p增加多样性),每个过程都会得出一个答案。然后,统计所有答案的出现频率,选择出现次数最多的那个。

例如,对于“Roger的网球”问题:
-
路径1:推理 → 答案 11
-
路径2:推理 → 答案 6(错误)
-
路径3:推理 → 答案 11
多数投票后,正确答案11胜出。
2.2 代码实现思路
python
# 多次采样(这里示意,实际需循环)
answers = []
for _ in range(5):
output = pipe(cot_prompt, do_sample=True, temperature=0.7)
answers.append(extract_answer(output[0]["generated_text"]))
final_answer = max(set(answers), key=answers.count) # 多数投票
2.3 优缺点
-
优点:显著提高准确率,尤其适合开放式问题或需要判断的场合。
-
缺点:速度慢(n次采样慢n倍),且需要设计答案提取逻辑。
自洽性可以视为“思维链的集成学习”,通过牺牲时间换取质量。
三、思维树:像专家团队一样“讨论”
思维链和自洽性虽然有效,但都是线性推理——一条路走到黑。人类解决复杂问题时,往往会在每个决策点考虑多种可能性,评估后选择最优路径继续。这启发了一种更强大的方法:思维树(Tree-of-Thoughts,ToT)。
3.1 什么是思维树?
思维树由普林斯顿大学和Google DeepMind的研究者提出(论文《Tree of Thoughts: Deliberate Problem Solving with Large Language Models》)。它将问题分解为多个思考步骤,每一步都生成多个候选想法,然后评估这些想法的优劣,保留有希望的,剪掉差的,如同在树上探索分支。
下图展示了这一过程:

-
面对问题,模型先生成若干初始想法(树根的分支)。
-
对每个想法进行评分(可由模型自评或外部打分)。
-
保留高分想法,基于它们继续下一步推理。
-
重复直到得出最终答案。
这种方法特别适合创意写作、策略规划、数学难题等需要多路径探索的场景。
3.2 零样本思维树:模拟专家讨论
完整实现思维树需要多次调用模型,复杂且慢。但社区发现,可以用一个巧妙的提示词模拟专家讨论,实现类似效果——称为“零样本思维树”。
提示词如下:
想象三位不同领域的专家在回答这个问题。每位专家写下自己的一步思考,然后分享给其他人。接着所有专家进行下一步,以此类推。如果有专家意识到自己错了,就退出讨论。问题是:“cafeteria有23个苹果,用了20个做午餐,又买了6个,现在有多少个苹果?”请确保讨论出结果。
将这个提示词输入模型:
python
zeroshot_tot_prompt = [
{"role": "user", "content": "想象三位不同领域的专家在回答这个问题。每位专家写下自己的一步思考,然后分享给其他人。接着所有专家进行下一步,以此类推。如果有专家意识到自己错了,就退出讨论。问题是:“cafeteria有23个苹果,用了20个做午餐,又买了6个,现在有多少个苹果?”请确保讨论出结果。"}
]
outputs = pipe(zeroshot_tot_prompt)
print(outputs[0]["generated_text"])
模型可能会生成类似这样的对话:
专家1:第一步——初始苹果数是23。
专家2:第一步——用了20个做午餐,所以剩下23-20=3。
专家3:第一步——买了6个,所以最终是3+6=9。
专家1:第二步——我检查一下:23-20=3,没错。
专家2:第二步——3+6=9,计算正确。
专家3:第二步——三位专家一致同意,答案是9。
通过这种“角色扮演+讨论”,模型实际上在内部模拟了多条推理路径的交叉验证,最终得到可靠答案。
3.3 思维树的优势与局限
-
优势:能处理需要分支探索的复杂问题,如写故事(先构思几个情节走向,选最优发展)、制定计划(考虑多种方案并评估风险)。
-
局限:提示词较长,消耗更多token;且对模型的指令跟随能力要求较高。
四、总结:从“快思考”到“慢思考”的进化
本节我们学习了三种让AI实现复杂推理的高级技术:
| 技术 | 核心思想 | 适用场景 | 代价 |
|---|---|---|---|
| 思维链 | 展示推理步骤后再回答 | 数学题、逻辑推理 | 生成更长文本 |
| 自洽性 | 多次采样,多数投票 | 需稳定答案的场合 | 时间慢n倍 |
| 思维树 | 多路径探索,评估剪枝 | 创意写作、复杂规划 | 提示词复杂 |
这些技术本质上都在模拟人类“系统2思维”——有意识、缓慢、逻辑严密。通过提示工程,我们引导模型调用更多计算资源,从而提升输出的质量和可靠性。
在实际应用中,你可以根据任务复杂度选择合适的方法:
-
简单推理:思维链足矣。
-
追求准确率:自洽性+思维链。
-
高度开放问题:尝试思维树。
记住,提示工程的魅力在于不断实验。试试在“让我们逐步思考”前加上“深呼吸”,或者让专家们互相辩论,你可能会发现意想不到的效果。AI的潜能,正等待你用创意提示去解锁。
本文参考:图解大模型:生成式AI原理与实战
书籍pdf免费下载地址:https://pan.baidu.com/s/1mTaUQ5czcfGpBM8KvJuS2g?pwd=un44
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)