CoT 思维链

全称 Chain-Of-Thought 思维链

解释

要求模型展示推理步骤,随着步骤的明确,生成随机性降低
image.png

对于 需要多步骤推理过程才能得出答案 的任务

Q:谁来拆解推理步骤?

0-shot CoT

解释:使用类似”让我们一步步思考”的提示词,强制模型分步骤思考

### User Prompt小明有15个气球,送给小红3个,小李5个,现在还有几个?让我们一步步思考

优缺点:简单直接,一些模型已经内置了该能力,但效果可能不好(模型不一定按我们的意愿思考)。

扩展阅读:Thinking Claude

few-shot CoT

解释:0-shot CoT 需要模型拆分步骤,拆分步骤这一步可以通过 few-shot 引导

优缺点:效果更好,但需要准备示例

问题1: 小李有8个苹果,吃掉3个,又买来2个,现在有几个?  
  
解答:  
1. 先看小李开始有多少个  
   - 开始有8个  
2. 吃掉后还剩多少  
   - 吃掉3个: 8 - 3 = 5个  
3. 买来新的后有多少  
   - 买来2个: 5 + 2 = 7个  
所以现在有7个苹果  
  
问题2: 小明有15个气球,送给小红3个,小李5个,现在还有几个?  
解答:

LangGPT 中任何模块都能使用 CoT,最主要的是 Workflow

CoT工作原理

可以从两个角度解释:

  • 推理能力角度:CoT让模型能更好利用预训练时学到的推理能力,通过推理步骤激活了模型内部更多相关知识的展示,减少了模型在单步大跨度推理时的信息损失
  • token预测角度:模型的本质是预测下一个token,使用CoT时,如果输出的当前执行步骤正确,那输出新步骤时之前正确的步骤将作为上下文,以此降低生成token的随机性

缺点:只有单一视角的推理过程

Self-Consistency CoT 自我一致性

解释

并行执行多条不同的 CoT推理路径,对比不同推理路径的结果,投票评估最终结果

例如:

<role>  
  一位有丰富软件开发、架构设计、需求分析经验的软件公司CTO  
</role>  
  
<workflow>  
  1. 分别以下面四种不同身份/视角来思考问题:  
    - 前端技术专家  
    - 后端技术专家  
    - 测试工程师  
    - 产品经理  
  
  2. 对于每个视角执行如下步骤:  
    - 说明这个视角的独特观点  
    - 列出关键的分析论据  
    - 给出基于该视角的结论  
  
  3.  
    - 比较这所有视角的异同点  
    - 整合各个视角的见解  
    - 提出一个综合的、平衡的最终结论  
</workflow>  
  
<constraints>  
  - 每个视角的分析必须独立且深入  
  - 分析必须基于该角色的专业知识和关注点  
  - 避免个人偏见,保持客观中立  
  - 最终结论必须平衡考虑所有视角  
</constraints>  
  
<input_format>  
  [待分析的具体问题]  
</input_format>  
  
<output_format>  
  ## 前端技术专家视角  
  [前端专家的分析内容]  
  
  ## 后端技术专家视角  
  [后端专家的分析内容]  
  
  ## 测试工程师视角  
  [测试工程师的分析内容]  
  
  ## 产品经理视角  
  [产品经理的分析内容]  
  
  ## 综合分析  
  [各视角对比和最终结论]  
</output_format>  
  
前端是否应该负责部分后端工作(作为BFF层)?

适合场景

  1. 复杂推理问题
  • 数学题、逻辑题等需要多步骤推导的问题
  • 问题求解有多种可能的思路和路径
  • 需要确保推理过程的可靠性
  1. 有歧义的开放性问题
  • 存在多个合理答案
  • 需要从不同角度分析问题
  • 答案具有不确定性
  1. 需要验证结果的场景
  • 通过多次独立推理交叉验证
  • 检查答案的一致性
  • 提高结果的可信度

缺点

  • 只有线性推理过程,不能前瞻、回溯、全局探索不同想法
  • 只有推理没有评估和改进

无法胜任的工作:

请用我给你的4个数字,通过加、减、乘、除、括号,组成一个运算,使得结果为24。注意:数字需要全部使用我提供的数字:4 4 6 8

人类推理的过程:

  1. 提出想法:解决这个问题有哪些好想法?
  2. 评估想法:如何衡量想法的好坏?
  3. 做出改进:基于上述评估,下一步该怎么做?

ToT Tree-of-Thought 思维树

解释

与传统 CoT 的区别:

  • 不仅有思考,还能评估,并基于评估改进行动
  • 不仅能顺序执行,还能前瞻、回溯、全局探索

脱离单纯 提示词技巧 的范畴,根据实现逻辑,应该被划分为workflow或agent

参考资料