ReAct 模型

0 阅读1分钟

1. 为什么需要 ReAct?

在 ReAct 出现之前,让 AI 完成任务主要有两种极端路线:

  • 只有推理 (Reasoning Only): 比如“思维链(CoT)”。AI 在脑子里想很久,然后给出一个答案。缺点: 容易产生幻觉,不知道外部世界的实时变化。
  • 只有行动 (Acting Only): AI 直接调用 API 或执行动作。缺点: 缺乏长远规划,容易盲目乱撞。

ReAct 的出现,就是为了把这两者结合起来:

ReAct = Reasoning(推理)+ Acting(行动)

2. ReAct 的工作流程:Thought-Action-Observation

image.png ReAct 引导模型以一种“自言自语”的方式循环执行三个步骤:

  1. Thought (思考): 模型先写下对当前情况的分析。 “我现在需要找到铁矿,根据已知信息,铁矿通常在地下深处。”
  2. Action (行动): 根据思考,模型决定执行一个具体的指令。 “调用 mine_block(down) 动作。”
  3. Observation (观察): 模型接收环境的反馈。 “观察结果:挖掘成功,获得圆石,但还没看到铁矿。”

这个循环会不断重复,直到任务完成。

3. 优缺点分析

优点

  • 可解释性强: 你能清晰地看到 AI 每一步为什么要这么做。
  • 鲁棒性高: 如果行动失败了(Observation 报错),AI 可以通过 Thought 重新调整策略。
  • 减少幻觉: 强制模型查看观察结果,而不是凭空想象。

缺点(这也是为什么 Voyager 能超越它的原因)

  • 短视: ReAct 的 Context(上下文)窗口有限。随着步数增加,它会忘记很久以前的思考。
  • 缺乏技能积累: 每次遇到新任务,它都要从头推理,没法像 Voyager 那样把成功的经验存成代码库。