[控场AI]
· 6 分钟阅读· 3,145 字

Zep v4 发布:让 AI Agent 真正学会在图谱中导航

Zep v4 发布:让 AI Agent 真正学会在图谱中导航

Zep v4 将知识图谱交互拆分为搜索与导航,让 Agent 一次调用完成图遍历。

Zep v4 针对 AI Agent 使用知识图谱效率低下的痛点,将图谱交互重构为「搜索」与「导航」两种互补能力。搜索负责定位匹配节点,导航则从节点出发一次性拉取其全部邻居及连接边。相比旧模式下每走一跳都要额外 API 调用、Agent 还要自行实现图遍历逻辑的做法,v4 让每个问题只需一次调用即可完成。文章通过约 300 节点的销售基准图谱演示,展示了对 Revenue Controls Committee 的一次导航调用即返回 12 个邻居节点及其边,而度数最高的枢纽节点拥有 97 条边。v4 还提供按度数排序的 list 接口和有界子图接口,并在响应中明确标注是否触达边界限制,使 Agent 能识别自己看到的是局部而非全貌。这些能力同步落地到 Dashboard 图谱助手与 Context MCP Server。

AI Agent 与知识图谱的结合一直面临一个尴尬的现实:图谱存好了,但 Agent 用不好。传统做法是让 Agent 拉取被截断的边列表,再自己逐个解析节点——每走一跳就是一次额外的 API 调用,效率低且容易出错。Zep v4 的发布正在改变这个局面。

从「搜索」到「导航」:图谱交互范式的转变

Zep v4 引入的核心理念是将图谱交互拆分为两种互补能力:搜索(Search) 负责找到与查询匹配的位置,导航(Navigation) 则从一个节点出发,拉取其直接连接的所有内容。

这听起来简单,但背后的变化是根本性的。在 v4 之前,Agent 想要在图谱中游走,必须获取受限于上限的边列表,然后自行逐一解析每个节点。这种方式的问题在于:每一跳都需要额外的 API 调用,Agent 既要做检索,还要做图遍历的逻辑推理,负担极重。

v4 之后,每个问题只需要一次调用。Agent 可以直接列出连接最多的节点、查询某节点的邻居、或者拉取一个有边界的子图。更关键的是,当结果触及限制时,API 响应会明确告知——这意味着 Agent 知道自己看到的是局部而非全貌。

图谱约300个节点

什么是图谱中的「边列表」与「节点解析」

在图数据库(如 Neo4j、Zep 底层使用的图存储)中,数据以「节点(Node)」和「边(Edge)」组织:节点代表实体(如「Revenue Controls Committee」这个团队),边代表实体之间的关系(如「设定规则于」)。当 Agent 查询一个节点时,API 通常返回它的邻居信息,但出于性能与响应体积考虑,这条返回结果会被「截断」——只给出邻居节点的 ID 或名称,而不附带每条边上的属性(如关系类型、时间戳、置信度)。Agent 若想知道「这个邻居是什么类型、通过什么关系连过来」,就必须对每个邻居再发起一次查询。这就是所谓「逐节点解析」,也是旧模式下每一跳都要额外 API 调用的根源。Zep v4 的导航接口把节点、边及其属性打包在一次响应里返回,本质上是把「N+1 次查询」压缩为「1 次查询」。

实战演示:在销售基准图谱中导航

Zep 在开发项目中构建了一个约 300 节点的销售基准图谱,涵盖审查案例、审批流程、团队和投资组合记录。

以 Revenue Controls Committee(收入控制委员会)为例,这个团队负责发布审批并为若干审查案例设定规则,因此拥有大量边连接。一段简短的 Python 脚本可以完成整个操作:先用节点搜索找到该委员会,然后调用 graph.node.listNeighbors 获取其邻居。

结果是——一次调用返回 12 个邻居节点,每一行代表一个邻居及其与委员会之间的连接边。其中 Northwind 案例自身还拥有 7 条边。在没有导航能力的旧模式下,获取这些信息可能需要十几次 API 调用。

一次调用返回12个邻居节点

度数排序与有界子图:Agent 如何知道自己看到了什么

Zep v4 还提供了两个强大的工具:

  • graph.node.list:按度数(degree)排序,优先返回连接最多的节点
  • graph.getSubgraph:从列表中排名靠前的节点向外扩展指定跳数

在演示中,度数最高的枢纽节点是 Atlas APAC forecast case,拥有 97 条边。两跳子图拉取了 75 个节点和 200 条边,同时明确标注「已达到边限制而停止」。

这个「边界感知」的设计值得关注。Agent 能够识别出当前看到的是部分邻域而非完整图谱,因此可以主动调整策略——请求更少跳数或添加过滤条件,而不会误将局部当成全局。

Agent能识别部分邻域

度数(Degree)与「枢纽节点」的意义

在图论中,一个节点的「度数」指的是与它直接相连的边的数量。度数高的节点通常扮演「枢纽(Hub)」角色:它们连接着大量其他实体,往往是业务流程的汇聚点或信息流转的关键环节。在知识图谱场景下,度数排序有两个实际价值。其一是发现入口:当 Agent 对图谱结构不熟悉时,从度数最高的节点入手往往能快速触达核心信息,而不必盲目检索。其二是评估图谱密度:演示中 Atlas APAC forecast case 拥有 97 条边,这个数字本身就提示该实体是一个跨团队、跨流程的复杂节点,值得优先探索。需要注意的是,度数高并不等同于重要性高,某些「噪声节点」也可能因为泛化连接而度数偏高,因此度数排序应作为探索启发式,而非唯一的重要性判据。

Dashboard 助手与 MCP Server 的同步落地

Zep 的 Dashboard 中内置了一个图谱助手,它使用的正是同一套导航工具。用户可以提问「Revenue Controls Committee 为哪些案例设定了规则」,然后观察每一个检索步骤的实时执行:搜索委员会 → 列出邻居 → 返回 5 个案例,同时在图谱上高亮显示证据链。

这个助手是只读的,面向所有客户开放。在 Context MCP Server 中,同样的导航能力以工具形式暴露:

  • GetNodeNeighbors:列出与某个实体相连的所有实体及其连接事实
  • GetSubgraph:围绕种子实体探索一个有界的多跳区域

搜索找到图谱中的正确位置,导航从那里开始游走。按度数排列的枢纽节点、带边信息的邻居列表、以及会主动声明自身局限性的有界子图——这些能力都已包含在 v4 SDK 和 Context MCP Server 中。

助手检索并高亮证据

MCP 与「工具调用」抽象层

MCP(Model Context Protocol)是由 Anthropic 提出并逐渐被业界采纳的一套开放协议,用于让 AI 模型以标准化方式连接外部数据源和工具。它的核心思路是把「能力」封装成一个个可被模型调用的工具(Tool),模型通过结构化的 JSON 参数发起调用,服务端返回结构化结果。Zep 将图谱导航能力(GetNodeNeighbors、GetSubgraph)以 MCP 工具形式暴露,意味着任何兼容 MCP 的 Agent 框架都能直接调用这些能力,而无需针对 Zep 写专门的适配代码。这正是文章中「将图操作从数据获取提升为工具调用」的技术落点:Agent 不再把图谱当作一个需要自己写遍历逻辑的数据集,而是当作一组可声明式调用的能力。工具调用这一抽象层的价值,在于让模型负责「决定做什么」,让服务端负责「如何高效地做」。

为什么这对 AI Agent 开发者重要

Zep v4 解决的是一个信号链路上的结构性瓶颈。当 Agent 需要理解实体之间的关系时,图谱导航的一等公民化意味着:Agent 不再需要自己实现图遍历算法,不再需要为每一跳单独发起请求,也不再需要猜测自己是否拿到了完整数据。

将图操作从「数据获取」提升为「工具调用」的抽象层次,让 Agent 能够把精力集中在推理和决策上,而非底层的数据编排。对于构建知识密集型 Agent 应用的开发者来说,这是一个值得关注的架构演进方向。

#Zep v4#AI Agent 图谱导航#知识图谱工具#MCP Server#Graph Subgraph#Agent 检索#Zep SDK
分享:

相关推荐