CAFE: Self-Improving Search Agents Need Co-Evolving Feedback 精读

论文链接:arXiv:24794 发表时间:2026年8月 机构:复旦大学(计算机学院)+ 腾讯 LLM 部门——产学研合作:高校一作团队负责方法与实验,腾讯提供工程资源与共同作者,属"高校学生 + 企业合著"模式 领域标签:cs.AI / cs.CL(RL 训练搜索智能体 / 自我改进 / 信用分配)

一、论文背景

搜索智能体(Search Agent)是什么? 回答知识密集型问题时不断与搜索引擎交互的 agent:发查询、读证据、修正行为。早期 RAG 管线的检索时机是固定的(预定推理阶段或手工触发条件);现在的"结果监督"搜索 agent(Search-R1 一类)从最终任务奖励里学何时搜、搜什么。

核心困境——终端奖励的"三不":长程搜索中一个早期方向性错误得不到即时纠正信号,其代价沿轨迹复利传播;而且失败原因事后难定位——agent 可能在后续步骤悄悄丢掉某约束、留下子目标未探、或反复换措辞重查同一信息。终端奖励不定位中途错误、不在错误复利前重定向轨迹、不区分好坏前缀。近期的细粒度信号(信息增益、置信度变化、局部状态比较)仍是评估性而非指令性的——它们事后记账,把纠正推迟到下一次策略更新。要在当前轨迹内纠偏,需要能诊断"搜索在哪里漂了、接下来该试什么"的上下文内反馈。

把反馈做成可学习干预的三个纠缠难题:①agent 侧——必须学会何时请求干预,且学习目标要回答"被救援成功的轨迹该强化什么行为"(被救轨迹与完美轨迹奖励相同,但二者该强化的东西截然不同);②critic 侧——反馈要无真值学习,奖励同时被前缀搜索与后续动作混淆;③两者之间——在线更新改变 agent 访问的状态与失败分布,静态 critic 会与进化中的策略失配。现有的上下文内反馈方法(Reflexion、Self-Refine、CRITIC)是提示式的、事后给出的,未训练;ECHO 共演 policy 与 critic 但 critic 只在轨迹完成后调用——错误已经复利完了。

二、论文定位和关联工作

谱系代表核心思想与 CAFE 的关键区别
结果监督搜索 agentSearch-R1、R-Search、IGPO从终端奖励学何时/如何搜无轨迹内干预,中途错误只能等下次更新
上下文内反馈Reflexion、Self-Refine、CRITIC、ReSeek、WebSeer自然语言批评/自我修正提示式而非训练的;WebSeer 仅在提交答案后触发;多数为事后
共演 policy-criticECHO分离的 policy 与 critic 共同演化critic 仅轨迹完成后调用,无法中途重定向
自进化 agentSelf-Rewarding、EvoLM、Retroformer、EvolveSearch经验更新任务策略或监督信号优化改进环的不同部件;CAFE 研究两个时间尺度上的耦合

定位结论:CAFE 位于"搜索 agent 的 RL 训练"与"自我进化系统"的交叉点,独有贡献是把反馈定位在轨迹内且与策略共同演化。

三、问题定义

具体场景:agent 与搜索环境交互产出轨迹 τ_i 与二值结果 r_i。增强动作空间加入可选的 <request_feedback> 动作;请求时由 critic 基于当前轨迹生成反馈 f_i,t(诊断漂移+建议下一步),追加进上下文后 agent 继续跑。

核心洞察——“行动"与"批评"是耦合学习系统:agent 学会请求/使用反馈的同时,它访问的状态与失败分布随之改变;critic 的反馈改变 agent 能从哪些失败中恢复,进而改变驱动后续学习的轨迹。任何一侧单独训练都会因另一侧的漂移而失配。 类比:新员工(agent)与导师(critic)——员工成长后遇到的困难变了,若导师还停留在讲解"入职级"错误,指导就失效;导师必须跟着员工的成长更新教案。

形式化:共享参数 θ 的模型以角色条件化分饰两角 a ~ π_A^θ(·|h)、f ~ q_C^θ(·|h)。求交替更新序列使任务期望回报最大:在线段用 CFE 塑形的奖励做 RL 更新 agent 角色,离线段用最新 rollout 挖掘的偏好对做 DPO 更新 critic 角色,两者更新同一个全模型检查点(θ_{k+1/2} → θ_{k+1}),下一轮在线采样自 θ_{k+1}。约束:反馈 token 与观测 token 不进策略损失;无反馈真值标注。

四、问题解法

4.1 冷启动:反馈条件化的恢复 SFT

不是用教师生成理想轨迹替换失败轨迹,而是保留基础 agent 自己的错误前缀:收集失败 rollout → 教师模型(Kimi-K2.5)定位最早出错/停滞的轮次 → 保留该前缀、插入 <request_feedback>、教师生成纠正反馈与反馈条件化的成功续跑 → 只保留最终答对的"修复轨迹”。这些轨迹在 agent 自己策略真正访问的状态上教会它请求、生成、使用反馈——这是后续 RL 能起步的关键(也埋下了 4.2 优势塑形必须处理的"前缀已错"结构)。

4.2 在线:CFE 奖励 + 反馈感知优势塑形

比较反馈估计(CFE):按 GRPO 采样组,把请求过反馈的 rollout 归为 call 组、没请求的归为 skip 组,两组经验成功率差 û(x) 即反馈效用的提示级估计。总奖励 R = r_task(答案对错)+ β·C_i·u_i(请求反馈且组内证据支持)− γ·[n_fb−1]₊(重复请求惩罚)。

反馈感知优势塑形:关键观察——GRPO 给整条 rollout 同一个归一化优势 A_i,被救轨迹的"导致跑偏的前缀"与"完成修复的续段"获得同样奖励;而由于 SFT 初始化的结构,请求往往紧跟已经出错的行为,一起强化等于奖励"agent 刚刚不得不放弃的行为"。解法:把请求 rollout 的可训练 token 按首次请求切成 T_pre / T_call / T_post 三段,在 A_i>0 且 g_i>0(裁剪后的组级效用)时:前缀降权 max(A−λg, 0)、请求轮不变、续段升权 A+λg。观测与反馈 token 除外。CFE 决定"跨轨迹——何时请求值得",塑形决定"轨迹内——成功该记谁头上"。

4.3 离线:RDPO 与交替共演

结果引导的偏好过滤:环境只给最终答案打分,如何判断"反馈本身"好不好?把第 k 轮最新 rollout 按提示分组,配对"请求过反馈的成功 rollout"与"失败 rollout",经结构过滤(首次请求时历史相似、反馈长度相当)后,以成功轨迹的历史为共享上下文,其反馈 f⁺ 为 chosen、配对失败的 f⁻ 为 rejected——前缀匹配剥离了"搜索前缀与后续动作"对结果的混淆。

RDPO(Rollout-Derived DPO):对上述偏好对做 DPO 更新。对比 RSFT(同管道但只用成功反馈做极大似然):正样本噪声大(轨迹可能靠前缀/运气成功而反馈无用),相对目标还天然锚定在线检查点,适配共享模型。调度:每轮 100 步在线 RL × 1 次 RDPO,共 5 轮(消融确认为最优调度)。

五、评估指标与实验证据

指标:EM(精确匹配)与 token 级 F1;答案级幻觉率(答案含至少一条未被轨迹中检索证据支持的事实断言即记幻觉)。基准:7 个 agentic SearchQA——2WikiMultihopQA 为唯一 in-domain,HotpotQA/MuSiQue/PopQA/TriviaQA/Bamboogle/NQ 六个 OOD;另测 BrowseComp-Plus 深研场景。骨干 Qwen2.5-7B/3B-Instruct。

主结果(表1,7B 平均):

方法EMF1
GPT-5-Mini(闭源提示)50.760.4
Qwen2.5-72B-Instruct47.957.2
Search-R147.756.8
IGPO(最强 RL 基线,自 SFT 复现)50.459.4
骨干 Qwen2.5-7B38.147.9
+ SFT(反馈增强)40.850.1
+ SFT + GRPO49.758.0
+ SFT + CAFE52.560.7

7B 模型平均 EM 超过 GPT-5-Mini(50.7)、Gemini-2.5-Flash(50.5)、Qwen2.5-72B(47.9)等更大模型;对比同 SFT 起点的 GRPO,7 个基准(含全部 6 个 OOD)双双提升;对比 Search-R1,四个多跳基准平均 +7.4 EM,而三个单跳仅 +1.3——符合"中途纠错影响后续多跳"的机制预测(多跳的错误会污染后续检索步,单跳没有后续步可救)。3B 规模 48.8/57.4 同样胜现有 3B 基线。

组件消融(平均 EM/F1):

配置EMF1
GRPO 基线(无 CFE 无塑形)49.758.0
+ CFE50.858.4
+ 优势塑形51.259.4
+ 两者51.960.3
完整 CAFE(+RDPO 交替)52.560.7

RDPO 对 RSFT 的优势在匹配五轮调度下逐基准成立;幻觉率:base 29.9% → GRPO 17.6% → CAFE 12.6%,每个基准都在降(NQ −10.8pp、MuSiQue −9.4pp 最大)。

共演的直接证据(最关键实验):2Wiki 上五轮单向控制——feedback-only 67.7→71.3;agent-only(配冻结 SFT critic)峰值 84.2 收于 83.6;交替 86.6(+3.0)。交叉对弈矩阵:第 3–5 轮起每个 agent 与同代 critic 配对最优;固定末代 agent、把 SFT critic 换成第 5 代 critic,EM 80.6→84.0、F1 86.6→89.2——而末代 critic 对早期 agent 并非普遍最优,证明增益来自与策略演化中失败分布的对齐而非 critic 单方面变强。优势塑形的动态验证:早期前后段优势分布相近,后期前缀优势聚集零附近、续段移向正模——信用按预期被分离。

六、效果优势的根源解释

对比对象:GRPO(同 SFT 起点)曾是有效的——结果奖励确实教会了搜索行为;IGPO 等细粒度信号方法也曾有效——它们细化了中间步骤的记账。它们共同的局限在于反馈要么缺位要么错位。

链 1:信用分配——救援边界的两侧该奖谁? 终端奖励把被救轨迹与完美轨迹等价。CAFE 的塑形在请求边界切开信用:前缀拿 max(A−λg,0)(跑偏行为即使在成功轨迹里也不再被强化),续段拿 A+λg(修复行为被放大)。机制证据:后期训练中前缀优势质量聚集到零、续段移向正模(图2b/2c)。方法差异(按请求边界分段塑形)→ 错误前缀不再被成功"洗白" → agent 学到的是"从错误中恢复"而非"带着错误也行"。 单加塑形 +1.5 EM 是这条链的独立贡献。

链 2:critic 无真值学习——前缀匹配剥离结果混淆。 环境只标整条轨迹的成败,直接学"成功轨迹的反馈"(RSFT)会把前缀运气混进反馈质量。RDPO 的配对设计使 f⁺ 与 f⁻ 在相似历史、相当长度下只差"反馈本身",DPO 的相对目标又天然锚定在线检查点。方法差异(前缀 Jaccard 匹配+成对比较)→ 反馈质量信号去混淆 → RDPO 逐基准胜 RSFT。

链 3:共演的必要性——失败分布是非平稳的。 在线 RL 持续改变 agent 访问的状态与遇到的失败,静态 critic 对陈旧失败分布训练、对新失败失配。反馈内容的演化直接证明 critic 追踪了移动的靶子:早期反馈集中在"误读结果/实体混淆"(检索与接地错误),中期转向"证据核验"(valid answers / explicitly stated),晚期聚焦"重复查询/冗余工具调用/逻辑失败"(搜索与推理效率)。方法差异(100×5 交替)→ critic 始终对齐当前失败剖面 → 交替 86.6 vs agent-only 83.6;末代配对 84.0 vs 配 SFT critic 80.6。 单跳 vs 多跳的增益差(+1.3 vs +7.4)同链可解释:单跳错误无后续步可污染,轨迹内纠错的价值天然小。

反事实:去掉 CFE 只留塑形 51.2、去掉塑形只留 CFE 50.8——两条信用通道各自必要但可加和;只优化 feedback(agent 冻结)71.3 远低于交替 86.6——没有更强的 agent,更好的反馈无处施展;反向亦然(84.2 封顶后回落)。

七、必要知识反推

领域知识层:搜索 agent 的任务形态与失败模式分类(中途丢约束、子目标未探、重复查询、错误复利)——没有这个分类,提不出"轨迹内干预"的需求;GRPO 组采样与优势归一化的细节——CFE 的 call/skip 分组是对组结构的直接改造;DPO 的相对目标性质——理解为何相对目标比 MLE 更适合共享模型的角色分工。

方法论知识层:信用分配理论——评估性信号 vs 指令性信号的区分(Sutton 传统)是全文出发点;自我奖励/自验证文献——支撑"同一模型分饰两角"的合法性;共演/课程非平稳性——Ackermann 等 off-policy 奖励建模的失配问题预示了静态 critic 的失效。

工程知识层:SFT 数据构造的"错误前缀保留"技术(教师只插入干预与续跑);偏好对挖掘的结构过滤(历史相似度、反馈长度);交替调度的超参搜索(100 步×5 轮胜出);幻觉率的答案级操作化定义;交叉对弈矩阵实验设计——把"共演"从叙事变成可测的配对效应。

知识融合的关键节点:三段知识的化学反应点在**“请求边界”**上——SFT 数据构造留下的结构性印记(请求紧跟错误前缀)被优势塑形识别并反转利用(前缀降权)、被 RDPO 的前缀匹配继承(同前缀配对去混淆)、被 CFE 的组比较横向校准(组内效用)。一条边界同时解决"该奖谁"“反馈好不好"“请求值不值"三个问题——这是把三个独立组件焊成一个系统的粘合点。

八、论文中可以提取的通用性灵感

  1. 被救援的成功与无瑕的成功不等价(信用分配类):任何"事后补救成功"的案例中,导致需要补救的行为不应与补救行为共享功劳。证据:塑形分离前后段优势 → +1.5 EM,后期前缀优势归零。推广:事故复盘中的"恢复功劳"与"肇因责任"分账、代码 review 中"临时 hack 修好了 bug"不应强化 hack、经济系统的救助道德风险设计。
  2. 监督者必须追赶被监督者的失败分布(共演类):指导能力是相对于被指导者当前短板的,静态的优秀导师会随学生成长而过时。证据:agent-only 84.2 封顶 vs 交替 86.6;反馈内容从"误读结果"演化到"逻辑失败”。推广:导师制与教练行业的持续培训、自动化测试系统需随代码库演化、客服知识库的动态更新。
  3. 无真值时用匹配对照剥离混淆(实验设计类):要评估"干预本身"的效果而无 ground truth 时,构造仅差干预的前缀匹配对照。证据:RDPO 的 f⁺/f⁻ 配对逐基准胜 RSFT 的正样本_only。推广:A/B 测试的同质分组、医学的配对队列、绩效评估中控制任务难度差异。
  4. 干预的价值 ∝ 干预点的后续路径长度(时机类):轨迹内纠错的收益取决于"被纠正后还剩多少可受益的步骤”——单跳 +1.3 vs 多跳 +7.4。证据:跨基准增益差与机制预测精确吻合。推广:生产线的早期质检、项目管理的里程碑评审密度、教育中的及时反馈窗口。
  5. 一个模型、两种角色、交替更新(架构经济类):不必维护独立 critic——共享参数+角色条件化+交替调度,即可在 7B 规模上获得共演收益且超过 72B 提示模型。证据:52.5 EM vs Qwen2.5-72B 的 47.9。推广:小团队的一人多岗与轮岗学习、单卡部署的自评式系统、边端设备的自省循环。