ReGRPO: Reflection-Augmented Policy Optimization for Tool-Using Agents¶
会议: ECCV 2026
论文: ECCV 原文
代码: https://github.com/showlab/ReGRPO
领域: 多模态 VLM
关键词: 多模态智能体、工具调用、自我反思、强化学习、GRPO
一句话总结¶
针对多模态 VLM 智能体在长程工具调用中遭遇失败即崩溃、且缺乏定位修复信号的问题,ReGRPO 构建结构化反思数据引擎并结合组相对策略优化(GRPO),在局部轨迹中联合优化反思标记与纠正动作,在零验证器单路径推理下显著提升了多模态工具调用的鲁棒性与成功率。
研究背景与动机¶
随着多模态大语言模型(VLM)的发展,借助网络搜索、OCR、表格解析、PDF 解析器与代码执行等外部工具,智能体能够解决复杂的跨模态长程任务。然而,现有多模态工具智能体在实际部署中展现出极高的脆弱性。主流方法(如 MAT-AGENT)主要依赖于在合成任务上执行工具所收集的成功轨迹进行监督微调(SFT)。这种模式使得控制器极度依赖完美的专家示范,一旦在推理阶段遇到分布偏移(例如全新的 PDF 排版格式或模糊收据图片)导致单步工具调用失误,模型就完全没有学过如何在出错后进行局部恢复,往往导致错误连锁级联。
另一方面,虽然部分工作尝试引入强化学习或无标签自探索(如 SPORT),但在长程多步骤工具交互中,传统的强化学习仅依赖任务最终成功与否的稀疏标量奖励。当智能体历经裁剪错位、OCR 结果为空、最终回答错误这一连串调用后,得到一个 0 分的失败奖励,并不能向策略指明究竟是哪一步决策、哪个调用参数出了错,更无法提供如何修正的有效梯度。同时,测试期反思机制(如 Reflexion)通常仅被当作固定的提示词启发式策略或依赖外部多轮试错,缺乏将反思与纠正能力参数化内化到策略模型本身的方法。
因此,多模态工具智能体亟需一种能够将诊断性反思作为显式决策变量联合优化的强化学习框架。核心 idea:将工具调用中的执行失败转化为包含错误类型、具象证据与修复计划的结构化反思三元组(RoT),并在局部轨迹中利用组相对策略优化(GRPO)联合优化反思标记与纠正动作,配合轻量置信度触发实现零验证器的确定性单路径自纠错。
方法详解¶
整体框架¶
ReGRPO 涵盖三个核心阶段:结构化反思数据引擎离线构建、反思增强型组相对策略优化(ReGRPO)训练、以及推理期的零验证器确定性单路径执行。首先,数据引擎对成功轨迹进行受控扰动,在沙盒中执行近失动作以获取真实的失败观测,并借助教师模型生成标准化的思考反思三元组(Reflection-of-Thought, RoT),用于有监督微调(SFT)热身初始化;接着,在策略优化阶段,智能体针对同一环境状态采样候选局部轨迹组,在局部轨迹中将反思标记纳入生成似然,通过组内相对优势联合更新反思与纠正动作,同时施加反思长度惩罚;最终,在部署阶段无需调用昂贵的外部验证器,依靠环境硬报错与动作输出置信度自适应阈值触发局部修复。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
A["任务输入 (Query, Files)"] --> B["1. 结构化反思数据引擎<br/>近失动作注入→真实报错→生成RoT三元组"]
B --> C["SFT 预热初始化<br/>最大化似然:错误诊断与修正动作"]
C --> D["2. 反思增强型局部策略优化<br/>采样K条局部候选轨迹并联合计算组相对优势"]
D --> E["反思代价惩罚与奖励计算<br/>平衡任务执行成功与反思Token冗长度"]
E --> F["3. 零验证器确定性单路径推理<br/>运行错误/空观测/动作置信度低于阈值动态触发"]
F -->|无异常| G["单次直接执行输出结果"]
F -->|触发修复| H["局部反思纠错单次循环<br/>a(0)→o(0)→z→a(1)→o(1)"]
H --> G
关键设计¶
1. 结构化反思数据引擎:将执行失败转化为具象修复三元组 以往轨迹微调只包含成功样本,导致智能体对执行失败零免疫,而随意丢弃失败轨迹又无法提供因果信号。该引擎以基线轨迹中的正确单步动作为基础,通过主动扰动工具类型或参数(如微调边界框、选择邻近表格列、调用错配算子)合成高仿真的“近失动作”(near-miss actions)。在真实沙盒中运行这些动作,获得真实的失败观测(如 API 抛错、OCR 返回空文本、裁剪出无关区域)。随后引入教师 VLM(默认 GPT-4o)在失败上下文下生成严格受限的思考反思(RoT)三元组 \(z_i=(\text{ErrorType}, \text{Evidence}, \text{FixPlan})\):其中 ErrorType 为故障分类(如工具错配、参数非法、视觉定位漂移、信息不足);Evidence 强制绑定触发错误的具体文本或视觉观察,杜绝模型产生无根据的幻觉借口;FixPlan 则提供具象的自然语言纠错策略。最后将原始正确动作作为纠正目标拼接,形成完整的错误-反思-修正监督数据进行 SFT 预热。
2. 反思增强型局部策略优化:反思标记与纠正动作的联合 GRPO 单纯 SFT 容易限制在固定的人工构造模式下,而传统 PPO 或 DPO 在长程工具调用中无法将反思过程建模为决策变量,稀疏奖励更难以定位错误发生点。ReGRPO 采用组相对策略优化(GRPO),针对状态 \(x_i\) 采样 \(K\) 条候选局部轨迹组 \(\{\tau_i^{(k)}\}_{k=1}^K\)。若首发动作 \(a_i^{(0)}\) 成功则直接终止,若遇到错误或低一致性则生成反思 \(z_i\) 并执行纠正动作 \(a_i^{(1)}\)。复合奖励函数综合环境执行成功反馈、反思长度开销惩罚以及训练期可选的元数据确定性验证分: $\(R(\tau) = \lambda_{\text{exec}} \mathbf{1}_{\{\text{success}\}} - \eta C(\tau) + \lambda_{\text{val}} V(x_i, \tau)\)$ 其中 \(C(\tau)\) 为反思标记长度惩罚(单次成功时为 0),系数 \(\eta\) 迫使模型仅在预期收益大于标记消耗时才进行反思。在采样组内计算均值基线后,组相对优势 \(A_i^{(k)} = R(\tau_i^{(k)}) - \bar{R}_i\) 直接作用于整条轨迹的联合似然 \(\log \pi_\theta(\tau_i^{(k)} | x_i)\) 上。由于反思标记 \(z_i\) 的条件生成概率被显式因子化分解在轨迹似然中,相对优势信号不仅指导纠正动作,更直接反向调整反思标记的生成质量,使模型学会在最恰当的时机以最精炼的表述完成故障诊断。
3. 零验证器确定性单路径推理:轻量置信度自适应门控 推理时如果频繁调用昂贵的外部判定器或采用多候选束搜索,会造成巨大的延迟与算力开销。ReGRPO 采用单路径执行架构,仅在检测到故障证据时开启最多一次局部反思纠正块 \(a_i^{(0)} \to o_i^{(0)} \to z_i \to a_i^{(1)} \to o_i^{(1)}\)。门控触发器 \(g_i\) 结合显式报错与模型内部不确定性: $\(g_i = \mathbf{1}_{\{\text{ToolError}(\hat{o}_i) \lor \text{EmptyObs}(\hat{o}_i) \lor u_i < \kappa_i\}}\)$ 其中动作预测置信度 \(u_i = \exp(\frac{1}{|a_i^{(0)}|} \sum_j \log \pi_\theta(a_{i,j}^{(0)} | x_i, h_i))\)。为避免为每个工具分别调优固定阈值,动态阈值 \(\kappa_i = \frac{1}{\max(1, i-1)} \sum_{j=1}^{i-1} u_j\) 根据当前轨迹前序步骤的平均置信度在线自适应更新。该机制能够在不增加额外验证调用的前提下,精准捕捉如“裁剪偏移导致工具未报错但返回了无关画面”之类的静默失败。
一个完整示例¶
论文图 4 展示了一个典型的视觉定位漂移(GroundingDrift)纠错案例:
- 用户指令与输入:给定一张包含果汁杯、砧板、切片香蕉和刀具的图片,询问“这杯奶昔含有多少卡路里?”
- 首发动作与静默失败:智能体第一步调用视觉问答工具 visualizer(q="fruits/utensils on the table"),工具正常返回了砧板、香蕉和刀具的描述,并未触发任何 API 错误;但由于描述中完全没有提及目标奶昔,模型前向动作预测置信度骤降,满足 \(u_i < \kappa_i\),门控置 \(g_i = 1\)。
- 局部反思生成:模型生成严格的 RoT 三元组:ErrorType=GroundingDrift,Evidence="wooden cutting board with a sliced banana, a knife",FixPlan="refocus from the table/cutting board to the smoothie glass and ask about its contents"。
- 纠正动作与成功收敛:模型立即执行修正动作 visualizer(q="ingredients in this smoothie"),准确识别出奶昔原料并输出最终卡路里估算;相比之下,无纠错基线只能基于砧板上的无关物品强行推测导致答错。
损失函数 / 训练策略¶
训练采用两阶段方案:第一阶段在 RoT 数据集上执行 SFT 预热,最大化反思三元组与校正动作的条件对数似然 \(\mathcal{L}_{\text{SFT}} = -\mathbb{E}[\log P_\theta(z_i, a_i^* | x_i, a_i^{\text{fail}}, o_i^{\text{fail}})]\);第二阶段采用 LoRA(rank=32,作用于全部自注意力 Q, K, V 投影层)微调 Qwen2-VL-7B 骨干网络(冻结视觉编码器与视觉标记压缩器),在离线与自探索轨迹组上联合执行 ReGRPO 优化: $\(\mathcal{L}_{\text{ReGRPO}} = -\mathbb{E}_{x_i, \tau \sim \pi_\theta} \left[ \frac{1}{K} \sum_{k=1}^K A_i^{(k)} \log \pi_\theta(\tau_i^{(k)} | x_i) \right] + \beta D_{\text{KL}}(\pi_\theta \parallel \pi_{\text{ref}})\)$ 超参数采用 \(\lambda_{\text{exec}}=1.0\)、反思开销惩罚 \(\eta=0.1\)、KL 惩罚系数 \(\beta\) 及默认无需外部验证器的 \(\lambda_{\text{val}}=0\)。优化器采用 AdamW,基础学习率为 \(1.0 \times 10^{-6}\),搭配余弦退火学习率调度。
实验关键数据¶
主实验¶
在多模态视觉工具基准 GTA(229 项任务)与多模态文档长程基准 GAIA(446 项任务)上,与主流专有闭源模型及同等尺寸开源控制器进行对比,均在单路径零验证器协议下测试:
| 方法 | 控制器骨干 | GTA ToolAcc | GTA CodeExec | GTA AnsAcc | GAIA L1 | GAIA L2 | GAIA L3 | GAIA AnsAcc |
|---|---|---|---|---|---|---|---|---|
| Lego Agent | GPT-4 | - | - | 46.59 | - | - | - | - |
| Lego Agent | GPT-4o | - | - | 41.52 | - | - | - | - |
| HF Agent | GPT-4o | 63.41 | 95.12 | 57.05 | 47.17 | 31.40 | 11.54 | 33.40 |
| HF Agent | Qwen2-VL-7B | 44.85 | 65.19 | 42.31 | 16.98 | 8.14 | 0.00 | 9.70 |
| T3-Agent (MAT) | MAT-Qwen2-VL-7B | 64.63 | 84.32 | 53.85 | 26.42 | 15.12 | 3.84 | 16.97 |
| SPORT Agent | Tuned-Qwen2-VL-7B | 72.41 | 91.87 | 60.26 | 35.85 | 16.28 | 3.84 | 20.61 |
| ReGRPO (默认, \(\lambda_{\text{val}}=0\)) | MAT-Qwen2-VL-7B | 76.35 | 93.77 | 67.66 | 39.02 | 18.71 | 4.89 | 23.35 |
消融实验¶
在相同的 Qwen2-VL-7B 骨干与工具套件下,逐步验证数据引擎、强化学习算法与反思建模策略的独立贡献:
| 配置 / 阶段 | 训练数据 | 优化方法 | 显式反思 | GTA ToolAcc | GTA CodeExec | GTA AnsAcc | GAIA AnsAcc | 说明 |
|---|---|---|---|---|---|---|---|---|
| MAT-AGENT 基线 | MM-Traj | - | - | 64.63 | 84.32 | 53.85 | 16.97 | 仅成功轨迹 SFT |
| + RoT (SFT 预热) | RoT | - | ✓ | 68.73 | 87.92 | 58.59 | 19.03 | 加入反思三元组监督 (+4.74 GTA) |
| + 可选验证器蒸馏 | RoT | - | ✓ | 69.84 | 88.41 | 59.72 | 19.84 | 引入元数据子评分微调,无 RL |
| GRPO-only (无反思) | MM-Traj | GRPO | - | 71.34 | 90.23 | 64.51 | 18.92 | 仅对动作执行 GRPO,无反思变量 |
| GRPO + 自由文本反思 | RoT | GRPO | ✓ | 73.05 | 91.02 | 65.34 | 21.38 | 允许非结构化反思文字 |
| ReGRPO 核心 (默认, \(\lambda_{\text{val}}=0\)) | RoT | ReGRPO | ✓ | 76.35 | 93.77 | 67.66 | 23.35 | 结构化反思 + 联合策略优化 |
| + 可选验证器奖励 (\(\lambda_{\text{val}}>0\)) | RoT | ReGRPO | ✓ | 77.26 | 94.91 | 68.49 | 24.01 | 训练期元数据确定性打分额外塑形 |
关键发现¶
- 结构化反思在策略优化中不可替代:在加入 GRPO 后,相比无反思的动作级 RL(GRPO-only),引入结构化反思的 ReGRPO 核心版在 GTA 和 GAIA 上的最终回答准确率分别大幅跃升 +3.15% 与 +4.43%;若反思采用自由格式文本,性能明显不及结构化三元组,证明严格的 (ErrorType, Evidence, FixPlan) 约束有效防止了反思过程中的借口幻觉与无效发散。
- SFT 预热与 RL 展现出互补效应:RoT SFT 为智能体提供了基础的错误诊断与恢复先验(GTA AnsAcc 由 53.85% 升至 58.59%),而后续的局部 ReGRPO 进一步挖掘了模型面对复杂未见错误的自纠偏能力,最终将准确率推升至 67.66%。
- 验证器为可选的增益项而非核心依赖:即使将验证器权重设为 0(完全无需任何模型或显式验证分介入),ReGRPO 依然取得了开源模型中最强的表现;加入基于元数据规则的训练期验证奖励仅带来微弱的附加收益(GTA +0.83%),证实核心收益来源于联合优化与反思代价控制机制。
亮点与洞察¶
- 将反思内化为决策变量而非测试期提示:不同于以往将反思视为依赖多轮交互的外部 Prompt 技巧(如 Reflexion),ReGRPO 通过在强化学习中将反思标记显式建模在轨迹似然内,直接通过相对优势梯度反传优化反思生成质量。
- 置信度自适应单路径低开销设计:结合报错检测与动作序列内部对数概率滑动均值阈值,仅在静默或硬性失败时开启单个反思纠错步骤,完全摆脱了验证器调用与分支搜索开销。
- 可复用的通用错误合成思路:针对多模态长程任务成功样本丰富但失败恢复数据稀缺的难题,通过对参数轻微扰动并在真实沙盒中收集反馈来逆向生成高质量诊断数据的机制,可直接迁移至各类 GUI 智能体与代码智能体训练中。
局限与展望¶
- 作者承认的局限:在极端复杂的三级难度长程任务上(如 GAIA Level 3),单次反思-纠偏循环的成功率依然有限,当前 4.89% 的准确率表明多步复合逻辑错误仍需更深度的分层规划。
- 自身观察与潜在盲点:置信度门控依赖模型内部的生成概率,当模型对错误动作表现出高度自信(即过度自信的错位输出)时,静默失败将无法被有效触发;此外反思数据生成依赖于强闭源教师(GPT-4o)的离线蒸馏。
- 后续改进方向:可探索将多次反思尝试的分层调度机制与环境轻量级重放相结合,并在弱模型上研究自举生成高质量反思三元组的可行性。
相关工作与启发¶
- vs MAT-AGENT [5]: MAT-AGENT 开创性地合成了大规模多模态工具微调轨迹(MM-Traj),但仅限于成功轨迹的 SFT,一旦调用偏离便无从恢复;ReGRPO 在其基础上构建扰动注入引擎获取真实失败,并提出联合强化学习框架,大幅拓展了抗干扰能力。
- vs SPORT [9]: SPORT 采用迭代自探索与逐步偏好调优构建偏好对,但过程缺乏结构化显式解释与反思链;ReGRPO 显式引入 RoT 三元组与 GRPO 轨迹优化,不仅可解释性更强,还在相同骨干下实现了显著的性能超越。
- vs Reflexion [22]: Reflexion 将反思作为推理期的外部语言提示循环,依赖多轮试错与记忆模块;ReGRPO 则将反思内化为模型自身的策略参数,推理期无需外部验证器、单路径即可完成自纠错。
评分¶
- 新颖性: ⭐⭐⭐⭐☆ 首次将结构化反思三元组作为决策变量纳入 GRPO 进行端到端优化,思路精巧自洽。
- 实验充分度: ⭐⭐⭐⭐⭐ 在 GTA 与 GAIA 两个硬核基准上对比了丰富的开源/闭源基线,消融实验设计完备扎实。
- 写作质量: ⭐⭐⭐⭐⭐ 逻辑严密,图文对照极佳,对失败机制与门控原理剖析透彻。
- 价值: ⭐⭐⭐⭐⭐ 为多模态 Agent 走出“成功轨迹过拟合”与“长程强化学习信用分配难”的双重困境提供了高复用性的落地范式。