拆解Cognee:如何基于知识图谱实现RAG与Agent持久记忆

2026年7月8日

81

214

拆解Cognee:如何基于知识图谱实现RAG与Agent持久记忆

在构建真正具备持续学习能力的AI Agent时,记忆系统的设计往往是决定系统智能程度的关键因素。传统的检索增强生成(RAG)方案主要依赖向量相似度进行文档块召回,这种方式在处理简单的事实问答时表现尚可,但在面对需要关系推理、多跳查询或会话连续性的场景时,往往显得力不从心。 Cognee作为一个专注于AI记忆能力的开源项目,凭借其独特的知识图谱架构,在GitHub上获得了超过2.7万颗Star的关注。它为开发者提供了一套可本地部署的完整记忆解决方案,使AI Agent能够跨越多个会话周期,持久化地保留和利用累积的知识与交互经验。

概述

Cognee的核心架构围绕两条数据摄入路径展开,分别对应不同的记忆需求。 第一条是知识记忆路径,用于处理结构化的领域知识。开发者通过cognee.add()方法添加文档、PDF、代码库等原始材料,再调用cognify()方法将非结构化数据转化为知识图谱形式。这一过程涉及文档分类、语义分块、图谱抽取和摘要生成等关键步骤,最终将实体、关系和三元组存入图数据库,同时生成相应的向量索引。 第二条是会话记忆路径,专注于捕获对话上下文和用户偏好。通过cognee.remember()方法,系统将对话片段、交互模式和用户反馈存入会话缓存,并支持按session_id进行隔离管理。当self_improvement参数启用时,后台会自动将重要的会话内容桥接到永久知识图谱中,实现短期记忆向长期记忆的转化。

灵活的部署方案:从单文件到生产级架构

Cognee在部署设计上体现了极大的灵活性,能够适应从个人开发到企业生产环境的不同需求层级。 对于本地开发场景,Cognee采用了零外部依赖的设计思路。默认配置下,系统使用SQLite存储元数据和权限信息,LanceDB处理向量嵌入,Ladybug(图数据库)负责知识图谱存储。这三个组件均为单文件数据库形式,开发者只需配置一个LLM的API_KEY即可快速启动项目。值得注意的是,Ladybug是Kuzu图数据库的活跃开源分支,后者因核心团队被收购而停止维护。 当需要投入生产环境时,Cognee建议切换到PostgreSQL作为统一存储后端。通过安装cognee[postgres]扩展,配合pgvector向量插件,一个数据库即可同时承载图数据、向量索引、会话缓存和关系数据。根据项目CI基准测试,在PostgreSQL上运行的搜索速度比图库与向量库分离部署的方案快约10%。 此外,项目还提供了Docker容器化部署选项,支持API服务、Web UI和MCP服务等多种组件的独立或组合部署。资源方面,API服务建议配置4核CPU和8GB内存,MCP服务建议2核CPU和4GB

图结构让检索不只盯着chunk相似度,还能显式利用实体、边和关系路径,这是传统RAG难以企及的优势。

“技术观察”
🦞

JimoClaw — 桌面 AI Agent 工作台

让 AI 处理本地资料、操控浏览器,最终交付可直接使用的文档、表格与 PPT,而不只是一段回答。

下载桌面版

多层次检索体系:三种模式的灵活切换

Cognee的检索层支持多种模式,可根据实际应用场景灵活选择。系统内置的自动路由机制会根据查询特征智能选择最合适的检索路径,但在大多数情况下,开发者可以根据需求显式指定检索模式。 第一种是CHUNKS模式,属于最轻量级的检索方式。它直接通过向量相似度匹配文档块,返回原始文本内容,不涉及知识图谱的参与。这种模式适合需要精确还原原文的场景,或者在图谱尚未构建完成时的过渡使用。 第二种是RAG_COMPLETION模式,采用传统RAG的工作流程。系统首先通过向量检索定位相关文档块,然后将这些块拼接到提示上下文中,由大语言模型生成最终答案。这种模式在需要完整文档语境的场景下表现良好。 第三种是GRAPH_COMPLETION模式,这是Cognee的核心能力所在。系统先从知识图谱中提取相关三元组,再由LLM基于这些关系化的语义信息组织回答。由于知识图谱显式编码了实体之间的关联,这种模式在处理关系推理、归因分析和跨文档连接类问题时具有明显优势。

核心算法:Brute Force Triplet Search

GRAPH_COMPLETION模式的默认检索器GraphCompletionRetriever实现了一套精心设计的多阶段流水线。整个流程包含向量搜索定位种子节点、图投影构建相关子图、距离映射建立关联分数、三元组打分排序、以及最终LLM生成回答五个核心步骤。 在向量搜索阶段,系统会并行查询多个向量集合,包括实体名称、文本摘要、实体类型、文档块和关系类型等字段,从中筛选出与查询语义最相关的节点作为种子候选。默认配置下,单次查询会截取top 100个候选节点进入后续处理。 图投影阶段支持两种模式:当neighborhood_depth参数设置为0或未指定时,系统采用ID过滤投影,仅拉取种子节点及其直接关联的子图;当指定跳数(如1、2、3)时,系统会沿边扩展指定深度,构建更广泛的邻域子图。在大规模知识图谱场景下,合理的深度设置能够有效控制计算量。 三元组打分综合考虑了三个维度:向量搜索距离、节点重要性权重和用户反馈权重。计算公式将向量距离、重要性权重和反馈权重进行混合计算,最终得到每个三元组的相关性分数。系统通过堆排序取top_k个三元组用于答案生成。 这里尤其值得关

🛡️

积墨 AI 安全隐患巡检系统

任务一键下达 · 隐患 AI 识别 · 整改全程留痕 · 报告一键生成。让安全巡检真正看得见、管得住、能闭环。

了解方案

如有侵权,请联系删除。

Related Articles

联系我们 试用咨询
小墨 AI