当前位置: 首页 > news >正文

发明 AI 智能体长期记忆:从「金鱼记忆」到「时序推理」—— AI智能体记忆的结构化进化

发明 AI 智能体长期记忆:从「金鱼记忆」到「时序推理」—— AI智能体记忆的结构化进化

    • 起点:原始尝试
    • 迭代优化过程
      • 问题一:信息检索不精准
      • 问题二:信息会过时
      • 问题三:检索结果太多、太杂
    • 系统化完善
      • 实体抽取与消歧
      • 时间表达式解析
    • 核心演化路径总结

代码:https://github.com/getzep/graphiti

起点:原始尝试

如果把用户的对话记录塞进大模型的上下文窗口,让它「记住」之前说过的话——

模型确实能回答「上周我跟你说了什么」这类问题

效果虽有,问题却很大:上下文窗口塞满11.5万token后,模型答题准确率仅 55.4%,响应延迟高达 31秒

更糟的是,对话一长,关键信息淹没在海量文本中;信息一更新,旧事实和新事实混为一谈

迭代优化过程

问题一:信息检索不精准

可问题又来了 —— 传统RAG只能做静态文档检索,语义相似≠逻辑相关

于是,你引入 三层知识图谱结构:

• Episode子图:存储原始对话消息,保留完整上下文
• Semantic Entity子图:从对话中抽取实体和关系(如「张三」-「就职于」-「公司A」)
• Community子图:用标签传播算法聚类相关实体,生成高层摘要

这样,检索时不再是「大海捞针」,而是沿着知识图谱的边精准定位

问题二:信息会过时

可问题又来了——用户说「我换工作了」,旧的就职信息怎么处理?

于是,你引入 双时序模型(Bi-temporal Model):

• T时间线:记录事实在现实中的有效期(valid_at 到 invalid_at)
• T’时间线:记录数据何时入库、何时失效

新边入库时,系统自动对比语义相关的旧边,发现矛盾就将旧边标记为「失效」,同时保留历史记录
用户问「我 现在 在哪工作」和「我 去年 在哪工作」,系统能给出不同答案

问题三:检索结果太多、太杂

可问题又来了——三种搜索方法(余弦相似度、BM25全文检索、广度优先图遍历)各有所长,结果如何整合?

于是,你引入 多级重排机制:

• RRF融合排序:综合多路召回结果
• MMR去重:最大边际相关性,去掉冗余结果
• 提及频率排序:对话中高频出现的实体优先返回
• Cross-encoder精排:用模型对候选结果精细打分

最终,上下文从11.5万token压缩到 1600 token,信息密度提升70倍

系统化完善

实体抽取与消歧

消息入库时,系统先做命名实体识别,再用反思技术(Reflexion)减少幻觉;对抽取出的实体,通过embedding相似度+全文检索找到候选重复项,让LLM判断是否合并,避免「张三」和「老张」变成两个节点

时间表达式解析

「下周四」「两周前」这类相对时间,系统根据消息发送时间戳自动转换为绝对时间,确保时序推理准确
社区动态更新

新实体入库时,用标签传播的单步逻辑快速分配社区,延迟完整社区刷新,兼顾实时性和一致性
成就总结

恭喜你,发明了 Zep——基于时序知识图谱的智能体记忆层


在时序推理任务上提升 38.4%,跨会话任务提升 30.7%——这不仅是检索系统的升级,更是赋予AI智能体真正的「长期记忆」能力

核心演化路径总结

标题:从「金鱼记忆」到「时序推理」——AI智能体记忆的结构化进化

  1. 核心问题:全文上下文检索导致信息淹没、时序混乱、延迟高
  2. 核心解法:三层时序知识图谱(Episode→Semantic→Community)+ 双时序边失效机制
  3. 技术支撑:BGE-m3嵌入、Neo4j图数据库、Cross-encoder重排、标签传播社区检测
  4. 最终成果:准确率 +18.5%,延迟 -90%,Token -98.6%
  5. 本质升华:将RAG从「静态文档仓库」变成「动态演化的世界模型」,模拟人类情景记忆与语义记忆的双系统
http://www.cnnetsun.cn/news/81310.html

相关文章:

  • 生成对抗网络:从代码到创意的商业变现指南
  • 【R与Python函数调用适配全攻略】:掌握跨语言协作的5大核心技术
  • R与Python库版本同步实践全解析(20年专家亲授避坑手册)
  • 心法利器[147] | Agent,是大模型落地的殊途同归
  • 金融风险管理实战(R语言蒙特卡洛模拟大揭秘)
  • 帮我推荐短视频seo电话
  • 金融风险建模不再难,R语言压力测试十大关键步骤全公开
  • 基于Java的取水许可与征费智慧管理系统的设计与实现全方位解析:附毕设论文+源代码
  • 【实践篇】我在某AI Native系统架构设计与实现上做了一点尝试:双路径架构
  • 气象数据分析的秘密武器:R语言季节性分解技术首次完整披露
  • 揭秘R语言在环境监测中的数据同化魔法:5个关键步骤实现精准预测
  • 塔吉特成功率低?自养号技术底层原理与落地步骤
  • 【R语言量子电路优化实战】:掌握5大核心技巧提升量子算法效率
  • 内存管理 - 内存泄漏 - 排查、预防策略
  • 全球服贸联盟:世界主要城市数字经济创新与知识产权发展指数报告2025(摘要)
  • 冰途缓行,雪路安驾:冰雪天气安全驾驶指南
  • DuckDB Go客户端深度开发指南:构建高性能嵌入式分析应用
  • 关于 windows 批处理文件 echo 中文后显示乱码的问题
  • 基于springboot的旅游线路定制微信小程序_u13nyaer_sf062
  • 让动态代理真正落地:在 Java 与 ABAP 里生成并持久化 Proxy 类的工程化实践
  • 用 SWE2 监听 SAP BOR 事件:以 BUS1178 产品创建为例,实时触发邮件通知与调试技巧
  • CentOS Stream 9入门学习教程,从入门到精通,Linux日志分析工具及应用 —语法详解与实战案例(17)
  • Lazy Loading、 Singleton 与 Bridge:在 JavaScript 和 ABAP 里把对象初始化写得更省、更稳、更易扩展
  • 用 ABAP 模拟 Currying:把参数绑定这件事做到极致
  • 错过这8个R语言函数,你就等于放弃了环境数据的准确性
  • CIKM‘25 | 联盟营销场景下,基于时空动态网络的两阶段传播规模预测
  • 音频格式完全指南:如何为不同场景选择最佳格式
  • DataEase 终极部署指南:从零到一的完整教程
  • 智能开发环境下的 Diagram-as-Code 实践:MCP Mermaid 技术链路拆解
  • 为什么你的多因素分析总被退稿?R语言正确姿势一次性讲清楚