ReAct:让大模型一边推理,一边行动

ReAct 将 ReasoningActing 放进同一个循环。 模型不再只靠已有知识直接作答,而是先判断下一步,再调用搜索、数据库、计算器或其他工具,用真实结果继续推进任务。

01. ReAct 是什么

ReAct 的名字来自 Reasoning + Acting。它不是某个特定模型,而是一种组织大模型完成任务的框架。

普通问答往往只有"输入问题---生成答案"两步。ReAct 在中间加入工具交互:模型可以搜索资料、查询数据库、执行代码或操作环境,然后根据返回结果继续判断。整个任务由多轮"思考---行动---观察"组成。

02. 为什么需要 ReAct

Chain-of-Thought(CoT) 擅长把复杂问题拆开,但它仍主要依赖模型内部知识。遇到最新信息、陌生事实或精确计算时,一旦前面某一步猜错,错误可能沿着整条推理链继续传播。

只执行工具调用的 Act 又存在另一个问题:系统会行动,却不一定知道为什么要这样行动,也不容易把一个复杂目标拆成多个子目标。

ReAct 把两者结合起来:推理负责决定"下一步查什么、做什么",工具负责提供真实反馈,观察结果再反过来修正推理。

03. 核心工作循环

循环会持续到模型获得足够信息,或者达到预设的停止条件。最后一步通常是 Final Answer,即面向用户整理后的答案。

04. 一个直观示例

假设用户提出:"查出某篇论文的发表年份,再计算它距 2026 年有多少年。"模型不能只靠记忆,需要先检索,再计算。

复制代码
Thought 1:我需要先确认论文的准确发表年份。
Action 1:Search[论文标题]
Observation 1:检索结果显示论文发表于 2022 年。

Thought 2:现在可以计算 2026 - 2022。
Action 2:Calculator[2026 - 2022]
Observation 2:4

Final Answer:该论文发表于 2022 年,距 2026 年为 4 年。

这里的关键不是格式本身,而是信息流:每个 Action 都由当前 Reasoning 决定,每个 Observation 又会改变下一步 Reasoning。

05. ReAct Prompt 怎么写

一个可用的 ReAct Prompt 至少需要说明四件事:任务目标、可用工具、工具调用格式和结束条件。

复制代码
你需要解决用户的问题,并在必要时使用工具。

可用工具:
- Search[query]:搜索外部资料
- Calculator[expression]:执行数学计算

工作规则:
1. 先判断当前缺少什么信息。
2. 需要外部信息时,选择一个工具并给出准确参数。
3. 根据 Observation 决定下一步。
4. 信息充分后,输出 Final Answer。
5. 不要编造工具结果。

输出格式:
Action: 工具名[参数]
Observation: 工具返回结果
Final Answer: 面向用户的最终答案

论文中的经典 ReAct 通常会加入若干 Few-shot examples ,让模型模仿完整轨迹。现代 Agent 系统则常通过 Function Calling 或结构化工具接口约束 Action,不必完全依赖自由文本格式。

06. ReAct、CoT 与 Act 的区别

方法 主要能力 外部工具 典型问题
CoT 分解问题并进行多步推理 通常不使用 可能依赖错误记忆,产生事实幻觉
Act 根据指令连续执行操作 使用 缺少任务分解,容易出现无目的调用
ReAct 推理、行动与反馈交替进行 使用 效果受工具质量和上下文长度影响
相关推荐
之歆4 小时前
Vue商品详情与放大镜组件
前端·javascript·vue.js
再吃一根胡萝卜5 小时前
如何把小米 MiMo 接入 CodeBuddy,打造私有 Agent
前端
负责的蛋挞6 小时前
异步HttpModule的实现方式
java·服务器·前端
YFF菲菲兔7 小时前
其他 Hooks 解析
react.js
丹宇码农9 小时前
把 HLS 字幕玩出花:zwPlayer 如何让 M3U8 视频支持全文搜索、翻译与码率自适应
前端·javascript·音视频·hls·视频播放器
2501_943782359 小时前
【共创季稿事节】猜数字游戏:二分法思维与交互式反馈
前端·游戏·microsoft·harmonyos·鸿蒙·鸿蒙系统
GV191rLvq9 小时前
基于Socket实现的最简单的Web服务器【ASP.NET原理分析】
服务器·前端·asp.net
吠品9 小时前
LangChain 里 tool_call_id 为空?一次 MCP 工具集成的排查记录
前端
微信开发api-视频号协议9 小时前
企业微信二次开发中的文件系统设计:媒体资源、临时文件与业务附件
前端·微信·企业微信·媒体·ipad·微信开放平台