DeepAgents+Neo4j:三层图谱打通Agent记忆与知识

Agentic GraphRAG 用 Neo4j 三层图统一知识、工作与决策记忆,并公开设计细节。
Agentic GraphRAG 针对 Agent 落地中 RAG 与记忆割裂的问题,提出用 Neo4j 作为连接层、DeepAgents/LangGraph 作为运行时的三层图方案。知识层保存文档、段落与抽取实体,工作记忆层记录任务、消息和工具调用,决策记忆层保存结论、假设与待解问题,且决策可链接回源段落和更早决策,支持跨会话续作与版本化修订。摄取用 Docling 解析、Chonkie 切分,保留章节层级与表格结构;实体抽取由用户自定义 schema 驱动,本地走 GLiNER,结构化 LLM 抽取用 BAML。检索同时作用于原始段落和图谱,全文本与向量排名经 RRF 融合,并可沿实体关系扩展阅读。引用校验只检查证据是否被读过、在范围内、版本匹配,不判断语义支持。项目提供 MCP server 对接其他框架。
AI Agent 的记忆问题正在成为落地瓶颈。多数团队把 RAG 和 Agent 记忆当作两个独立模块拼在一起,导致 Agent 做过什么、为什么做、依据哪份文档,三者相互割裂。开源项目 Agentic GraphRAG 提出了一种用图数据库统一三者的思路:Neo4j 承担连接层,DeepAgents/LangGraph 提供内置 Agent 运行时。项目的作者在 Reddit 上公开了设计细节,并抛出一个值得讨论的问题——你的检索和长期记忆栈是怎么搭的。

三层图结构:知识、工作与决策
据项目作者描述,整个图被拆成三个互相连接的部分。知识层存放文档、段落以及抽取出的实体与关系;工作记忆层记录任务及其进度,包括消息和工具调用结果;决策记忆层则保存结论、假设和待解问题。
三层并非简单的并列关系。每个决策都可以链接回源段落、任务事件或更早的决策。Agent 的内置实现会把消息和工具活动自动写成任务事件,因此另一个会话可以接着上一轮进度继续干活——这解决的是“Agent 换个会话就失忆”的老问题。
决策的修订也有版本意识:复核一个决策时,既可以确认它,也可以替换它,但旧版本会留在历史里,而不是被覆盖删除。
摄取与抽取:不丢文档结构的细节
知识层的预处理用了 Docling 做文档解析、Chonkie 做切分。值得留意的是它对文档结构的保留程度:章节层级、表格、段落父子关系都被保留,每段还附带源版本和位置信息,PDF 场景下连页码位置也记录在内。
实体抽取是 schema 驱动的。用户需要为领域定义实体、属性和关系的 schema,系统用它指导抽取、校验结果,并决定检索时使用的实体标签。本地抽取走 GLiNER,结构化 LLM 抽取则由 BAML 处理选定的 chunk。这种“先定 schema 再抽取”的路线,比全自动开放抽取更可控,代价是前期要投入领域建模工作。
Docling 是 IBM 开源的一款文档解析工具,专门用于将 PDF、DOCX、PPTX、HTML 等格式转换为结构化的 Markdown 或 JSON,并保留标题层级、段落、表格、列表、阅读顺序等版式信息。相比 PyPDF2、pdfplumber 等偏重文本提取的库,Docling 内置了版面分析和表格结构识别模型,能输出带父子关系的文档树,因此适合做 RAG 的前置解析。
Chonkie 则是一个轻量的文本切分(chunking)库,支持按 token、句子、语义或递归结构切分,并提供多种切分策略的快速对比。它强调切分效率与可配置性,常与 Docling 配合使用:Docling 负责把文档变成结构化块,Chonkie 再把这些块按目标粒度切成适合 embedding 的 chunk。
GLiNER 是一种基于双向编码器(如 DeBERTa)的通用命名实体识别模型,它不需要预先训练固定标签集,而是在推理时接受任意实体类型列表,通过将实体类型与文本片段做联合编码来判断是否匹配。这种“零样本 NER”特性使它适合在本地对自定义 schema 中的实体类型做抽取,无需为每个领域微调模型。
BAML(Boundary ML)是一门用于定义和调用 LLM 函数的领域特定语言,开发者用声明式语法描述输入输出 schema、提示词和解析逻辑,编译后生成类型安全的客户端代码。在结构化抽取场景中,BAML 负责把选定的 chunk 连同目标 schema 一起发给 LLM,并强制输出符合 schema 的 JSON,减少解析失败和格式漂移。
混合检索:抽取漏掉的事实仍可被找到
检索层面,项目没有只押注图。它同时工作在原始段落和抽取出的图之上,把 Neo4j 的全文本排名与向量排名用 reciprocal rank fusion 融合。作者给出的理由很直接:当抽取环节漏掉某个事实时,段落搜索仍然兜得住。
在此基础上,Agent 还能沿实体关系跳到支撑段落,或者从某个搜索命中处向邻近章节、带表头的表格行扩展阅读。这一设计针对的是纯向量检索常见的“只能看到 chunk 边界内内容”的局限。
Reciprocal Rank Fusion(RRF)是一种无需训练的多路检索结果融合方法。对每个候选文档,它在每一路排名中的得分记为 1/(k + rank),其中 k 通常取 60,然后将各路的倒数和作为最终分数排序。RRF 的优势是不依赖各路分数的量纲和分布,只利用排名信息,因此在全文本检索和向量检索这种分数不可比的场景下特别稳健,实现也只需几行代码。
引用校验:能挡住错误,但挡不住全部
项目对引用做了三层运行时检查:引用的证据是否在本次运行中被实际读过、是否落在允许的文档范围内、是否匹配所引用的版本。
作者也坦诚地标注了边界——这些检查不能判定证据是否真的支持结论。另外,被引用文档更新时,受影响的决策及其显式依赖方会被标记待复核,而已有引用仍指向当初引用的原文。这套机制更像引用完整性校验,语义正确性仍需要人或上层流程把关。
开放性设计与待解问题
除了内置 Agent,项目还提供 MCP server,方便接入其他 Agent 框架。作者列出的后续工作包括更模块化的 pipeline、更多存储后端以及领域专属 benchmark。
从社区讨论角度看,这个项目最大的看点不是某个单点技术,而是把“Agent 行为”本身当作一等公民写进知识图谱。如果你的场景需要审计 Agent 决策链路——比如合规审查、研究复现、多会话长任务——这种三层结构值得借鉴。反过来说,如果只是简单问答,引入三层图谱和 schema 建模的成本可能不划算。作者的提问也值得每个做 Agent 的团队回答:你的领域里,检索和长期记忆到底怎么分工?
MCP(Model Context Protocol)是 Anthropic 于 2024 年底提出的开放协议,用于让 LLM 应用以统一方式连接外部工具、数据源和服务。它把集成方抽象为 MCP server,把调用方(如 Claude Desktop、IDE、Agent 框架)抽象为 MCP client,通过 JSON-RPC 暴露 resources、tools、prompts 三类能力。Agentic GraphRAG 提供 MCP server,意味着任何支持 MCP 的 Agent 运行时都可以把它的图检索和记忆能力当作工具调用,而不必绑定 DeepAgents/LangGraph。
相关推荐

育儿付费从何时成为常态?职场妈妈与托育变迁
育儿付费何时成为常态?本文梳理从70-80年代托育中心兴起、90年代联邦补贴挂钩工作要求,到污名下降与成本上升的演变,并探讨倡导者推动托育与带薪产假追赶其他国家的25年努力。

AI智能体最该接管的任务是什么?Reddit热议
Reddit热议:你最希望AI智能体完全接管哪项任务?跨应用数据迁移、CRM更新、报告生成位列榜首,但可靠性不足和信任鸿沟成为自动化落地的最大障碍。

产品市场匹配的红色警报:顶级VC与Superhuman创始人实战指南
Iconiq、Sapphire Ventures投资人与Superhuman创始人Rahul Vohra分享产品市场匹配(PMF)的红色警报与实战方法,包括40%失望度法则、留存曲线和获客成本等关键指标。