← 总目录 / 板块一 · 模型的范式变迁
板块一 · 模型的范式变迁

第11篇 · ReAct

让语言模型边想边做——推理与行动的协同范式,今天所有 Agent 的直系祖先
ReAct: Synergizing Reasoning and Acting in Language Models · Shunyu Yao (Princeton), Jeffrey Zhao 等 (Google Brain) · 2022(ICLR 2023) · arXiv:2210.03629

本页数字均复述自论文原文,未做外部验证;【论文声称】【实验支持】【解读者补充】【解读者观点】三类来源严格区分。

一、全局大图

1.1 摘要拆解与导航表

摘要短语对应原文章节本页精读章节
"reasoning traces help the model induce, track, and update action plans"§1–§2 方法框架二·B 扩充动作空间
"actions allow it to interface with… external sources"§2、§3.1 动作空间二·C Wikipedia API 设计
"overcomes hallucination and error propagation in CoT"§3.3 Table 2 失败模式分析二·D 推理任务结果
"ALFWorld and WebShop… +34% and +10%"§4 决策任务二·E 决策任务结果
"improved human interpretability and trustworthiness"§2 特性D、附录A.3二·F 可解释性与人在环路

1.2 贡献与证据强度预评

#声称的贡献预评证据强度
1ReAct 范式:把语言空间并入动作空间(Â=A∪L)强实验支撑 四个域一致有效,且有受控消融 Act-only
2ReAct 缓解幻觉与错误传播人工标注子样本支撑 200条轨迹人工分析,非主表直接指标
3ReAct+CoT-SC 组合是最优 prompting 策略仅两个任务 HotpotQA/Fever 上成立,启发式切换规则较粗糙
4微调后 ReAct 是四方法中最优且最可泛化单一任务(HotpotQA)+小样本(3000条)
5稀疏思考优于 IM 式密集外部反馈仅 ALFWorld 消融(71 vs 53)

1.3 阅读路线

必读主线:§2(扩充动作空间的形式化)→ §3.3(Table 1 主表+Table 2 失败模式)→ §4(ALFWorld/WebShop)。可跳读支线:附录 C 的完整 prompt(跳过代价:体会不到"thought 的六种用途"如何具体落在 prompt 里);§5 相关工作。枢纽章节:§2——"thought 不改变环境、只更新上下文"这一句话是全文的公理。

二、逐章精读

A. 问题背景:两条平行线各自的天花板【来源:论文§1】

失效模式先行。2022 年时存在两股互不相通的潮流:CoT 类推理是静态黑箱——模型只用内部表征生成思考链,不接触外部世界,于是产生事实幻觉与错误沿推理链传播(图1(1b));行动类工作(WebGPT、SayCan 等)用 LM 生成领域动作,却不用它做高层规划与工作记忆维护。论文引用 Vygotsky 的"内部言语"理论作为人类侧的动机:人在两个动作之间会用语言追踪进度、处理异常、决定何时查资料。【解读者观点】这是认知科学包装,真正的论证力量来自后面的消融实验,而非这个类比本身。

B. 方法核心:扩充动作空间【来源:论文§2】

标准设定:t 时刻智能体依策略 π(at|ct) 从环境观测 ot∈𝒪 后选动作 at∈𝒜
ReAct:扩充动作空间 Â = 𝒜 ∪ ℒ,其中 ℒ 为语言空间
符号它是什么直觉
at∈𝒜环境动作Search[...]、click[...]、go to fridge 1——改变外部世界,换回观测
ât∈ℒ(thought)自由文本推理不改变环境、无观测反馈,只把上下文更新为 ct+1=(ctt)
ct轨迹上下文(o₁,a₁,…,ot-1,at-1,ot),即模型的"工作记忆"

直觉类比:ReAct 像一个人做菜时自言自语——"菜都切好了,该烧水了""没盐了,用酱油和胡椒顶上""面团怎么发?上网查一下"。类比失效之处:人的自言自语可能真的引发身体反应(手停一下),而 ReAct 的 thought 对环境绝对无副作用;此外人脑不会把全部历史塞进上下文,LM 却会——上下文长度因此成为硬约束(结论章承认这一点)。

两种编排策略:【实验支持】推理为主的任务(HotpotQA/Fever)用稠密思考——每个动作前都有 thought;决策任务(ALFWorld/WebShop)用稀疏思考——只在关键位置出现,由模型自己异步决定。thought 的功能清单(原文列举):分解目标并制定计划、注入常识、从观测中抽取要点、追踪进度并切换子目标、处理异常调整计划。

常见误读①:"ReAct 是一种新模型架构"。错。它是纯 prompt 范式:冻结的 PaLM-540B + 少量 in-context 示例(HotpotQA 6条、Fever 3条),无任何参数更新。原文脚注2明确说更多示例不涨分。

一句话蒸馏:ReAct = 把"说话"也当作一种动作——thought 改上下文不改世界,action 改世界换观测,两者交替即得可解释的任务解决轨迹。

C. Wikipedia API:刻意弱化的动作空间【来源:论文§3.1–§3.2】

三个动作:search[entity] 返回词条前 5 句或相似实体建议;lookup[string] 在当前页面找下一个含该串的句子(模拟 Ctrl+F);finish[answer] 结束。作者特意说明这个检索能力远弱于当时最先进的词法/神经检索器——目的是模拟人类翻维基的方式,强迫模型通过显式语言推理来检索。【解读者观点】这是一个聪明但常被忽视的实验设计选择:它放大了 reasoning 的边际价值,但也意味着 ReAct 的收益部分依赖于"检索器被故意削弱"这一前提——换成现代强检索器后,Act 与 ReAct 的差距未必保持同样幅度。

切换混合策略(§3.2):A) ReAct→CoT-SC:ReAct 步数超限(HotpotQA 设 7 步、Fever 5 步)就退回 CoT-SC;B) CoT-SC→ReAct:21 个采样中多数答案出现次数 < n/2 时退回 ReAct。步数上限的选择依据:正确答案的轨迹中超过这些步数的只占 0.84%(HotpotQA)/1.33%(Fever)。

D. 推理任务结果:一张主表 + 一张失败模式表【来源:论文§3.3,Table 1–2】

Table 1(PaLM-540B)

Prompt方法StandardCoTCoT-SC(21)ActReAct最优组合监督SoTA
HotpotQA EM28.729.433.425.727.435.1(ReAct→CoT-SC)67.5
Fever Acc57.156.360.458.960.964.6(CoT-SC→ReAct)89.5

数字对账与解读:① ReAct 单独在 HotpotQA 上低于 CoT(27.4 vs 29.4),在 Fever 上高于 CoT(60.9 vs 56.3)——摘要里"overcomes hallucination"的说法需要精确化:ReAct 并非全面碾压 CoT;② 最优组合比 CoT-SC 高 1.7(HotpotQA)和 4.2(Fever),且用 3–5 个采样即可达到 CoT-SC 用 21 个采样的水平——组合的真实卖点是采样效率;③ 所有 prompting 方法距监督 SoTA 还有 30 分以上的鸿沟,论文毫不掩饰这一点。

Table 2:200 条人工标注的成功/失败模式(各抽50对)

类型定义ReActCoT
真阳性推理轨迹与事实均正确94%86%
假阳性轨迹含幻觉但答案碰巧对6%14%
推理错误推理链错(含无法跳出重复循环)47%16%
检索失败搜索空结果或无信息23%-
幻觉幻觉出轨迹或事实0%56%
标签歧义预测合理但不匹配标签29%28%

三条关键观察(均为原文结论):A) CoT 幻觉严重——56% 的失败源于幻觉、假阳性率 14%,ReAct 分别为 0% 与 6%;B) 但结构约束降低了推理灵活性——ReAct 的失败里 47% 是推理错误(含一种特有模式:反复生成之前的 thought/action 跳不出循环,作者怀疑与贪心解码有关);C) 检索失败占 ReAct 错误的 23%。【解读者观点】这张表才是本文最有价值的产出:它第一次把"接地性 vs 推理灵活性"这对 trade-off 定量化,也为后来"Agent 必须配好检索器和重试机制"埋下伏笔。

微调结果(Figure 3):用 3000 条 ReAct 自产的正确轨迹 bootstrap 微调 PaLM-8/62B 后,ReAct 反超其他三方法——PaLM-8B 微调版胜过所有 PaLM-62B prompting 版,PaLM-62B 微调版胜过所有 540B prompting 版。原因分析:Standard/CoT 的微调本质是教模型背(可能幻觉的)知识,ReAct/Act 教的是"如何去维基查",后者更可泛化。【论文声称+小样本证据】注意仅 HotpotQA 一个任务、3000 条数据,外推需谨慎。

常见误读②:"ReAct 比 CoT 好"。原文数据不支持这个笼统说法:单独使用时各有胜负,正确的表述是"组合内部知识与外部知识的方法最好"。

E. 决策任务:少样本打败十万条专家轨迹【来源:论文§4,Table 3–4】

ALFWorld(134 个 unseen 游戏,6 种任务):每类任务仅 3 条人工标注轨迹构造 prompt(2 条进 prompt、6 种排列取 best-of-6)。结果:

方法训练数据量总体成功率
BUTLER(模仿学习)每任务 ~10⁵ 专家轨迹37% (best of 8)
Act(best of 6)0(纯prompt)45%
ReAct(avg / best of 6)0(纯prompt)57% / 71%
ReAct-IM(IM式密集反馈)048 / 53

ReAct 对 Act 的相对增益在六次对照试验中稳定在 33%–90%,平均 62%;连最差的 ReAct 试验(48%)都超过 Act 和 BUTLER 的最好成绩。摘要中的 "+34%" 即 71−37。

WebShop(118 万真实商品、500 条测试指令):ReAct 得分 66.6 / 成功率 40.0%,对比 IL 59.9/29.1%、IL+RL 62.4/28.7%、one-shot Act 62.3/30.1%;人类专家 82.1/59.6%。"+10%" 即成功率 40.0 vs 之前最佳 29~30。【实验支持】注意 IL+RL 用了 10,587 条训练指令,ReAct 只用 1 条示例。

IM 消融的价值:ReAct-IM 把 thought 限制为"复述环境状态+当前待办"的密集外部反馈,结果全面劣于 ReAct(53 vs 71)。定性观察:IM 式思考分不清子目标何时完成、不知道下一个子目标是什么、缺乏"台灯大概率在桌子上"这类常识定位。这证明起作用的不是"有 thought",而是 thought 里装的内容类型——高层分解与常识推理,而非对外部反馈的机械复述。

常见误读③:"few-shot 打败 RL 说明 prompt 优于训练"。同域比较才成立:BUTLER 是 2020 年的模仿学习智能体,且 Micheli & Fleuret 用 GPT-2 微调 3553 实例也能大幅超过 BUTLER(脚注7)——真正的主角是大模型预训练先验,不是"prompting vs training"的对立。

闭卷自检:我能说出 thought 与 action 在形式化定义上的唯一区别吗?能报出 ReAct 在四个基准上的关键数字吗?能解释 ReAct 为什么在 HotpotQA 上输给 CoT 吗?

F. 可解释性、可控性与安全声明【来源:论文§2特性D、附录A.3、Ethics Statement】

人在环路实验(附录A.3):ALFWorld 中一条因幻觉 thought 而失败的轨迹,人工只编辑两句 thought 就让它转败为胜——从"替模型打几十个动作"降为"改两句话"。【论文声称】这种在线行为修正对 Act/RL 方法很难做到。伦理声明坦承风险:接上动作空间的 LM 可能查询不当信息或在环境中执行有害操作;本文靠限定 Wikipedia/WebShop 白名单、动作空间不含危险操作来兜底。【解读者观点】这段在今天读来颇具预言性——它就是后来 Agent 安全议程的原点之一。

三、批判性阅读

3.1 benchmark 到底测什么

HotpotQA EM 是严格字符串匹配的多跳问答——标签过时问题真实存在(附录A.2 给出酒店规模随时间变化的例子,只有 ReAct 因联网答对却被判错);FEVER 三分类验证对措辞极其敏感,SUPPORTS/REFUTES 可能只差一个细节,这正是 ReAct 在此占优的结构性原因;ALFWorld 是合成环境,常识先验恰好匹配 LLM 预训练分布;WebShop 的 Score 是属性覆盖率,SR 是全满足率——两个指标要一起看。

3.2 比较公平吗

3.3 第二坐标轴:成本

ReAct 的代价常被忽略:每步都要把整段轨迹重新喂给模型(上下文随步数线性增长)、多轮串行延迟、以及 21 采样的 CoT-SC 组合成本。组合方法"3–5 采样达到 CoT-SC 21 采样水平"正是作者对这条坐标轴的正面回应。【解读者补充】后来的 Agent 产品普遍发现 token 成本是 ReAct 式系统的首要运营瓶颈。

3.4 论文没有告诉你什么

声明:以上所有数字仅复述自论文原文,未经外部验证。

四、综合考核

4.1 重建因果链

仅从"CoT 有幻觉、Act 无推理、PaLM-540B 冻结、示例最多 6 条"四个事实出发,推演论文为什么必须设计:弱检索 API、稠密/稀疏两种编排、以及 ReAct↔CoT-SC 切换规则。

参考答案(4要点)

①幻觉来自闭卷 ⇒ 必须给外部知识通道 ⇒ 设计 Wikipedia API;②要证明"推理指导行动"的因果方向 ⇒ 检索必须足够难,使盲目行动失效 ⇒ 故意弱化检索器;③推理型任务步数少可逐步想(稠密),长程任务想太多反而挤爆上下文 ⇒ 稀疏编排;④ReAct 接地但欠灵活、CoT 灵活但会幻觉 ⇒ 各有所长 ⇒ 按步数超限/多数票置信度互相兜底的切换规则。每点 2.5 分。

4.2 数字总对账(4 组)

①摘要 "+34%":71−37(ALFWorld,ReAct best vs BUTLER best);②摘要 "+10%":40.0−29.1≈10.9(WebShop SR,vs IL);③步数上限 7/5 的依据:0.84%/1.33%;④"平均相对增益 62%"与 33%–90% 区间是否自洽(六次试验的均值应落在此区间内)。

对账答案

①②③均可由正文数字复原 ✓;④62% 落在 [33,90] 内 ✓。注意①的口径是"绝对成功率差"且双方都取 best-of-N,属于对双方最有利的口径;②严格说是 40.0−28.7(IL+RL)=11.3 或 40.0−29.1(IL)=10.9,摘要取整为 10,无实质问题但应知道分母口径。

4.3 设计决策答辩(3 题)

4.4 证据审计(回看 1.2 预评)

贡献1维持强证据;贡献2维持——人工分析质量高但样本仅 200 条且由利益相关方标注;贡献3维持——组合优势在两个任务成立、规则是手工启发式;贡献4读后略降:单域+自举数据使"更可泛化"的论断证据不足;贡献5维持:IM 消融设计干净(同一批轨迹重标注、受控对比),是全文最漂亮的实验。

4.5 自测题(四级题型)

  1. L1 直接应用写出 ReAct 扩充后的动作空间表达式,并指出 thought 与普通 action 的两点区别。
    标准答案

    Â=𝒜∪ℒ。区别:①thought 不改变外部环境,因此没有观测反馈;②thought 的作用是把上下文 ct 更新为 (ctt) 以支持后续推理/行动。

  2. L1 直接应用Wikipedia API 的 search 动作返回什么?lookup 模拟的是什么操作?
    标准答案

    search[entity] 返回词条页面前 5 句(不存在则给出 top-5 相似实体建议);lookup[string] 模拟浏览器 Ctrl+F,返回页面中下一处包含该串的句子。

  3. L2 迁移Fever 上 ReAct 明显赢 CoT,HotpotQA 上却小输。请用 Table 2 的失败模式分布解释这一不对称。
    参考答案

    Fever 的 SUPPORTS/REFUTES 往往只差一个具体细节(如"太平洋还是大西洋"、"哪一年"),闭卷的 CoT 极易在细节上幻觉(其失败 56% 是幻觉),而 ReAct 可以 lookup 核实——幻觉敏感型任务利好接地。HotpotQA 则更吃多跳推理结构的灵活性,ReAct 的结构约束使其推理错误率达 47%(CoT 仅 16%)外加 23% 检索失败,抵消了接地优势。评分要点:任务性质×失败模式的匹配分析各 5 分。

  4. L3 构造反例"加 thought 一定有用。"请基于论文自身的证据构造至少一个反例,并指出起作用的到底是什么。
    参考答案

    反例:ReAct-IM 同样加了 thought(还是密集的),ALFWorld 总体成功率 53 显著低于 ReAct 的 71,五/六个任务落后。说明 thought 的内容类型才是关键:需要高层目标分解、子目标完成判断与常识定位;机械复述外部反馈的 thought 不仅无用还会挤占上下文。评分:给出 IM 反例 6 分、提炼"内容类型>有无 thought" 4 分。

  5. L4 综合综合全文:如果把 ReAct 的 Wikipedia API 换成一个接近 SoTA 的神经检索器,预测 Table 1/2 中哪些数字会怎么移动,哪些结论会动摇、哪些依然稳固?给出理由。
    参考答案与评分标准

    预测:①Act 会明显变强(它缺的是"怎么搜"之外的执行,强检索器降低了对推理引导检索的依赖),ReAct−Act 差距收窄(4分);②Table 2 中 23% 的"检索失败"错误大幅下降,ReAct 绝对分数上升(4分);③CoT 的幻觉问题与检索器无关,"ReAct 更接地"的定性结论稳固(4分);④"推理灵活性受限导致推理错误 47%"不受影响甚至可能更显眼(4分);⑤能指出原文故意弱化检索器是为了放大 reasoning 边际价值、故部分收益依赖此前提(4分)。开放题,按要点给分,建议交由 LLM 裁判按上述要点打分。