# 论文 · S2G-RAG: Structured Sufficiency and Gap Judging for Iterative Retrieval-Augmented QA


## 基础信息
* 作者：Minghan Li, Junjie Zou, Xinxuan Lv, Chao Zhang, Guodong Zhou
* 期刊/日期：ACL 2026 Long Papers，2026-07-02 至 2026-07-07，页 25846-25862
* 代码：https://github.com/nianaaa/S2G-RAG

## Q1. 研究动机

迭代 RAG 的瓶颈不只是“生成下一条查询”，而是每一轮都要可靠回答两个控制问题：当前证据是否足以回答？若不足，具体缺什么？现有方法常把这两个决定隐含在自由文本推理、答案置信度或 critic 反馈中，难以审计，也容易在噪声上下文中漂移、重复检索或过早停止。

与此同时，多轮直接拼接原文会快速放大冗余与干扰。论文因此主张同时结构化“停止/继续”决策和“缺失信息”，并用逐句证据内存替代原文累积，使控制器看到的是紧凑、可溯源的中间状态。

## Q2. 核心问题

能否用一个轻量控制器在每轮输出二元充分性判断与规范化 gap items，并将 gap 稳定映射为下一条检索查询？这种显式控制能否通过真实多轮执行轨迹蒸馏给 3B 模型，同时借助句子指针式 Evidence Extractor 控制上下文增长，在不修改搜索引擎或重训答案生成器的条件下提高多跳 QA？

## Q3. 现有不足 &amp; 本文改进

* **控制状态隐式**：自由文本 rationale 难以验证。S2G-Judge 输出固定 schema 的 `(sufficiency, gaps)`。
* **下一跳需求不明确**：gap item 包含 `category`、`target`、`slot`、`description`，类别包括 bridge_entity、attribute、relation、evidence_span、other。
* **中间监督与真实状态错位**：不从理想金链构造训练样本，而是先用未微调控制器完整 rollout，记录含冗余和干扰的真实 `(question, evidence context)`，再由 GPT-4o-mini 按“只看上下文”约束标注。
* **上下文膨胀**：Evidence Extractor 只能输出候选句子编号，系统再映射回原句，因此既压缩上下文又避免生成式摘要篡改证据。
* **控制与回答耦合**：Judge 只决定是否继续及缺什么，Llama-3-8B Reasoner 只在足够或预算耗尽时回答，模块可独立替换。

## Q4. 方法流程

1. 初始化证据上下文为空，最多执行 `T=4` 个检索轮次。
2. S2G-Judge（LoRA 微调的 Llama-3.2-3B-Instruct）读取问题与当前 Evidence Context，输出 `s_t` 和 gap 集合 `G_t`；若充分，gap 必须为空。
3. 若不足，将每个 gap 的 `target &#43; slot` 优先拼成检索短语，无法构造时使用 description；最多取前 K 个短语并附加到原问题。
4. BM25 或 E5-base-v2 每轮检索 Top-6，跨轮按标题去重。
5. Llama-3-8B Evidence Extractor 从全部候选句中只返回索引，优先选择回答相关、桥接、消歧且与 gap 对齐的句子；原句逐字加入 Evidence Context。
6. 重复判断与检索；充分或达到预算时，Llama-3-8B Reasoner 基于紧凑证据生成答案。
7. 训练 Judge 时，先 rollout 到最大预算，GPT-4o-mini 逐轮标注充分性与 gap，过滤低置信冲突样本后做 LoRA SFT。

## Q5. 实验设计与结论

* **数据**：TriviaQA（偏单跳）、HotpotQA 与 2WikiMultiHopQA（多跳），官方开发集；分别在 BM25 和 E5 检索下报告 EM/F1。
* **主结果（表 1）**：BM25 下 S2G-RAG 为 TriviaQA `72.0/77.9`、HotpotQA `43.3/56.5`、2Wiki `41.7/48.6`。相对 SIM-RAG，HotpotQA 提升 `10.6 EM/13.2 F1`，2Wiki 提升 `7.6/8.4`。E5 下也在三个数据集同组最佳。
* **消融（表 2）**：HotpotQA BM25 完整系统 `43.3/56.5`；去 Judge 降至 `27.5/37.6`，为最大跌幅；用未微调 3B Judge 为 `39.2/50.8`；去 Extractor 为 `39.5/52.5`。
* **充分性校准（图 2）**：把“已覆盖全部 gold supporting titles”作为 Truth 时，预测 sufficient 的假阳性为 `6.44%`，但真实充分却预测不足达 `31.60%`，明显偏保守。
* **证据压缩（图 3、表 3/4）**：相对原文拼接，证据上下文压缩约 `4.5x-6.4x`；Extractor 把每题延迟从 `1.9552s` 降到 `1.6085s`，同时提升 `3.8 EM/4.0 F1`。句子指针压缩比 `0.3461`，QA 表现优于 LLM 摘要和 ReComp。
* **预算曲线（图 4）**：轮数从小预算增加时收益显著，随后饱和；蒸馏后的 3B Judge 接近 GPT-4o-mini 教师，而未训练 Judge 随预算增长更不稳定。
* **结论**：性能提升主要来自显式 Judge，其次是保持原文可追溯的句子级证据内存；收益在多跳任务上远大于单跳任务。

## Q6. 局限性

1. gap schema 为稳定性牺牲表达力，难以自然表达多实体 join、时间约束及跨多个中间变量的组合关系。
2. 句子级抽取存在压缩-召回权衡：跨句证据或需要上下文消歧的句子可能被漏掉。
3. Judge 明显保守，31.60% 的真实充分状态仍继续检索，增加成本并可能引入新噪声。
4. 教师为 GPT-4o-mini，轨迹由未微调控制器生成。训练质量依赖教师偏差和初始 rollout 覆盖，未见到的错误状态可能泛化不佳。
5. 只在三个英文 QA 数据集、最多四轮和固定 3B/8B 模型上验证；复杂研究型问题、开放 Web 与更长轨迹仍未知。
6. 虽称“轻量组件”，完整系统仍需多轮 3B Judge、8B 抽取器和 8B Reasoner，延迟 `1.6085s` 明显高于单轮 RAG 的 `0.3787s`。

## Q7. 学术价值

论文把迭代检索控制拆成两个可审计变量：证据充分性与结构化信息缺口。与仅判断“要不要继续”的 critic 相比，gap 同时解释了继续检索的原因并提供下一跳目标。句子指针式证据内存则把压缩、溯源和抗幻觉结合起来。最重要的实验发现是去 Judge 的损失远大于去 Extractor，直接证明“检索控制”是该系统的主要因果组件。

## Q8. 延伸研究方向

1. 对 sufficiency 做成本敏感校准，使过早回答和多余检索具有不同损失。
2. 将 gap 扩展为可执行的小型图/Datalog 程序，显式表示变量、join、时间和否定条件。
3. 训练 Evidence Extractor 输出句子置信度与缺失风险，必要时保留相邻句或整段上下文。
4. 把结构化输出作为强化学习的中间动作和奖励信号，联合优化轮数、召回、答案正确率与 token。
5. 在真实搜索 API 上加入查询失败、网页重复、时效性和来源质量，检验 gap 是否仍能抑制检索漂移。

## Q9. 反直觉发现与方法失效分析

* **保守判断仍能提高准确率**：Judge 经常“不够自信”，却把过早回答压到较低水平。对多跳 QA，漏停的成本小于错停，因此偏保守在当前指标下反而有利。
* **压缩同时更快且更准**：通常压缩会损失信息，但原文拼接的干扰大于句子丢失风险，因此 Extractor 同时降低延迟并提高 EM/F1。
* **更短并非更好**：ReComp abstractive 的压缩比最低 `0.1917`，但 F1 仅 `46.4`；句子指针虽然更长（`0.3461`），F1 达 `56.5`。压缩目标必须保留可验证证据，而非单纯最短。
* **典型失效链**：Extractor 先漏掉关键跨句事实 -&gt; Judge 看到不完整证据而持续输出相似 gap -&gt; 检索反复返回同类文档 -&gt; 到预算上限后 Reasoner 被迫回答。解决它需要检测重复 gap 与边际新证据，而不只是增加轮数。


---

> Author: [Ting](Tin10g.github.io)  
> URL: http://localhost:1313/posts/%E8%AE%BA%E6%96%87%E9%98%85%E8%AF%BB-s2g-rag-structured-sufficiency-and-gap-judging-for-iterative-retrieval-augmented-qa/  

