游乐游手机版
首页/AI热点日报/热点详情

RAG无答案时,试试SAG知识库方案

类型:热点整理2026-07-21
当RAG在多跳推理中失效时,SAG知识库凭借动态构建局部关系链,精准召回缺失证据。核心内容: 传统RAG在多跳问题中的召回瓶颈 SAG知识库的Event-Entity轻量索引结构 查询时通过SQL动态生成局部关系链 导语 企业知识库中最棘手的问答,往往不是“某段话在哪里”,而是“几段事实如何串联起来

当RAG在多跳推理中失效时,SAG知识库凭借动态构建局部关系链,精准召回缺失证据。核心内容:

  1. 传统RAG在多跳问题中的召回瓶颈
  2. SAG知识库的Event-Entity轻量索引结构
  3. 查询时通过SQL动态生成局部关系链

导语

企业知识库中最棘手的问答,往往不是“某段话在哪里”,而是“几段事实如何串联起来”。

比如文档A说明某业务由团队甲负责,文档B指出李明是团队甲负责人,文档C提到李明后来加入项目Y。用户问:

负责这个业务的团队负责人后来去了哪个项目?

模型如果只检索到A和B,很可能无法回答。问题不在于它不会推理,而在于C没有被纳入上下文。

这类失败非常普遍。很多时候团队会本能地调整prompt、更换模型、扩大上下文窗口,但真正的根源往往出现在更前端的环节:召回链路中断了。

图:企业知识库里的证据链,通常需要跨文档、跨实体重新连接

多跳问题的关键,不是生成,而是证据进入上下文

普通RAG擅长查找“相似内容”。用户问题和文档片段越相似,向量检索越容易命中。

但多跳问题往往并非如此。最后一跳的证据可能与原始问题没有明显的字面重合,语义距离也相当远。

图:多跳问题中,答案常常因最后一段证据未能进入上下文而断裂

如果检索只命中A和B,答案链就会在最后一跳处断开。

此时给生成模型添加“请仔细推理”的指令毫无作用。缺乏证据时,推理只会沦为猜测。

GraphRAG可以缓解这一问题,但维护全局知识图谱同样面临成本:关系抽取、图构建、增量更新、冲突处理、全局一致性。对于持续变化的内部文档,这些成本甚至可能超过搭建知识库本身。

SAG选择了更轻量的方案:不提前维护一张完整的大图,而是在查询发生时,通过关系型数据库动态组织局部关系。

Event-Entity:事项保存语义,实体负责连接

SAG的入库仍从Chunk开始,但Chunk不直接作为唯一的检索对象。系统会将每个Chunk提炼为Event,并抽取相关的Entity。

概念作用
Chunk原始文档切片,保留文本来源
Event语义完整的事项,说明发生了什么
Entity人、组织、项目、产品、时间、概念等连接点
Event-Entity关系把事项和实体关联起来,形成可扩展的索引

Event避免语义被切得过碎,Entity负责连接和扩展。

一个Event可以关联多个Entity,一个Entity也可以连接多个Event。这是一种轻量级二部结构,无需预先将所有实体关系整理成全局图。

图:Event保存事项语义,Entity负责将不同事项连接起来

新增文档时,只需增加新的Event、Entity和关系记录。系统无需重建整张图。

动态超边:查询时才生成局部关系

SAG的关键在于查询阶段。

当用户提出问题后,系统首先查找一组种子实体或种子事项。然后通过SQL读取这些事项关联的其他实体,再利用新实体召回更多事项。

这个过程就像在当前问题周围临时展开一张局部图。

图:查询发生时,系统围绕种子实体和事项动态展开局部关系链

论文将这种查询时形成的关系称为动态超边。可以理解为:多个事项因为共享实体,在当前问题中临时组成一条证据链。

它与静态知识图谱的差异在于构建时机。

静态图试图提前描述所有关系。SAG只在问题到来时组织当前所需的局部关系。这样就把“维护完整图”的问题,转化为数据库更擅长的增量写入、索引和JOIN操作。

图:SQL扩展、向量粗排和重排,各自承担证据召回链路中的不同职责

两条检索路径:速度和语义判断的取舍

SAG的检索可分为两种模式。

模式工作方式适用场景
极速模式用问题在实体库中进行全文或BM25匹配,同时生成查询向量召回标题相关事项,再执行SQL扩展和重排默认交互,减少在线LLM调用
标准模式先由LLM抽取查询实体,再结合实体名称和实体向量进行召回,最后由LLM选择候选事项质量对比、疑难问题、需要更多语义判断的场景

两种模式共享Event-Entity索引和SQL扩展。区别主要在于种子实体的来源以及最终候选的筛选方式。

这表明SAG并非抛弃向量检索,也不让SQL独自承担全部召回。更精确的分工是:

  • 向量检索负责语义邻近性。
  • 实体和关系表负责确定连接。
  • SQL负责多跳扩展。
  • Rerank负责控制最终上下文规模和相关性。

为什么这比“扩大上下文”更可靠

面对多跳问答,一个常见的做法是向上下文中塞入更多文档。

这能解决部分问题,但并非根本之策。上下文增大后,仍需回答两个问题:

  1. 哪些文档值得进入上下文?
  2. 证据之间的关系能否被保留?

仅仅扩大窗口,相当于把召回问题推后到模型阅读阶段。SAG则是在检索阶段就让证据链更加完整。

方案优点风险
扩大上下文简单直接,减少漏召回概率成本高,噪音多,关系链不一定完整
全局知识图谱关系清晰,可解释性强构建和维护成本高
SAG动态关系增量友好,查询时构造局部链路依赖事件抽取质量和索引设计

它并非适用于所有知识库,而是更适合那些跨文档、多跳证据、实体关系密集、且需要持续增量写入的场景。

对于FAQ、单文档问答、关键词稳定的资料库,采用普通混合检索可能更简单。

可解释性来自检索过程,而不只是最终答案

多跳检索系统还有一个很实际的要求:它必须能够解释自己是如何找到答案的。

如果最终答案出错,团队需要知道问题出在哪一段:

  • 实体没有被识别出来?
  • 种子事项没有召回?
  • SQL扩展没有命中下一跳?
  • 向量粗排把正确的事项排到了后面?
  • Rerank丢掉了关键证据?

这类追踪对知识库调优至关重要。仅凭最终回答,很难判断是生成失败还是检索失败。

SAG的Event-Entity结构天然更适合暴露这条链路。每一步召回的事项、实体和引用都能被记录,排查时可以看到证据链是如何断开的。

这比“模型回答不对,再换个prompt”要可控得多。

结语

SAG值得关注的地方,并非又实现了一种更复杂的图,而是将关系构建放回查询现场。

事项保存语义,实体承担连接,SQL负责局部扩展,向量和Rerank控制相关性。它将多跳RAG的核心问题从“模型能不能想出来”,拉回到“证据能不能被找进来”。

对企业知识库而言,这个判断非常关键。很多答案并非生成失败,而是召回链路断了。先把证据链补全,再谈模型推理,系统才有机会稳定提升。

来源:https://www.53ai.com/news/RAG/2026072195620.html

相关热点

继续查看同栏目近期热点。

延伸阅读

补充最近整理过的热点入口。