Dense Process Supervision for Search Agents via Fact Utility Estimation
Rongzhi Zhu, Xiangyu Liu, Yi Liu, Shuo Zhang, Ruirui Zhang, Rui Wu, Tao Jiang, Zequn Sun, Wenhao Xu, Wei Hu
EMNLP 2026)
cs.CL, cs.LG
2026-09-01
南大与蚂蚁的FactAgent把检索证据收成事实库,用贝叶斯估计簇级效用再回灌逐步奖励。Qwen2.5-7B七项QA平均EM 51.2,比最强基线高3.2。
搜索代理的强化学习通常只在最后看答案对不对。中间某次检索是关键证据、冗余噪声还是把推理带偏了,结局奖励分不清。答对不代表每步都有用,答错也不代表前面全错。多跳问答里这个问题更重:稀疏、延迟的信号很难把功劳分到具体工具调用上。
南京大学和蚂蚁集团的 FactAgent 把推理看成在攒离散证据,用证据的效用给每一步打分。论文已被 EMNLP 2026 接收。
代理不再把整段检索原文堆进上下文,而是维护一个事实库。动作有三种:Search 发查询;Assert 把当前观察抽成 (主语, 关系, 宾语) 三元组写入事实库;Answer 只基于问题和事实库作答。提示里只留问题、事实库和最近一次观察,输入长度不随轮次线性涨。作者在附录里把事实库写成交互历史的充分统计量。
逐步奖励来自组内 rollout 的统计,不另训过程奖励模型。单条事实太稀,直接估 Pr(答对 | 该事实出现) 不稳定。做法是先按 embedding 相似度粗聚,再用否定一致、数字一致、关系相似等规则过滤,把同义事实收成簇。每个簇的成功概率用 Beta(ε, ε) 先验做贝叶斯估计,ε=0.5,后验均值是 (成功次数+ε)/(出现次数+2ε)。相对效用等于该均值减去组内平均成功率。
状态势能是簇效用之和再过 tanh。势能差只在新语义进来时非零。势能在 Assert 步兑现,但证据来自更早的 Search,所以把塑造奖励按 α=0.2 回传到对应 Search,Assert 留 0.8。另有格式错误、重复搜索、空事实库就作答的惩罚;空库作答会把结局奖励直接打成 0。
总优势 = 结局优势 + Ω × 过程优势,默认 Ω=0.5。优化仍是 GRPO,但按动作、按当前事实库状态更新,而不是对着一条越来越长的 prompt。
训练集合并 NQ 和 HotpotQA,检索走 Wiki-18 + E5,最多 8 轮。结局奖励用答案 F1,报表用加权平均 EM。
| 骨干 | FactAgent (RL) | 最强基线 | 无 RL |
| Qwen2.5-7B-Instruct | 51.2 | ReSearch 48.0 | 34.9 |
| Qwen2.5-3B-Instruct | 45.4 | AutoRefine 44.3 | 25.7 |
7B 上多跳更拉开:2Wiki 51.5(ReSearch 47.6,Search-R1 41.4),HotpotQA 44.6。Bamboogle 上 GiGPO 到 68.9,FactAgent 44.0,单点落后;加权平均仍是 FactAgent 最高。ZeroSearch 和 ReSearch 用 Google Search,FactAgent 只用本地 Wiki-18,还是高出平均。
消融(7B)把过程奖励拿掉,平均 EM 从 51.2 掉到 40.5,多跳从 45.8 掉到 31.4。不把效用回传到 Search:45.4。只用精确匹配聚类:48.9。Ω=0.3 已经比纯结局高 7.3 分;Ω=0.7 又掉回 45.2,过程项不能压过结局。
第 8 轮时 ReAct 的输入长度大约是 FactAgent 的四倍。HotpotQA 干扰设置里,参考三元组召回相对训练初期提高近 40%,纯结局 GRPO 没有同样的上升。SFT 冷启动不能抬高上限(SFT+RL 平均 49.5,低于直接 RL 的 51.2),但能避免直接 RL 偶发把动作打成乱码 JSON。聚类每 step 额外约 2.75 秒,rolloutn=6 时每 step 231.1 秒,对比标准 GRPO 的 225.2 秒。
给搜索 RL 补逐步信号,常见两条路:再训一个过程奖励模型,或按原始状态聚类(GiGPO)。FactAgent 聚类的是抽出来的事实,监督从结局统计里长出来,不依赖额外奖励模型。事实库同时把多轮上下文压成近似恒定的输入,这对要搜很多轮的代理是工程上用得上的点。
代价是动作空间多了一个 Assert,基座必须先学会 Search–Assert–Answer。无 RL 时 3B 平均 25.7,低于一次 RAG 的 34.4。这套工作流不会「提示一下就会」,要靠 RL 焊上去。
没有独立的局限节。能看出的边界是:检索仍是 2018 Wikipedia 静态库;事实抽取质量绑在基座的 Assert 上;簇效用是「出现过该簇」与答对的相关,不是因果。embedding 在否定和数字上会误判高相似,作者加了规则,规则本身也是新的失败点。
Bamboogle 上明显落后 GiGPO,平均分不能掩盖这个点。SFT 冷启动反而压低终局,直接 RL 又有格式崩的风险,训练稳定性没有被一次消融讲透。更丰富的事实表示和连续效用,作者留给后续。