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

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

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 推理、行动与反馈交替进行 使用 效果受工具质量和上下文长度影响
相关推荐
子兮曰3 天前
jev-ultrafast 深度解析:7 秒订机票的浏览器 Agent 是如何炼成的
前端·后端·agent
子兮曰3 天前
Jev 爆发一周:7 秒 Agent 背后的 System One 生态与三场争议
前端·后端·ai编程
前端小万3 天前
写公众号赚了 3000 块后,我做了一款叫 "一键成稿" 的软件
前端·微信小程序
爱勇宝3 天前
ZCode 开源 24 小时:一份没有历史的账本,回答不了"有没有偷代码"
前端·后端·chatglm (智谱)
三十而立洋3 天前
Cookie 详解:从产生到安全,一次讲透
前端·javascript
卡布鲁3 天前
把一个 Vite + Vue3 应用塞进 qiankun (React + Umi3) 主站:十个坑的复盘
前端·javascript·react.js
汉堡大王95274 天前
Jev:不是聊天机器人, 而是一个智能 if 语句
前端·人工智能·后端
梦想很大很大4 天前
从运行事实到回归证据:Workrun 的 Telemetry 与 Evaluation 实践
前端·人工智能·后端
计算机魔术师4 天前
Meta Muse agent 接入 Shopify 的 Shop Pay 实现代理式购物
前端
沙蒿同学4 天前
我用 Go 搭了一条 AI Agent 流水线:从 1 张商品图到一整套淘宝详情页
前端·javascript·后端