为什么基础RAG在多跳推理中表现不佳(以及GraphRAG如何解决它)
你的RAG流水线返回了措辞自信、格式规整的答案。Embedding已经过调优,分块大小也经过优化,检索评分看起来很漂亮。然后用户突然问:“哪些受港口罢工影响的供应商,今季合同也即将到期?”系统却返回了关于港口物流和合同管理的零散片段——各自独立,从未将它们关联起来。这就是多跳推理的鸿沟,也是向量检索悄然失效之处。
这不是调参问题,而是架构层面的缺陷。向量相似度能找到看起来像查询的文档,却无法穿越散落在不同文档中的实体关系。当问题的答案需要跨多份文档拼接不同事实时,基础RAG的局限性就会彻底暴露。

向量检索在多跳查询前“卡壳”:RAG的架构天花板?
基础RAG的核心逻辑是通过向量相似度检索语义接近的文本块,再结合大模型生成答案。这种方法在单跳事实性检索上表现优异:比如在Natural Questions(NQ)数据集上,RAG的准确率显著高于GraphRAG,因为它能直接从文本中匹配到与问题高度相关的细节信息。但一旦问题需要多步推理,RAG就会立刻失效。
设想一个合规性查询:“我们哪些欧洲供应商在过去一年的安全审计中未通过,且正在处理个人可识别信息(PII)?”要回答这个问题,需要同时匹配“欧洲供应商”“审计未通过”“处理PII”三个分散在不同文档块中的条件,没有任何单一文档块包含完整答案。向量检索会分别返回讨论欧洲供应商、安全审计、PII处理的零散片段,但没有任何机制求取这些集合的交集。
基准测试数据证实了这一差距:在MultiHop-RAG数据集上,标准RAG的准确率仅为65.77%,而GraphRAG达到71.17%;在HotpotQA数据集上,基于图的检索比纯向量方法的精确度提升了高达5%,问题所需的推理跳数越多,两者的差距就越悬殊。比如问“爱因斯坦的导师的导师是谁”,RAG会因为相关信息分散在不同文本块中,找不到实体之间的关联链,无法给出准确答案。
知识图谱介入:GraphRAG给RAG装上“关系神经网络”?
GraphRAG是微软研究院2024年推出的RAG升级方案,核心逻辑是在文档与大语言模型之间加入知识图谱层,将原本松散的文本块转化为结构化的实体-关系网络。整个流水线分为三个阶段:
- 抽取:在数据摄入阶段,调用大模型(如GPT-4o)处理每个文档块,提取实体(如公司、人物)作为节点,提取实体之间的关系(如“ACQUIRED”“LEADS”)作为边,构建知识图谱。
- 索引:对知识图谱进行层次化社区划分,优化不同粒度的检索效率。
- 检索:回答多跳问题时,不再仅依赖文本块的语义相似度,而是沿着实体关系链检索,能有效关联分散在不同文档的信息。
比如图谱中存有(“Acme Corp”) - [ACQUIRED] -> (BetaTech)和(“Sarah Connor”) - [LEADS] -> (BetaTech)的关系,当问“谁控制的公司在过去一年收购了科技公司?”时,GraphRAG能沿着关系链直接关联到答案,而RAG只能返回零散的收购新闻和人事任命片段。在