RAG撞上多跳推理的天花板

检索增强生成(RAG)解决过真实问题。它让大语言模型能回答训练数据里没有的信息,办法是从向量库里抓取相关文本块塞进提示词。几年时间里,这套机制已经足以让聊天机器人在私有文档、维基和工单上显得真正有用。

打开网易新闻 查看精彩图片

但大多数把RAG推上生产环境的团队都撞上了同一堵墙。问RAG系统“上个季度我们交付了什么”,它抓回几段语义相近的段落,通常只是碰巧把“交付”和“季度”两个词放得比较近。再问“哪些客户暴露在刚换掉的那家供应商造成的故障里,每家的续约由谁负责”,它直接散架。这个问题跟语义相似度无关,它问的是关系:故障到根因到供应商到客户到账户负责人到续约日期。

嵌入相似度搜索无论怎么调,都很难稳定走完这条链,因为这条链并不编码在任何单一文本块的含义里,而是编码在连接众多数据片段的结构里。这就是检索与推理之间的缺口:检索找出看起来相关的东西,推理沿着真正相关的东西一跳一跳往前走,还能解释自己走过的路径。

从被动检索到确定性推理

填补这个缺口,正在推动当前向图驱动代理式AI系统的转向。在这类系统里,Gemini这样的大语言模型不再只是读一个静态上下文窗口,而是主动查询知识图谱、检查返回结果、决定下一步查什么,再用一条真实的证据链拼出答案或多步动作。

这套架构由三个组件组成,配合得异常紧密:谷歌Gemini担任推理引擎,Neo4j作为代理推理所依赖的结构化记忆,模型上下文协议(MCP)充当两者之间的标准化接线。向量数据库擅长一件事:找到与查询语义相似的文本。它们不是为表达实体之间显式的、带类型的关系而构建的,也没有原生的遍历概念,也就是沿着连接链深入多步。

知识图谱把这件事翻转过来。在Neo4j这样的图数据库里,数据被存成节点和关系,实体之间的连接成为一等公民。这让代理可以沿着明确的关系边一步步走,而不是依赖某段文本碰巧与问题在语义上接近。

多跳查询需要结构,不是相似度

纯向量搜索在需要多跳推理、结构上下文或跨分散数据点的关系聚合时就会露怯。一个需要跨越多层关系的查询,本质上要求系统理解实体之间如何连接,而不是理解某段文字大概在说什么。

这正是图数据库与向量数据库的分工所在。向量检索负责“哪些内容看起来相关”,图遍历负责“哪些实体真正相连”。当问题涉及依赖链、归属链、因果链时,后者才是能给出可解释路径的方式。

把结构化知识图谱、推理优化的大语言模型和MCP标准化工具接口组合起来,就是从被动检索走向确定性推理的路径。代理不再只是被塞进一堆文本,而是能够查询、检查、再查询,沿着关系把证据串起来。

MCP把工具调用标准化

模型上下文协议在这套架构里承担的是接线角色。它让大语言模型与外部工具之间的调用方式标准化,代理因此可以按照统一接口去查询Neo4j,而不需要为每一个数据源单独写对接逻辑。

这种标准化降低了把图数据库接入代理工作流的成本。Gemini负责决定查什么、怎么解释结果,Neo4j负责保存实体和关系,MCP负责让两者之间的交互变得可重复、可维护。

当查询需要跨多个数据点做关系聚合时,这套组合的优势更明显。代理可以先定位故障根因,再沿关系找到受影响客户,接着关联到账户负责人和续约日期,每一步都有明确的边作为依据。

推理闭环的搭建思路

构建这类系统的关键,是让大语言模型不再只读静态上下文,而是进入一个查询、检查、决策、再查询的循环。Gemini在每一步都能看到上一步从Neo4j返回的结构化结果,并据此判断下一步该沿哪条关系继续走。

这种闭环让最终答案建立在真实证据链上,而不是建立在某几段文本的语义巧合上。对于需要解释路径的场景,代理可以说清自己经过了哪些节点、哪些关系,这比单纯给出一段生成文本更有说服力。

从RAG到图驱动代理的转变,本质上是把系统从“找相似”推向“沿关系推理”。向量搜索仍然有用,但当问题涉及多跳、结构和关系聚合时,图数据库加上推理优化的大语言模型,再通过MCP标准化连接,才是更完整的方案。