Level 335 分钟

ReAct 框架

掌握推理与行动交替的 Agent 范式

ReAct 框架:思考与行动的结合

什么是 ReAct?

ReAct = Reasoning + Acting

传统方法的问题:

  • 纯推理:无法获取外部信息
  • 纯行动:缺乏规划和反思

ReAct 的创新:

  • 交替进行推理 and 行动
  • 每步行动前先思考
  • 根据结果调整策略

ReAct 循环

Thought: 分析当前情况,决定下一步
Action: 执行具体操作
Observation: 观察操作结果
... (重复直到解决问题)
Final Answer: 给出最终答案

ReAct 提示模板

你是一个能够使用工具的 AI 助手。

可用工具:
1. search(query) - 搜索互联网
2. calculate(expression) - 计算数学表达式
3. lookup(term) - 查询知识库

解决问题时,请遵循以下格式:

Thought: 我需要...
Action: 工具名(参数)
Observation: [工具返回结果]

Thought: 根据结果,我发现...
Action: 工具名(参数)
Observation: [工具返回结果]

... (继续直到找到答案)

Thought: 我现在有足够信息回答问题了
Final Answer: [最终答案]

问题:{用户问题}

实战示例

问题:比较 iPhone 16 和 Pixel 9 的价格

Thought: 我需要先查询 iPhone 16 的价格
Action: search("iPhone 16 官方价格 2024")
Observation: iPhone 16 起售价 5999 元,Pro 版 7999 元

Thought: 现在需要查询 Pixel 9 的价格
Action: search("Google Pixel 9 官方价格 2024")
Observation: Pixel 9 起售价 4999 元,Pro 版 6999 元

Thought: 我现在有两款手机的价格,可以进行对比
Final Answer: iPhone 16 起售价 5999 元,Pixel 9 起售价 4999 元。
Pixel 9 便宜 1000 元(约 17%)。Pro 版本差价同样是 1000 元。

ReAct 的思考技巧

1. 分解问题

Thought: 这是一个复杂问题,我需要分步解决:
1. 首先确定 X
2. 然后计算 Y  
3. 最后验证 Z

2. 反思结果

Thought: 搜索结果似乎不完整,我需要换个关键词再搜索
或
Thought: 计算结果与预期不符,让我验证一下输入是否正确

3. 调整策略

Thought: 这个工具无法解决问题,我需要尝试其他方法

ReAct vs 其他范式

| 范式 | 特点 | 适用场景 | |-----|------|---------| | Chain-of-Thought | 纯推理 | 逻辑推理、数学 | | ReAct | 推理+行动 | 需要外部信息 | | Reflexion | 带反思 | 需要自我纠错 |

常见问题

Q: 行动循环不停止怎么办?

A: 设置最大迭代次数,超过后强制输出答案

Q: 工具返回错误怎么办?

A: 在 Thought 中处理错误,尝试替代方案

练习

使用 ReAct 框架解决:

问题:北京和上海,哪个城市今天更热,热多少度?

提示:需要模拟使用天气查询工具

小结

  • ReAct 交替进行推理和行动
  • Thought-Action-Observation 循环
  • 适合需要外部工具的复杂任务
  • 每步都要反思和调整

下一课我们将学习 Prompt Chaining。

加载中...