GRASP: Graph Agentic Search over Propositions for Multi-hop QA 深度解读
1. 问题与动机
多跳问答的 agentic 检索存在一个核心张力:问题越复杂,反复 LLM 调用与不断膨胀的上下文会让 token 消耗爆炸。HippoRAG、GraphReader 这类图增强系统精度高,但索引和推理两端都很贵。作者用三组量化证据指出现有路线的问题:(1) 基于三元组(triple)的知识图谱(HippoRAG2)索引成本高、推理 token 复合增长,且三元组抽取是有损的——关系依赖上下文、难压成原子三元组;在检索可区分性测试中,HippoRAG 三元组在三个 benchmark 上比 proposition 低 8.1–10.0 个 NDCG@5 点。(2) GraphReader 的多 agent 并行比实际所需多耗 60–70% token,还在重复劳动。(3) 多数系统只在 retrieval 或 long-context 单一设定下评测,缺乏统一的 token 口径。GRASP 的出发点是:把检索单元从段落/三元组换成 proposition(原子自包含语句),并用「规划 + 隔离子 agent」把上下文增长约束住,从而在多跳精度提升的同时把 token 砍下来。
2. 方法详解
GRASP 构建三层图 G=(V_E, V_P, V_D, E):实体节点(按名称 + 语义相似度 τ=0.7 去重)、proposition 节点(原子语句)、段落/文档节点;边包括实体—proposition(抽取时直接产生)与 proposition—段落(溯源)。索引阶段每个段落只用一次 LLM 调用,联合抽取 proposition、带类型的命名实体,以及把实体连到 proposition 的 index 引用;proposition 用 gemini-embedding-001 编码以支持混合检索。
推理分三步。规划器一次 LLM 调用(temperature=0.2)生成 1–3 句自然语言计划 + 带依赖序号(#1、#2…)的子问题,few-shot 覆盖线性链、并行分支、对比结构三种依赖形态。每个子问题 q_i 派生一个独立子 agent α_i,条件是原问题 Q、子问题 q_i 与此前问答历史 H;子 agent 数量随计划复杂度自动伸缩,没有固定并行度。
检索用混合打分:σ(s_i,K,p_j)=cos(e_si·e_pj)+λ·log(1+BM25(K,p_j)),λ=0.2,取 top m=50 proposition。再把分数聚合到实体:score(e_i)=Σσ/√(1+d(e_i)),用度数 d(e_i) 抑制 hub 实体。子 agent 从 top k=5 候选实体中筛出子集 ε 做遍历。最后用 reciprocal-rank voting 给段落打分:score(D)=Σ 1/(1+R(p_j)),R 为 proposition 排名,取 top d=2 段落。每个子 agent 维护紧凑的 observation 状态 O_i(而非全量历史),过滤已访问实体/proposition,最多 ii=2 轮迭代;全部子 agent 完成后由合成模块汇总 H 出答案。索引与推理均用 Gemini-3-flash-preview,图存在 Neo4j(仅为实现便利)。
3. 核心技术贡献
(1) proposition 作为检索单元:在 MuSiQue 上以 5.4M 索引 token 取得 0.904 召回,而 HippoRAG2 三元组用 17.6M token 仅 0.818 召回——召回更高且索引 token 少 69%。proposition 比句子单元在 SQuAD/NQ/PubMedQA 上高 3.6–8.4 个 NDCG@5。(2) 规划式推理 + 上下文隔离:依赖感知分解 + 子 agent 隔离,把跨跳和执行内的上下文增长都约束住。(3) success economy 指标 C_w:用 Shannon surprisal 把 token 成本按难度加权的正确答案数摊销,C_w=ΣT_i / Σ(w_i·1[EM_i=1]),w_i=-log2(r_i),r_i 由 n=10 次零温采样估计,倡导效率感知的评测。(4) 首个在 retrieval 与 extended-context 两种设定下用统一 token 口径竞争性评测的系统。
4. 实验结果分析
retrieval 设定(开放语料,每数据集 1000 题):MuSiQue 上 GRASP EM 0.505 / F1 0.651 / Judge 0.765,15.89M token、C_w=12616;IRCoT+HippoRAG2 为 0.478/0.604/0.673,31.49M token、C_w=26655——精度全面领先且 token 约少 50%、C_w 改善 52%。2Wiki 上 GRASP 0.737/0.825/0.943(10.9M token) 同样领先。HotpotQA 上 GRASP EM 0.627 略低于 IRCoT+HippoRAG2 的 0.678,但 token 仅 12.68M vs 26.82M——作者归因于 HotpotQA 存在推理捷径与参数泄漏,弱化了真多跳。
extended-context(LongBench):三数据集 EM/F1 全部领先,token 比次优方法少约 30%。如 MuSiQue GRASP EM 0.510(8.87M token) vs GraphReader 0.480(14.07M);HotpotQA GRASP 0.540(5.43M) vs GraphReader 0.515(12.23M)。
关键消融:RankVoting 比 uniform 加权召回高 5.8–11 点;去掉实体筛选层 EM 从 0.505 降到 0.483;只用 DPR(无 proposition) 降到 0.490;把 proposition 图换成 HippoRAG 三元组(同 GRASP agent) EM 0.496 但 token 涨到 29.12M。规划质量是瓶颈:plan hop 准确率从 2-hop 的 89.4% 跌到 4-hop 的 66.9%,整体 82.2%;分解正确时 EM 比分解错误高 8.8 个百分点。错误分析(50 例)显示 72% 是推理侧错误(规划错 13、子 agent 判断错 23),检索侧仅 16%。
5. 局限与未来方向
作者明确指出:(1) 规划准确率天花板——分解一旦错误,误差会沿子 agent 链传播,与图质量无关,这是限制检索增益转化为答案增益的主要瓶颈;建议用 SFT 或带可验证奖励的 RL 改进高 hop 规划。(2) 当前规划靠 few-shot in-context,未训练。(3) 承认 HotpotQA 有普遍的推理捷径与参数泄漏,模型可绕过真多跳。(4) λ=0.2 是启发式选取,按数据集调 λ 可能更好。(5) success economy 需 n=10 次前向估计难度权重,带来未充分讨论的额外推理开销。
6. 工业实践意义
对社区搜索/RAG 团队,最值得借鉴的是把检索单元下沉到 proposition:用一次 LLM 调用联合抽取 proposition+实体+引用,索引 token 比三元组方案省约 69%,召回反而更高(0.904 vs 0.818),这对 UGC 长文本建索引的成本与质量是直接收益。RankVoting(1/(1+rank) 聚合)实现简单却比均匀加权召回高 5.8–11 点,可低成本嵌入现有重排/证据聚合环节。度数归一化抑制 hub 实体对社区里高频泛实体(如「手机」「美食」)的噪声召回有现实意义。紧凑 observation 状态 + 过滤已访问节点把多轮 agentic 检索的上下文增长约束住,配合子 agent 数量随复杂度自适应,对线上延迟与算力可控很关键——简单 query 不会被强行拉入多跳流程。需要注意两点部署细节:LongBench 下需把批大小降到每批 1 段(噪声敏感),以及规划器在 4-hop 上准确率仅 66.9%,复杂 query 仍需 SFT/RL 强化规划。success economy(按难度加权摊销 token)也提示团队在评测 agentic 搜索时,应把成本与难度一并纳入,而非只看准确率。