引言
随着大语言模型(LLM)能力的不断提升,推理能力成为了衡量模型智能水平的关键指标。思维链(Chain-of-Thought, CoT)作为一种提示工程技术,通过引导模型生成中间推理步骤,显著提升了复杂任务的表现。然而,CoT 为何有效?其内部机制究竟依赖于哪些要素?近期有一项实证研究深入探讨了这一问题,将影响 CoT 效果的核心元素拆解为 Text(文本)、Symbol(符号)和 Pattern(模式)三个部分,并通过控制变量实验分析了各要素的贡献。
本文基于该研究论文《Towards Understanding Chain-of-Thought Prompting: An Empirical Study of What Matters》,对 CoT 的原理进行深度解析,旨在帮助开发者理解如何构建更有效的提示词。
核心元素定义
研究将 CoT 中的信息流拆分为三个维度,理解这些定义是分析实验结论的基础。
1. Text(文本)
Text 指的是构成 Prompt 的普通 Token,即除了特定 Symbol 之外的所有自然语言描述。它承载了任务的指令、上下文背景以及推理过程中的逻辑连接词。
2. Symbol(符号)
Symbol 是数据集的核心主体实体。在不同的数据集中,Symbol 的表现形式不同:
- 数学问题:Symbol 表现为具体的数字。
- SPORT 数据集:Symbol 代表运动员和运动项目。
- DATE 数据集:Symbol 代表时间。
从概念上讲,Symbol 类似于 NLP 中的实体(Entity)。它们是需要被处理的具体对象,而非通用的语法结构。
3. Pattern(模式)
Pattern 可以是 Symbol 的组合,也可以是连接符(如公式)或帮助模型理解任务的表述结构。值得注意的是,Pattern 和 Symbol 允许重合。例如,在数学公式中,整个公式可以被视为一个 Pattern,但公式中的数字同时又是 Symbol。在非数学问题上,Pattern 的定义可能更为抽象,通常指代推理的逻辑框架或句式结构。
实验设计与方法
为了量化上述三个元素对 CoT 效果的贡献,研究者采用了 Few-shot Prompting 的方式,通过改变特定元素的取值来进行控制变量实验。主要测试模型包括 text-davinci-002 和 text-davinci-003。
实验主要通过以下三种操作来隔离变量:
- Symbol 替换:随机采样或特殊符号替换。
- Pattern 调整:保留 Pattern 或剔除 Pattern。
- Text 变化:实体替换或语法风格替换。
实验发现与结论
观点一:Symbol 的形式和取值本身对 CoT 影响不大
研究通过两种方式验证了 Symbol 的鲁棒性:
1. 特殊符号替换 (symb_abs)
作者使用通用特殊符号替换了 Question、Prompt 和 Answer 中的所有 Symbol。例如,将具体的数字替换为抽象符号。实验结果显示,这种替换对 CoT 的效果影响非常有限。
2. 随机替换 (symb_ood)
这种方式更接近分布外(Out-of-Distribution)测试。对于 GSM8K 数学问题,用一一对应的数学数字替换文字数字;对于体育常识,随机替换人名和赛事;对于时间常识,用未来时间替换当前时间。关键在于,作者保证了推理逻辑的一致性,包括同一数字使用同一 Symbol 替换,且替换后的实体符合推理逻辑。
结论:除体育问题中的随机实体替换外,其余 Symbol 的替换对 CoT 效果影响甚微。这表明模型的泛化能力并非来自对实体本身形式的记忆,而是学会了不同类型的实体会出现在哪些上下文中。这种替换并不大幅影响上文对上文的 Attention 机制。
观点二:Pattern 是 CoT 生效的必要不充分条件
针对 Pattern,研究者采用了两种极端的实验类型:只保留 Pattern 和只剔除 Pattern。
- 只保留 Pattern:以数学问题为例,推理过程仅保留数学公式,去除自然语言解释。实验表明,仅有 Pattern 的 COT 效果很差,与直接推理(Zero-shot)差不多。这说明仅有结构是不够的。


