大模型---记忆系统
目录1.记忆的分类2.memory与RAG的结合3.memory系统(1)MemGPT(2)A-MEM(3)THEANINE之前讲了RAG相关知识,现在讲一下记忆系统,即memory。RAG相当于一种读外部信息的方法,而memory则是一个管理短期状态与长期经验的系统。1.记忆的分类(1)短期记忆(working memory)指的是当前会话或当前线程里的状态,例如,对话历史,当前任务状态,当前检索到的文档,当前生成的中间结果。LangGraph 把它定义为thread-scoped memory,会在单个会话中跟踪消息历史和状态,并在每一步开始时读取、结束时更新。(2)长期记忆① 事实记忆(Semantic memory)里面存的是稳定事实、概念、用户资料、偏好等。比如“用户喜欢简洁回答”“用户在某公司做 NLP”。LangGraph 直接把它定义为 facts。② 经历记忆(Episodic memory)存的是过去发生过的事件、任务过程、成功案例、失败经验。比如“上次这个任务是怎么解决的”。LangGraph 把它定义为 experiences / past agent actions。③ 程序性记忆(Procedural memory)存的是“怎么做事”的规则、指令、工作流、提示模板。比如系统提示词、工具调用规则、行为准则。LangGraph 把它定义为 instructions,并指出在 agent 里常体现为模型权重、代码和 prompt。2.memory与RAG的结合(1)RAG做semantic memory一般流程可以这样看:①当前用户消息、工具结果、任务状态,先进入 short-term / working memory。这个阶段通常由 thread state 或 session state 承担;②agent会基于短期记忆构造检索意图,可能包括:外部知识库检索(RAG),用户长期偏好检索,过去类似任务经验检索,工作流规则检索,这时short-term memory相当于“查询上下文”;③ 接着Agent会从长期记忆和外部知识中取回内容,这里往往是混合检索:一部分来自知识库/文档库,一部分来自semantic memory,一部分来自episodic memory,然后统一进prompt或state;④模型结合当前会话状态+检索回来的记忆+工具结果,做回答、规划或调用工具;⑤ 记忆写回与整理:这一步是memory system和普通RAG最大的不同。系统会问:这轮是否有新事实值得长期保存? 这次成功解决问题的经验要不要变成 episodic memory? 旧记忆是否需要更新、合并、失效或压缩?可以看出,memory-aware agent和传统RAG很像,只是会多出两步:写入和更新/演化。也就是:记忆先被写入某种外部存储,需要时再通过检索取回,取回的记忆被放进当前prompt/state,模型基于这些记忆继续推理和行动。RAG在这个过程中被当作读取路径。/