提示工程

思维链 CoT 是什么?先 answer 后 CoT 和先 CoT 后 answer 有区别吗?

91学AI·2026/7/26·11 阅读

考察点

面试官想确认你是否理解 CoT 起作用的机制,而不是只会背「Let's think step by step」。后半问是关键区分点:先答案后推理看似也能产出「解释」,但本质完全不同,能看出你有没有想过自回归生成的因果方向。追问常往 self-consistency、推理模型(o1/DeepSeek-R1 类)和普通模型的区别走。

参考答案

CoT 是什么

思维链(Chain-of-Thought)是让模型在给出最终答案前,先显式输出中间推理步骤的提示技术。最早是 Google 在 2022 年的论文里系统提出的,核心发现是:当模型规模足够大(论文里观察到的涌现点在百亿到千亿参数量级)时,few-shot 示例里带上推理过程,数学和逻辑推理任务的表现会显著提升。

两种典型用法:

  • Few-shot CoT:示例里手工写好「问题 → 推理步骤 → 答案」。
  • Zero-shot CoT:不加示例,只在指令后追加「Let's think step by step」(中文版「让我们一步一步思考」),让模型自己展开推理。

为什么有效

从机制上看有两点。一是自回归模型每生成一个 token 都基于前面所有内容,推理步骤写出来之后,后续 token 的计算实际上「用上了」这些中间结果,相当于把一步映射拆成了多步计算,增加了有效计算深度。二是推理文本把隐式的解题路径外化了,模型在长链条上每步只做简单跳转,单步出错概率低。

实践上有个反直觉的点:推理过程越长不一定越好,啰嗦的推理会引入更多出错机会。示例里给简洁、关键步骤齐全的推理路径,效果通常优于事无巨细的展开。

先 answer 后 CoT vs 先 CoT 后 answer

这是两种本质不同的东西:

顺序本质效果
先 CoT 后 answer推理是答案的「因」,答案由推理导出推理真正参与计算,复杂任务准确率显著提升
先 answer 后 CoT答案是「因」,推理是事后找补的解释答案和直接回答没区别,所谓推理往往是合理化(rationalization)

先 answer 的场景下,模型生成答案时没有推理步骤可用,答案质量等同于无 CoT;后面补的「推理」只是围绕既定答案编一段看起来合理的话,甚至可能和真实的决策路径无关。这在需要可解释性的场景是个陷阱——解释看起来头头是道,实际不代表模型为什么得出这个答案。

工程上的对应做法:想要准确率,就让模型先输出 reasoning 字段再输出 answer 字段(JSON 里字段顺序就是生成顺序);想要给人看的解释且接受解释可能不忠实,才用先答案后解释。做结构化输出时字段顺序不能随手排,这是很多人会忽略的细节。

相关延伸

实际项目里还会用到两个变体。Self-consistency:同一问题采样多条推理路径(调高 temperature,采样 5-20 次),对最终答案做多数投票,GSM8K 这类数学任务上能再提几个点,代价是成倍推理开销。隐含 CoT:现在 o1、DeepSeek-R1 这类推理模型把长链推理内化到训练里,业务代码里不必再手动拼 CoT 提示,但要为更长的输出 token 付费。

可能的追问

  • CoT 对什么任务无效甚至有害? 简单的事实问答、翻译、分类这类单步任务,加 CoT 只是浪费 token,有时反而引入幻觉;对依赖直觉的模式匹配任务也可能越推理越差。
  • Self-consistency 的代价怎么控制? 采样次数按任务难度分层,简单 case 单次输出,只对置信度低的 case 触发多次采样投票;或者用一个小模型先判断难度。
  • 怎么验证 CoT 里的推理是「真推理」而不是摆设? 做扰动实验:故意在示例的推理步骤里埋错误,看最终答案是否跟着错——跟着错说明模型确实在读推理;也可以用 self-consistency 的一致性比例作为侧面指标。

评论 (0)

暂无评论,快来抢沙发吧!

91学AI

© 2026 91学AI · 按岗位学 AI 与大数据. All rights reserved.