SAG

让 Agent 从多份资料中,找全回答所需的依据。

SAG 论文首页:SQL-Retrieval Augmented Generation with Query-Time Dynamic Hyperedges
arXiv:2606.15971v2

从多份资料中,找全回答需要的信息

一个问题的答案,可能分散在几份资料里。SAG 先整理每段原文中的事项,以及涉及的人、公司和项目。提问时,再通过这些关联继续查找,把相关原文一起找回来。

保留完整事项
记录一段话讲了什么事,同时记下其中的人名、公司名和项目名等信息,用来查找关联资料。
按关联继续查找
从项目找到负责人,再通过同一个人找到团队资料,补充第一次检索没有找到的信息。
每条结果都有原文
最终返回原始段落,供 Agent 回答问题,也方便用户核对信息来源。
90.07%前五条结果找回的必要资料三个测试集平均 · Recall@5
72.96回答与参考答案的匹配得分三个测试集平均 · F1(0–100)
+11.52MuSiQue 召回率提升较论文中最强基线 · 个百分点

数据来自论文评测,测试集、指标和实验条件见下方说明。

01 / HOW IT WORKS

先提取事项与实体,再按关联检索

SAG 先让模型整理每段原文,分别提取事项和实体,再记录它们的关联。提问后,通过共同实体查找相关事项,最终回到原文。

事项与实体关联1 / 6
Aurora 项目的负责人属于哪个团队?
建库阶段

原文 → 同时提取事项和实体 → 建立关联

事项和实体是从同一段原文提取的两类结果
原文 A · 项目说明.md · 第3段

周五的评审会先回顾了 Aurora 企业版的开发进展。目前只完成内部试用,单点登录联调尚未结束,暂时不能对外发布。原定5月上线的安排因此需要调整。讨论后确定,正式发布改为6月,但必须先通过单点登录联调和安全验收。此次发布由林然负责,测试、验收和上线安排都由他协调。周宁继续负责性能测试,不承担发布决策。对外通知等验收通过后再发送。会上还提到,4月的演示版本仅供内部展示,不代表正式发布。

LLM 同时进行两项提取
事项 · event

等待提取完整事项

整理完整含义,保留分工、时间变化和条件,供检索时判断
实体 · entities

等待提取原文中的实体

从原文提取,作为索引,连接其他提到相同实体的事项

事项 A ↔ Aurora 企业版、林然、周宁、4月、5月、6月、单点登录、安全验收

一个原文段落对应一个完整事项,同时关联从原文提取的多个实体

先保留原文段落

原文包含项目进展、延期原因、两个人的分工和多个时间。保留这段原文及出处,后续回答可以回到这里核对。

示例内容为虚构,用于说明检索过程。点击步骤可逐步查看,自动播放一轮后停止。

VIDEO / SAG

SAG 技术讲解

从事项与实体的提取,到按关联检索多份原文,用视频了解 SAG 的完整过程。

在 GitHub 查看视频与资料
点击播放 · 可全屏观看

02 / BENCHMARKS

资料找得更全,回答也更准确

Recall@5 看前五条结果找回了多少必要资料;F1 看最终回答与参考答案有多吻合。切换测试集,可以分别比较检索和回答的效果。

MuSiQueRecall@5 · 越高越好

比 NV-Embed-v2 高 11.52 个百分点

SAG
80.36%
NV-Embed-v2
68.84%
GritLM-7B
66.22%
HippoRAG 2
65.13%
GTE-Qwen2-7B
61.92%
BGE-Large-EN-v1.5
56.32%
Contriever
45.32%
BM25
42.11%

三个测试集各 1,000 道开发集问题。作答模型统一为 Qwen3.6-Flash;使用结构化索引的方法统一采用 BGE-Large-EN-v1.5 检索模型。原论文没有报告 Recall 的方法,不在该指标图中展示。

完整评测数据Recall@5
SAG 论文 · Recall@5(%)
方法MuSiQue2WikiMultiHopQAHotpotQA
BM2542.1163.7873.05
Contriever45.3259.2574.85
BGE-Large-EN-v1.556.3269.8389.20
GTE-Qwen2-7B61.9274.1888.45
GritLM-7B66.2275.6293.40
NV-Embed-v268.8477.0095.25
GraphRAG———
LightRAG———
HyperGraphRAG———
HyperRAG———
HippoRAG 265.1390.3594.35
SAG80.3693.3496.50
数据来源:原论文 Table 1

03 / ABLATION STUDY

哪些设计让资料找得更全

在相同测试条件下,每次只改一个步骤,看看会少找回多少资料。这类逐项比较,论文里称为消融实验。

MuSiQue · Recall@5

完整 SAG80.36%
把事项拆成三元组77.61%
不继续查关联资料69.41%
改为逐条打分67.11%
+10.95 个百分点

继续查关联资料,减少信息遗漏

按同一个人或项目继续查找,能补充第一次没有找到的内容。开启这一步后,Recall@5 从 69.41% 提升至 80.36%。

+13.25 个百分点

把几份资料放在一起判断

几段资料可能各自只说明一部分事实。结合起来判断,比给每段内容单独打分,更容易选出支持完整答案的资料。

实验来源:论文 Table 6 与 §5.2

04 / ARCHITECTURE

保留完整事项,也保留资料之间的联系

01 / 数据结构

一段原文,记录两类信息

原文段落保留内容与出处
事项完整含义、关系与条件
实体人物、公司、项目等

事项保留完整含义,实体用于索引和扩展。两类信息都从同一段原文提取,再建立关联。

02

同一个人,可以关联多份资料

一个事项同时关联多个实体,技术上称为超边。检索时,通过共同的人名、项目名等找到其他事项,按当前问题继续查找。

在提问时查找关联,无需提前构建全局知识图谱
03

新资料可以持续加入

新文档按段整理后,追加写入数据库。检索时结合直接检索与关联查找的结果,最终返回原文和来源。

新增资料按段处理,原文始终可以回溯

05 / DEPLOYMENT

部署与使用

复现实验与配置

建库准备

用模型整理事项、提取实体,再生成向量。新资料处理后,可以继续追加到数据库。

适用场景

适合需要关联多份文档的知识库与 Agent。先查相关事项,再返回原文及出处。

使用限制

同一实体的不同叫法需要自行整理;过时事项也需要单独更新,当前版本不会自动处理。

06 / 个人应用

SAG

将个人资料整理成本地知识库,支持搜索和带引用的问答,也能供 Agent 调用。回答中的引用可以回到原文核对。

  1. 整理个人资料

    将资料加入本地知识库

    01
  2. 搜索或提问

    查找相关内容,也可供 Agent 调用

    02
  3. 核对原文

    从搜索结果和回答引用返回来源

    03