详情

首页手游攻略 AI Agent 如何拥有长期记忆?Cognee 知识图谱使用方法

AI Agent 如何拥有长期记忆?Cognee 知识图谱使用方法

佚名 2026-07-15 18:00:02

一个项目 Agent 记住“发布推迟到周五”并不难,难的是它还要知道:谁提出延期、影响哪条需求、之前为何否决周四,以及新决策是否已经覆盖旧决策。长期记忆要解决的不是保存一句话,而是把事实放回关系网络中。

先把记忆分成快路径和重路径

Cognee 的 remember 有两种用法。带 session_id 时,内容先进入会话缓存,写入快,适合正在发生的对话;不带会话 ID 时,会执行摄取、分块、实体关系抽取、建图与富化,形成永久图记忆。

默认开启自我改进时,会话内容还会在后台桥接到长期图谱。若关闭该选项,缓存里的内容不会凭空变成永久记忆,需要显式运行 improve。失败场景很直接:Agent 在当前窗口记得决定,隔天换会话却查不到,通常是桥接没有完成或写进了另一个数据集。

用一个项目数据集跑通写入与召回

import asyncio
import cognee

async def main():
    await cognee.remember(
        "支付改版延期到周五,原因是回归测试未完成。",
        dataset_name="release_notes"
    )
    results = await cognee.recall(
        query_text="支付改版为什么延期?",
        datasets=["release_notes"]
    )
    for item in results:
        print(item.text)

asyncio.run(main())

这里故意限定数据集。省略范围时,召回可能搜索当前用户有权读取的多个数据集,知识越多,噪声也越多。共享数据集还应优先按数据集 ID 控制权限;只凭名称查找,非创建者即使获得读权限也可能解析失败。

图谱让“相关”多一层结构

向量检索擅长找到意思接近的片段,图谱则把实体作为节点、把关系作为边。项目名、负责人、日期、阻塞项和决策可以被连接起来,于是“延期原因”和“受影响需求”不必恰好出现在同一段文字里。

recall 默认会根据问题选择检索策略。关系型问题更偏向图上下文,时间问题会偏向时间检索,精确短语则更适合词法路径。自动路由省掉手工选择;问题写得过于含糊时,它也可能选不到理想路径,关键任务可显式指定查询类型。

三个边界决定记忆是否可信

  1. 先写后查。 recall 不负责初始化数据库;空库直接查询会报前置条件错误。
  2. 等待索引完成。 数据正在处理时也能查询,但只能看到已经完成索引的部分,结果可能不完整。
  3. 允许遗忘。 旧政策、错误事实和用户撤回的数据要用 forget 清理,不能只靠新增一条相反记录覆盖。

实用做法是给每类 Agent 单独划数据集,短对话写会话缓存,稳定事实进入永久图谱,再用一组固定问题做回归检查。能准确召回只是第一关;能解释记忆属于哪个项目、何时写入,并在规则变化后及时删除,才是可持续的长期记忆。

相关资讯
点击查看更多
游戏推荐
推荐专题
热门阅读
推荐下载