Chain of Thought(CoT)和 ReAct 是两种用于提升人工智能模型推理能力的方法,主要区别在于:CoT 侧重于通过内部推理步骤解决问题,而 ReAct 则结合了推理(Reasoning)和外部行动(Acting),允许模型与环境交互(如搜索网络或数据库)来获取额外信息。下面我会详细解释两者的区别,并通过例子说明。

主要区别

特性 Chain of Thought (CoT) ReAct
核心思想 通过生成连续的中间推理步骤来引导模型得出答案,无需外部交互。 将推理与行动结合,模型在推理过程中可以执行行动(如搜索、查询)来获取新信息。
依赖资源 仅依赖模型内部的预训练知识。 依赖外部环境或工具(如搜索引擎、API)来补充信息。
适用场景 适合逻辑推理、数学问题等不需要实时信息的任务。 适合需要最新知识或外部验证的任务,如问答、事实核查。
输出形式 一系列推理步骤后直接给出答案。 交替进行推理、行动和观察,最终给出答案。

 

Chain of Thought Prompt 举例

CoT 的核心是引导模型一步一步地展示其内部推理过程

示例任务:逻辑推理

Prompt:

模型的典型 CoT 响应:

特点分析:

  • 纯推理:整个过程都在模型的“脑海”中完成,没有与外部世界交互。

  • 步骤清晰:通过“第一步、第二步…”将复杂的逻辑拆解,使得最终答案更具说服力,也更容易发现推理错误。

 

 ReAct Prompt 举例

ReAct 的核心是交织进行推理和行动。模型需要决定“何时”以及“做什么”来获取外部信息。

示例任务:需要最新信息的问答

Prompt:

模型的模拟 ReAct 响应

让我们再看一个更复杂的例子,展示 ReAct 如何通过交互解决模糊问题:

问题:“珠穆朗玛峰的最新测量高度是多少?它比十年前高了还是低了?”

模型的模拟 ReAct 响应:

特点分析:

  • 推理与行动交织:模型不是一次性想完所有步骤,而是根据上一步的“观察”来决定下一步的“思考”和“行动”。

  • 依赖外部工具:通过“搜索”行动获取了模型训练数据之外的最新、最准确的信息。

  • 处理动态和模糊问题:对于“最新”、“十年前”这类需要上下文和信息检索的问题,ReAct 方法非常有效。

总结对比

场景 Chain of Thought ReAct
数学题 非常适合。通过一步步计算得出答案。 也可以用,但通常没必要行动。
常识/逻辑推理 非常适合。清晰地展示逻辑链。 也可以用,但通常依赖内部知识,无需行动。
需要最新信息的问题 不适用。模型的知识有截止日期,可能给出过时答案。 非常适合。通过搜索获取实时信息。
需要多步查询的复杂问题 不适用。无法与环境交互。 非常适合。可以像人类一样,先查A,再根据结果查B。

简单来说,CoT 是“动脑”,而 ReAct 是“既动脑又动手”。在实际的大模型中(如 GPT-4),ReAct 模式通常通过“函数调用”或“工具使用”的能力来实现。

Workflow vs ReAct

workflow 是一个固化执行tool的步骤,ReAct  是动态执行tool,没有固化的步骤,通过执行  “思考-行动-观察 ”loop

分类&标签