学习中心/提示词工程/思维链与高级推理技巧
中级

思维链与高级推理技巧

掌握 Chain of Thought、Self-consistency、Tree of Thought 等高级推理技术

Inkess30 min

学习笔记

思维链与高级推理技巧

什么是思维链(Chain of Thought)

思维链(CoT)是一种让 AI 在给出最终答案前,先展示推理过程的提示技术。研究表明,CoT 能显著提高 LLM 在数学、逻辑和复杂推理任务上的表现。

Zero-shot CoT

最简单的思维链技巧 — 只需在提示词末尾加一句话。

一个商店有 23 个苹果。如果用掉 20 个做苹果汁,又买了 6 个,还剩多少?

Let's think step by step.

效果对比:

方式 输出
直接问 "9 个"(可能直接猜)
+ "Let's think step by step" "初始 23 个 → 用掉 20 个剩 3 个 → 买了 6 个 → 3+6=9 个"

虽然这个例子答案一样,但在复杂问题上,展示推理过程能大幅减少错误。

Few-shot CoT

提供带推理过程的示例,让模型学会如何思考。

<examples>
<example>
<question>Roger has 5 tennis balls. He buys 2 more cans of tennis balls. Each can has 3 balls. How many does he have now?</question>
<reasoning>
Roger started with 5 balls.
2 cans × 3 balls/can = 6 new balls.
5 + 6 = 11 balls total.
</reasoning>
<answer>11</answer>
</example>
</examples>

<question>
A cafeteria had 23 apples. They used 20 for lunch and bought 6 more. How many do they have?
</question>

Show your reasoning step by step, then give the final answer.

Self-Consistency(自洽性)

对同一问题多次采样(用较高 temperature),取多数答案。适合有明确正确答案的任务。

使用方式:

请用 3 种不同的方法解决这个问题,然后比较结果:

一辆车以 60km/h 的速度行驶 2.5 小时,然后以 80km/h 的速度行驶 1.5 小时。总路程是多少?

方法 1:直接计算
方法 2:用公式 d = v × t
方法 3:分段计算后求和

最后,确认三种方法的结果是否一致。

Tree of Thought(思维树)

让模型探索多个推理路径,评估每条路径的可行性,选择最优解。

<task>
设计一个高并发的消息队列系统,日处理量 1000 万条消息。
</task>

<instructions>
请用思维树方法分析:

Step 1: 列出 3 种可能的架构方案
Step 2: 对每种方案,分析优缺点
Step 3: 评估每种方案在以下维度的表现(1-5 分):
  - 吞吐量
  - 延迟
  - 可靠性
  - 运维复杂度
  - 成本
Step 4: 选择最优方案并说明理由
</instructions>

实战对比:有无 CoT 的差异

场景:代码 Bug 分析

不用 CoT:

这段代码有什么 bug?
function sum(arr) { let s = 0; for(let i = 0; i <= arr.length; i++) s += arr[i]; return s; }

→ 可能只说"有 off-by-one 错误"

用 CoT:

分析这段代码的执行过程,逐步检查每次循环的状态,找出所有 bug:

function sum(arr) { let s = 0; for(let i = 0; i <= arr.length; i++) s += arr[i]; return s; }

请模拟 arr = [1, 2, 3] 的执行过程。

→ 会详细展示 i=0,1,2,3 时的状态,发现 i=3 时 arr[3]undefineds 变成 NaN

场景:架构决策

不用 CoT:

我应该用 Redis 还是 Memcached?

用 CoT:

我需要为一个电商平台选择缓存方案。请从以下维度逐步分析 Redis 和 Memcached:

1. 数据结构支持
2. 持久化需求
3. 集群方案
4. 内存效率
5. 我的场景:商品详情缓存 + 购物车 + 排行榜

先分析每个维度,再给出最终建议。

提示词模板集合

调试助手

我遇到了以下错误:

<error>
{粘贴错误信息}
</error>

<code>
{粘贴相关代码}
</code>

请按以下步骤分析:
1. 解读错误信息的含义
2. 定位可能的原因(列出所有可能性)
3. 逐个排查每个可能性
4. 给出最可能的根因和修复方案

系统设计分析

请用结构化思维分析以下系统设计问题:

<problem>{描述问题}</problem>

分析框架:
1. 需求澄清:列出需要确认的假设
2. 粗略估算:QPS、存储、带宽
3. 高层设计:核心组件和数据流
4. 深入设计:关键组件的详细方案
5. 瓶颈分析:可能的性能瓶颈和解决方案

代码重构建议

<code>{粘贴代码}</code>

请逐步分析这段代码的问题:
1. 首先理解代码的功能和意图
2. 识别代码异味(code smells)
3. 对每个问题,解释为什么它是问题
4. 提供重构后的代码
5. 解释重构带来的改进

总结

技术 复杂度 适用场景 效果提升
Zero-shot CoT 通用推理 中等
Few-shot CoT 格式化推理
Self-Consistency 有确定答案
Tree of Thought 复杂决策 很高