Graphiti 时序记忆图谱
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/build-temporal-context-graphs-for-agent-memory-from-evolving-facts-with-graphiti。
技能介绍
为什么要关注时序记忆
大多数 Agent 的记忆实现会把消息或文档压成扁平向量,检索时只能拿到一个"最近相似"的片段。一旦事实发生变更——例如用户从"试用期成员"变成"已付费团队管理员"——旧记录不会自动失效,新记录也未必覆盖旧向量。结果是:模型可能引用早已过期的权限描述,或者无法解释"为什么当前状态与上周记录不同"。
这个技能要解决的核心问题很具体:当事实会随时间演变时,怎样让 Agent 在下一次推理时仍能拿到准确的、带来源的上下文,而不是依赖关键词命中或堆砌聊天记录。
技能做了什么
它基于 Graphiti 构建时间上下文图,把每一次事实输入看作事件,并保留它们之间的关系。与普通 RAG 相比,关键差异在于:
- 时间边(temporal edges):事实之间的关系会随事件被标记为有效或过期,查询时优先返回当前有效路径。
- 实体提取与分组:人物、项目、权限等实体会被结构化,而不是只有一段散文。
- 混合检索:在语义搜索之上叠加 BM25,缓解单纯向量检索常见的高相似却语义漂移问题。
使用流程大致是:先把 Agent 捕获的事件流接入 Graphiti,再由其写入底层图库;查询时按实体或片段发起检索,即可拿到带时间戳和来源事件的上下文块,供后续 LLM 推理使用。
适用边界与注意点
- 底层图库需要自行准备并保持可用,官方支持包括 Neo4j、FalkorDB、Kuzu、Amazon Neptune,并可结合 OpenSearch 做全文检索。
- LLM 推理与嵌入默认依赖 OpenAI API,其他模型需要自行适配。
- 面向的是事实会变化的场景;如果你的数据基本静态,普通向量库可能更轻。
- 检索性能和开发工具需要按自己的环境做二次实现,上游不提供开箱即用的仪表板或 SDK 工具链。
使用场景
- 当团队角色和权限多次变更后,需要 Agent 只使用当前有效权限做决策,而不是引用历史聊天中的旧描述。
- 在长期运行的运维 Agent 中记录设备状态演变,查询时要能区分曾经发生过的故障和当前仍在持续的告警。
- 跨多轮对话维护客户档案时,需要从旧片段里找出当前最新的联系方式,并保留每次变化的时间和来源事件。
- 同一实体在不同文档中反复出现并被更新,需要合并为统一视图,同时保留旧值以便回答“何时从 A 变成 B”。
适合人员
- 正在为长期运行的 Agent 构建记忆层的后端工程师,需要管理会随时间变化的事实。
- 负责运维平台自动化的数据科学家,希望系统能区分已解决的历史告警和当前仍在持续的异常。
- 开发企业级智能助手的技术团队,需要审计每一次事实变化来自哪个原始事件或对话。
- 构建客户支持机器人的工程师,需要在多轮对话中追踪联系人信息、订阅状态等频繁更新的内容。