Harness-G:面向搜索智能体的图结构交互框架 Harness-G: A Graph-Structured Harness for Search Agents
用有限动作菜单重构检索接口,解决检索等价坍缩
前置知识
Search-R1 / free-query RL search agent
一类用强化学习训练的搜索智能体:策略在推理过程中自由生成自然语言检索查询(如「谁执导了电影 X?」),环境(检索器)把查询映射成检索到的文档,最后用最终答案的正确性(F1/EM)作为整条多轮交互轨迹的唯一奖励信号,再用 GRPO 等组相对策略优化算法更新策略。
本文的出发点正是质疑这种「自由文本查询」接口本身是否适合 RL 优化,理解 Search-R1 才能理解作者为何要重新设计动作空间。
GRPO(Group Relative Policy Optimization)
DeepSeek 提出的组内相对优化算法:对同一问题采样 N 条轨迹,用组内奖励的归一化值(优势 advantage)作为更新方向,无需单独训练 critic 网络。它隐含一个关键假设——组内轨迹之间必须存在「真正不同」的决策,否则组内优势会趋零,无法产生有效梯度。
retrieval-equivalence collapse 直接破坏的就是 GRPO 所依赖的组内对比性,是全文最核心的病灶。
retrieval-equivalence collapse(检索等价坍缩)
本文提出并命名的现象:对同一问题,不同轨迹生成的查询字符串千变万化(query-form diversity 高),但它们检索回来的证据集合高度重叠、聚成同一等价类(retrieval-outcome diversity 低)。也就是说表面上的「探索」是幻觉,轨迹在检索决策层面其实彼此等价。
这是全文的诊断核心,Harness-G 的一切设计都在对抗它;不理解它就无法理解方法的动机。
many-to-one 语言别名 / linguistic aliasing
自然语言查询存在大量「同义不同形」:LLM 很容易为同一检索意图生成表面上不同、语义上等价的查询串,而这些查询经检索器又往往映射到同一批文档。这种多对一的字符串到检索结果的映射,是检索等价坍缩的结构性根源。
作者的关键判断是:问题不在奖励稀疏,而在接口结构——查询串本身是「别名」的,必须在接口层面消除它。
frozen answerer / 冻结的答题打分器
一个参数冻结(stop-gradient)的语言模型 g,给定问题 q 和证据上下文 O,用教师强制方式计算金标准答案 y* 的长度归一化条件概率 $g(O)=\bar P_\theta(y^*\mid q,O)$。它只读不写,专门用来衡量「证据对答案的支持度」,作为 SNC 信用信号的打分器。
SNC 的「前沿相对优势」和「使能信用」都依赖这个冻结打分器做反事实比较,是方法落地的关键技术组件。
研究动机
现有 free-query RL 搜索智能体(如 Search-R1)虽然用最终答案奖励训练取得了进展,但优化非常脆弱,普遍出现奖励崩溃、重复检索、组内优势消失等问题。已有的改进工作(IGPO 加 per-turn 信息增益、StepSearch/ReasonRAG 加中间监督、Tree-GRPO/GiGPO 建树或锚状态对比)几乎都集中在「把奖励信号变密、把信用分配变细」,却几乎没人质疑过检索接口本身是否适合 RL。作者测量了一个被忽视的指标:对同一问题采样的多条 rollout,虽然查询字符串花样百出,但它们累积检索到的证据集合越来越重叠——在 Search-R1 训练中,跨多个检索等价类的 rollout 组占比从约 86% 在第 30 步掉到不足 10%,而 query-form 多样性却始终居高不下。这意味着名义上的「探索」其实是幻觉,组内轨迹在检索决策层面彼此等价,没有有效对比可言。
本文的目标是作者的目标是:第一,正式定义并量化 retrieval-equivalence collapse 这一现象,给出 query-form 多样性 vs retrieval-outcome 多样性的可测量诊断;第二,从「策略-环境接口」这一被忽视的层面重新设计检索动作,让同一决策状态下可行的检索替代项变得显式、可验证、可预览(finite/verifiable/previewable),从而根除语言别名;第三,在不引入额外 agent rollout 的前提下,把接口带来的可预览性转成低方差、非近视的逐步信用(SNC),让早期「桥梁性」检索也能拿到延迟信用;第四,在六个 QA 基准上取得当前两个模型规模下的最高平均 F1,并用受控消融把「菜单接口」和「SNC」各自的贡献干净地分离开。
与已有工作不同的是,已有工作要么在 free-query 接口上把奖励变密(denser credit),要么在 LLM 抽取的图上做端到端 RL 但仍生成自由查询(Graph-R1),要么在人工 schema 的知识图谱上做离散导航(KGQA path agents)——三条路都没把「自由文本查询的别名问题」当成结构性问题来处理。Harness-G 的独特切入是:它把检索看成「在一个廉价、程序化、无需生成式 LLM 构建的段落-句子-实体图上的有状态导航」,让环境而不是策略来构造查询、跟踪状态、验证和执行每个动作。它首次把 KGQA 那种有限的离散动作体制搬进了开放文档 RAG,使「同一状态下对比真正可行的替代动作」这件过去在开放字符串空间里不可计算的事,变成了有界的、纯环境侧的簿记。
核心方法
直觉上,Harness-G 把「写检索查询」这件发散的、充满别名的活,重新定义成「在一个有限菜单里点菜」。环境事先把语料组织成一张段落-句子-实体三分图;每一步环境根据当前状态摆出一个去重过的、有界的动作菜单,策略只做一件事——从菜单里选一个动作 ID(提交某条证据句子、跳转到某实体、或直接回答)。查询字符串的构造、状态的更新、重复检索的过滤,全都由环境确定性地完成。在这个接口之上,作者又加了 SNC(Structured Non-myopic Credit):用一个冻结的答题器对每个候选动作做只读预览打分,把「这个动作相对于同状态其他替代项有多好」算成逐步优势,再把下游收益沿着轨迹依赖链回传给更早的使能动作。一句话:核心干预不是多加一个检索器,而是重新定义策略看到的动作空间。
全文最本质的创新是「把自由文本查询生成改写为图引导的有限动作选择」。过去 free-query 智能体里,策略输出的 at 是任意字符串 ut∈Σ*,它的语义、合法性、效果都得等检索器跑完才知道,而且 LLM 天然会产生大量同义不同形的查询别名,导致多对一的字符串→检索映射。Harness-G 把 at 变成有显式类型和目标(type + target)的离散算子,类型只有 Select(s)/Lookup(e)/Answer 三类。Lookup 由目标实体而非生成串来标识,所以不同的 Lookup 天然指向不同目标(构造上保证多样性);非法动作在进入可行集前就被拦截,而不是事后受罚;更关键的是,因为转移是确定性的索引操作,任何候选动作 a 都能做只读预览 Preview(z_t,a),返回它会给答题器上下文加入或提交哪些句子,而不改变真实状态。正是这个「可预览性」把「这个动作比它真正的同状态替代项好多少」这件在开放字符串空间里不可计算的事,降维成了一个有界的、可枚举的环境操作——这正是 SNC 评估的前提。
方法步骤详情
流程分三阶段。离线构建:对语料做句子切分、用 SpaCy 做命名实体识别与归一化、用 dense encoder 编码,构造无关系标签的段落-句子-实体三分图 G(段落-句子边把最小证据单元钉回文档上下文,句子-实体边记录提及,句子-句子边连接相邻句做局部扩展,实体-实体边通过表面归一化/标题锚/缩写匹配/可选 embedding 近邻连接同义实体做候选召回),全程不调用生成式 LLM。在线导航:每集以融合段落局部、全局句子、实体提及通道的初始检索 U0=InitRetrieve(q;G) 开始;状态 z_t=(q,C_t,U_t,V_t,H_t),策略从菜单 M_t=Filter(Propose(z_t,G),H_t) 采样动作。Select(s) 把可见句提交进 C_{t+1}=C_t∪{s};Lookup(e) 由环境对候选池 C(e)=S(e)∪[∪_{e'∈Syn(e)}S(e')]∪NSS(S(e)) 发确定性查询 m_t=concat(q,text(C_t)),取 top-K 句作 U_{t+1};Answer 终止并由 C_t 生成答案;Answer_With 一步收割并终止。菜单有界(受 K_s、K_e 约束)、可验证、可预览。SNC:信息获取动作用冻结答题器 g(O)=\bar P_\theta(y^*|q,O) 算 pt(a)=g(O_t∪Ũ(a))−g(O_t),前沿相对优势 r^fr_t=pt(a_t)−\bar p_t;沿溯源边 (t,u)∈D_τ 以 R_u=p_u(a_u)+γr^en_u、r^en_t=Σ_{u:(t,u)∈D_τ}R_u/|Pred(u)| 反向拓扑传播使能信用(γ=1)。token 级优势 Â_{i,k}=Â^out_i+λÂ^SNC_{i,k} 用 clipped 目标加 KL 正则更新,环境注入 token 全部 loss-mask。
技术新颖性
和已有技术的本质区别有三条。第一,对比所有 denser-credit 工作(IGPO/StepSearch/ReasonRAG/CriticSearch/Tree-GRPO/GiGPO):它们都在 free-query 空间里改奖励估计,保留了字符串到检索的多对一映射,无法从根本上恢复检索层对比;Harness-G 把别名当结构性问题,直接换接口,让同状态对比成为环境侧簿记。第二,对比 Graph-R1:它也在图上做端到端 RL,但图是 GPT 抽取的、策略仍生成自由查询,Harness-G 用程序化(LLM-free)无关系标签三分图,并把查询构造彻底交给环境。第三,对比 KGQA path agents(MINERVA/Think-on-Graph/KG-R1):它们在人工 schema 知识库上有有限离散动作但无法处理开放文本,Harness-G 首次把离散导航搬进开放文档:句子是最小证据单元、实体是无标签桥节点、菜单而非三元组语言才是策略接口。SNC 本身接口依赖——只有菜单能枚举预览替代项,同状态前沿信用才可计算,无需 Tree-GRPO 的树展开 rollout 或 GiGPO 的锚状态重分组。
实验结果
Table 1 主实验中,Harness-G 在两个模型规模上都拿最高平均 F1。3B 规模平均 F1 55.24,比最强基线 Graph-R1(51.26)高 3.98 分;多跳提升尤其大——2Wiki 65.53(+7.97)、HotpotQA 65.87(+9.12)、MuSiQue 46.46(+5.95),三集平均 +7.68;六集 G-E 全更高,平均 R-S 从 60.19 提到 64.55,唯一例外 NQ 比 Graph-R1 低 1.84 分。1.5B 规模收益更猛:平均 F1 从 40.09 跳到 50.83(+10.74),每个数据集都领先,2Wiki 上 +29.46(64.59 vs 35.13),说明把检索限制成可执行结构化动作对容量受限的小模型特别有用。消融(Table 2):菜单相对 free-query 在两种信用体制下都把 F1 提升超 17 分,MuSiQue 纯结果训练甚至超 35 分;Menu+SNC 三个多跳集全胜。Table 3 SNC 留一消融:去掉两项(λ=0)让 2Wiki/HotpotQA/MuSiQue F1 掉 3.08/4.55/2.88。稳定性上六条 3B 曲线无后期崩溃、梯度有界;零优势组率在第 10 步触底约 23% 后由「全对」反弹而非「全错」坍缩。鲁棒性:Qwen2.5-3B/3.5-4B/Llama-3.2-3B 在 HotpotQA 同预算下 F1 达 65.9/67.5/63.4,GRPO/PPO/REINFORCE++/DAPO 都稳升。交互上轮数更多(3.6 vs 2.3/2.9)但响应更短(2.5k vs 4.3k/3.1k token),SNC 仅增 9–11% 每步时间、无额外 rollout,3B 全量约 170 GPU·h;图构建 API 成本 $0、0.12s/1K 语料 token、每查询 5.1s/$0。OOD(Fig 9)训一测六赢 21/30,平均 OOD F1 44.10→47.38(+3.29)。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| 多跳问答平均 F1(2Wiki/HotpotQA/MuSiQue,Qwen2.5-3B) | F1(0–100) | Harness-G 平均约 59.29 | Graph-R1 约 51.61 | 多跳平均 +7.68 分 |
| 六数据集平均 F1(Qwen2.5-1.5B) | F1(0–100) | Harness-G 50.83 | Graph-R1 40.09 | +10.74 分,每个数据集均领先 |
| 2WikiMultiHopQA(Qwen2.5-1.5B) | F1 | 64.59 | Graph-R1 35.13 | +29.46 分(小模型最大单项增益) |
| HotpotQA(Qwen2.5-3B) | F1 | 65.87 | Graph-R1 56.75 | +9.12 分 |
| MuSiQue(Qwen2.5-3B,接口消融 vs free-query+结果奖励) | F1 | 菜单 43.58 | free-query 7.65 | +35.93 分(接口单独作用) |
| OOD 跨数据集迁移(30 对,Qwen2.5-3B) | 平均 F1 | Harness-G 47.38,赢 21/30 对 | Graph-R1 44.10 | +3.29 分 |
局限与改进
作者明确承认:Harness-G 仍是纯文本(text-only),扩展到多模态证据是「关键下一步」。我补充几点观察。其一,NQ 上 3B 规模比 Graph-R1 反而低 1.84 分,说明菜单的强制结构化检索在单跳、意图明确的场景未必占优——句子级证据粒度对单跳事实查询可能过粗,或固定动作类型限制了简单查询直达性。其二,交互轮数明显增加(3.6 vs 2.3–2.9),虽总响应 token 更短,但延迟敏感的在线推理里更多轮环境往返会抬高尾延迟,论文未给端到端推理时延。其三,SNC 依赖冻结答题器 g 做反事实打分,g 的质量(用哪个 checkpoint、是否对齐任务)直接决定信用信号质量,论文对 g 选取敏感性与跨域失效讨论不足。其四,每个 held-out 切分仅 128 题(与 Graph-R1 协议一致),评测方差偏大,作者也强调要看大而一致的跨数据集趋势而非单项边际差异,单项数字不宜过度解读。其五,图谱质量强依赖 SpaCy NER 与 dense encoder,对中文、低资源或实体提及稀疏的专业领域,实体桥节点召回会下降,可能拖累多跳能力。
独立分析的弱点
第一个弱点是「单跳场景下接口过重」。NQ 上 3B 的 −1.84 分暴露此点:菜单强制把检索切成多步,对一句能直查的简单事实属于过度结构化。改进方向是引入自适应接口——用轻量路由判断查询复杂度,单跳走 free-query 或一次 TopK 直答,多跳才切菜单导航。第二个是「冻结答题器 g 的领域漂移」:g 既是反事实打分器又是信用来源,测试域与训练域不一致时 pt(a) 失真、信用噪声变大。改进方向是让 g 与策略分离但周期性演化(用策略自身 checkpoint 更新 g,或多 alias 集成降方差),并按 g 不确定性自适应调 dead-zone。第三个是「图谱构建对 NER/编码器敏感」:桥节点完全靠 SpaCy 抽实体,实体稀疏的专业语料(医疗、中文法律)召回会塌。改进方向是换 span-level 或弱监督抽取、用 embedding 近邻边兜底,甚至混入少量人工 schema。第四个是「在线推理尾延迟」:更多轮交互(3.6 vs 2.3)在实时系统代价不可忽视,论文无端到端时延,可用更激进的 Answer_With 一步收割或对低不确定状态提前剪枝。第五个是「评测方差」:128 题 held-out 让单项数字置信区间很宽(尤其 NQ −1.84),应上更大评测集并做多种子重复给统计显著性。
未来方向
作者明确提出的方向:把结构化动作和 SNC 扩展到多模态证据(图像、表格、音频),是结论里点名的「key next step」。基于成果可延伸的方向有:一是把 retrieval-equivalence collapse 的诊断框架(query-form vs retrieval-outcome 多样性、零优势组分解)推广到其他工具调用型 agent(代码执行、浏览器),看「动作别名坍缩」是否是普遍病灶;二是把 SNC 的反事实前沿信用与轨迹内反事实(GiGPO 锚状态重组、Turn-PPO turn 级优势)系统对比甚至融合,给统一的逐步信用框架;三是在菜单里加回显式「反思/改写」动作(现刻意删掉 Rewrite_Query,见 Table 10),研究「少量受控改写」与「纯离散导航」的最优平衡;四是用更便宜的蒸馏式 g(小模型或专门打分头)替代冻结 LLM 答题器,进一步降低 9–11% 开销;五是把方法迁到真机 web 检索(DeepResearcher/WebThinker 设定),验证菜单在分布漂移与检索噪声下的鲁棒性。
复现评估
复现门槛中等偏高但条件齐全。代码已开源(https://github.com/7HHHHH/Harness-G)。数据是六个标准 RAG 基准(2Wiki/HotpotQA/MuSiQue/NQ/PopQA/TriviaQA),每集 5120 训练 + 128 held-out,与 Graph-R1 协议一致,Appendix B–E 给了语料切块(1200 token chunk、100 重叠,每数据集一图并复用)、全部训练超参(group size 8、batch 128、120 步、最多 6 轮、双 clip C=3.0、fp32 logits、拒绝非有限梯度批次)和 Algorithm 1 完整流程。算力上 3B 全量约 170 GPU·h(8×A100),SNC 每步加 51–69s(9–11%)、无额外 rollout;图构建程序化、0 API 成本、0.12s/1K 语料 token,这部分几乎零门槛。主要难点有三:一是要稳定重现「检索等价坍缩」与「零优势组」诊断曲线,对多轮 agent RL 的数值稳定性(重要性比、低精度概率、退化 rollout)敏感,需严格照做数值护栏清单;二是冻结答题器 g 的 checkpoint 与 gold alias 处理需对齐,否则 SNC 信号会偏;三是菜单与环境约束(junk/bad-target 过滤、Lookup 去重,Table 10/11 逐级筛选:四动作无约束 56.8 → 全设置 65.5)对最终 F1 影响巨大,复现时这些「非策略动作」细节缺一不可。
论文图表
图 (a) 展示 Search-R1 训练中,query-form 多样性始终高居 retrieval-outcome 多样性之上,且跨多检索等价类的 rollout 组占比从约 86% 在第 30 步暴跌到 10% 以下;图 (b) 在状态转移匹配的对照下,动作菜单每 rollout 组保留的检索不同结果数明显多于自由查询。
这是全文动机的实证基石,直接量化了 retrieval-equivalence collapse 这一被命名的新现象,也是「接口设计而非仅奖励设计」这一论点的核心证据,不理解这张图就无法理解为什么必须换接口。