尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

大模型记忆系统

大模型记忆系统 AI Agent 记忆系统新手完全入门教程本教程面向零基础/刚入门 AI Agent 开发的读者从为什么需要记忆讲到怎么选型落地读完即可建立完整认知。目录记忆系统是什么为什么需要它Agent 的五种记忆类型记忆系统的通用工作流程主流记忆框架逐一拆解框架横向对比与选型新手学习路线推荐常见误区与避坑一、记忆系统是什么为什么需要它1.1 一个生活化的类比想象你有一位私人助理但每天早上醒来都完全失忆——你不记得自己叫什么、昨天安排了什么、老板喜欢什么口味的咖啡。你每天都要从头自我介绍。这就是大语言模型LLM的原生状态。GPT-4、Claude、DeepSeek……它们本质上是无状态Stateless的每次 API 调用都是一次全新的计算关掉对话一切归零。1.2 三大痛点痛点具体表现后果成本爆炸聊 100 轮后每次调用带几万 token 历史费用线性增长不可持续注意力衰减模型对长 context 中早期信息关注度下降越聊越不在意前面说过的话跨会话失效用户第二天来上下文全没了无法提供连续、个性化体验1.3 记忆系统的定义记忆系统 让 AI 在对话之外持久化地记住关键信息并在需要时精准召回的中间层。它不是模型本身的能力而是外挂的一套工程架构负责写入从对话中提取值得记住的信息存储持久化到数据库/向量库/图谱检索在需要时把相关记忆召回️遗忘清理过时或无关的记忆一句话总结没有记忆系统Agent 只是一个高级问答机器人有了记忆系统它才能成为真正的智能体。二、Agent 的五种记忆类型借鉴认知科学对人类记忆的分类当前主流Anthropic、OpenAI、Google DeepMind 等团队均采用将 Agent 记忆分为五层 总览表记忆类型类比存什么持续多久工程实现① 工作记忆你正在想的事当前对话上下文任务结束即清除Context Window / AgentState② 语义记忆你知道的知识用户偏好、事实长期向量数据库 / KV 存储③ 情节记忆你经历的故事具体事件、对话片段中长期时序图谱 / 日志④ 程序性记忆你的肌肉记忆操作流程、SOP永久Prompt 模板 / 工作流⑤ 感知记忆刚看到的画面原始输入缓冲毫秒~秒级输入流 / 缓冲区逐个详解① 工作记忆Working Memory是什么Agent 当前正在处理的信息相当于脑子里正在想的事。例子你让 Agent 查天气它先搜城市代码→调天气 API→组织回答。这中间的临时状态就是工作记忆。特点容量有限受 token 限制、任务结束即清除。实现LangGraph 的AgentState、对话消息列表。② 语义记忆Semantic Memory是什么关于世界的事实和概念不绑定具体时间。例子“用户叫小明”“用户是 Python 工程师”“用户不吃辣”。特点长期有效、可更新。实现向量数据库存 embedding、键值对存储。③ 情节记忆Episodic Memory是什么具体发生过的事件带有时间戳。例子“上周三用户讨论了项目 A 的需求”“昨天用户修改了偏好设置”。特点有时间线、可按时间回溯。实现时序知识图谱如 Zep 的 Graphiti、带时间戳的日志。④ 程序性记忆Procedural Memory是什么怎么做某件事的技能类似骑自行车不用想先踩哪只脚。例子调用某个 API 的步骤、复杂工作流的执行顺序。特点一旦学会很少改变。实现Prompt 模板、规则引擎、工作流图DAG。⑤ 感知记忆Sensory Memory是什么最原始的输入缓冲几乎不被显式实现。例子语音输入的原始音频流、图片的原始像素。特点极短暂通常直接传入下一层处理。实现输入缓冲区、流式处理管道。新手重点日常开发中最常打交道的是前三种——工作记忆、语义记忆、情节记忆。三、记忆系统的通用工作流程不管用哪个框架记忆系统的核心流程都是同一个闭环┌─────────────────────────────────────────────────────────┐ │ │ │ 用户输入 ──→ 【提取】──→ 【存储】──→ 【检索】──→ 注入 Prompt │ │ │ │ │ │ ▼ ▼ ▼ ▼ │ 从对话中 持久化到 按相关性 拼接到当前 │ 抽取关键信息 数据库/向量库 召回记忆 上下文中 │ │ │ ──→ 【遗忘/更新】定期清理过时信息 │ │ │ └─────────────────────────────────────────────────────────┘四步拆解步骤做什么关键技术提取Extract从对话中识别值得记住的信息LLM 摘要、NER、规则过滤存储Store将信息持久化向量数据库、图数据库、SQLite检索Retrieve根据当前问题找到相关记忆语义相似度搜索、图遍历、关键词匹配注入Inject将召回的记忆拼入 Prompt模板拼接、权重排序四、主流记忆框架逐一拆解4.1 Mem0 —— 轻量入门首选项目说明GitHub Stars60,000YC 孵化一句话定位插拔式语义记忆层5 分钟接入核心原理自动分析对话 → 提取事实/偏好 → 存入向量数据库 → 语义检索召回存储架构向量数据库 知识图谱 键值数据库混合优点接入极快、API 简洁、生态成熟、支持记忆导出缺点时序能力弱问上周说了什么不太行、缺乏自动归纳适合谁想快速给 Agent 加记忆、不想搭复杂基础设施的开发者最简代码示例frommem0importMemory mMemory()# 添加记忆m.add(我喜欢喝美式咖啡不加糖,user_idxiaoming)# 检索记忆resultsm.search(用户的咖啡偏好,user_idxiaoming)print(results)# → 喜欢喝美式咖啡不加糖4.2 Zep —— 时序记忆专家项目说明核心引擎Graphiti动态、时间感知的知识图谱一句话定位基于情节图谱的记忆框架擅长时间线问题核心原理三层 Subgraph 架构优点时序推理强、能回答上周/上个月类问题缺点超长周期跨季度记忆支持有限、部署略重适合谁需要理解事件时间线的对话系统三层架构┌─────────────────────────────────────┐ │ Episodic Memory情节层 │ ← 原始对话保留时间戳 ├─────────────────────────────────────┤ │ Semantic Memory语义层 │ ← 抽取实体与关系 ├─────────────────────────────────────┤ │ Community Memory社区/归纳层 │ ← 高层摘要与洞察 └─────────────────────────────────────┘典型能力✅ “用户上周三讨论了什么”✅ “最近一个月用户偏好有什么变化”❌ “半年前那次对话的细节”超出能力边界4.3 LangMem —— LangChain 生态原生方案项目说明一句话定位LangChain/LangGraph 的亲儿子记忆模块核心原理区分工作记忆当前会话和长期存储跨会话两种模式Hot Path主动调用/ Background后台自动优点与 LangGraph 零摩擦集成、Namespace 灵活隔离缺点强绑定 LangChain 生态、非 LangChain 项目接入代价高适合谁已经/计划使用 LangChain 技术栈的团队两种记忆模式对比模式触发方式类比适用场景Hot PathAgent 主动调用manage_memory工具你主动记笔记需要精确控制存什么Background系统后台自动从对话中提取潜意识自动记忆不想手动管理、全自动最简代码示例Hot Pathfromlangmemimportcreate_memory_manager managercreate_memory_manager(modelopenai/gpt-4o)# Agent 在对话中主动存储记忆awaitmanager.ainvoke({action:store,content:用户是一名前端工程师偏好 TypeScript,namespace:(user,xiaoming)})# 检索记忆memoriesawaitmanager.ainvoke({action:search,query:用户的技术栈偏好,namespace:(user,xiaoming)})4.4 SQLite —— 轻量持久化基石项目说明一句话定位零配置本地数据库常作为记忆系统的底层存储核心用途Checkpoint检查点、会话历史、结构化元数据优点无需额外服务、单文件部署、Python 内置支持缺点不具备语义检索能力、不适合大规模并发适合谁本地开发、原型验证、作为其他框架的存储后端在记忆系统中的角色┌──────────────────────────────────────────┐ │ 记忆框架Mem0 / Zep / LangMem │ │ ↕ │ │ 存储层SQLite / PostgreSQL / Redis│ └──────────────────────────────────────────┘SQLite 通常不单独作为记忆框架而是作为存储引擎或Checkpointer保存 Agent 执行状态支持断点续跑。4.5 TiMem / MemOS —— 前沿方案了解即可框架特色成熟度TiMem五层时序记忆树模拟人脑记忆巩固Token 最省较新适合长期陪伴类应用MemOS记忆操作系统概念统一管理所有记忆类型学术前沿生产落地少新手阶段了解概念即可暂不建议直接上手。五、框架横向对比与选型 一表对比维度Mem0ZepLangMemSQLite上手难度⭐最简单⭐⭐⭐⭐⭐⭐时序能力弱强中无语义检索✅✅✅❌自动归纳弱中中❌生态绑定无无强绑 LangChain无部署复杂度低中低在LC内极低适用规模个人~中型中型~企业中型原型/本地 选型决策树你需要给 Agent 加记忆 │ ├─ 已经在用 LangChain/LangGraph │ └─ YES → 用 LangMem零摩擦 │ ├─ 需要回答时间线相关问题上周聊了什么 │ └─ YES → 用 Zep │ ├─ 只想快速跑通 Demo / 存用户偏好 │ └─ YES → 用 Mem0 │ ├─ 只是本地开发、存个会话状态 │ └─ YES → 用 SQLite 做 Checkpoint │ └─ 需要跨月/跨年的超长期记忆 └─ 研究 TiMem / 自研分层方案六、新手学习路线推荐 推荐顺序由浅入深阶段学什么时间建议目标第 1 步理解五种记忆类型 通用流程1~2 天建立概念框架第 2 步动手跑通Mem0的 Quick Start1 天体验5 分钟加记忆第 3 步学习 LangChain 的短期记忆AgentState2~3 天理解工作记忆的实现第 4 步学习LangMem的 Hot Path / Background 模式2~3 天掌握长期记忆的两种范式第 5 步了解Zep的三层图谱架构1~2 天理解时序记忆的设计思路第 6 步用 SQLite 实现一个简单的 Checkpoint1 天理解持久化与断点续跑第 7 步综合实战搭一个带记忆的对话 Agent3~5 天融会贯通 推荐学习资源资源链接/说明LangMem 官方 Quick Startlangchain-ai.github.io/langmem/hot_path_quickstart/Mem0 GitHub Docsgithub.com/mem0ai/mem0Zep 官方文档docs.getzep.com菜鸟教程 - Agent 记忆系统设计runoob.com/ai-agent/ai-agent-memory-system-design.html掘金 - 2026 记忆框架横评搜索Mem0 Zep LangMem TiMem 横评 新手第一个项目建议用 Mem0 做一个记住你喜好的聊天机器人# 完整示例10 行代码实现有记忆的对话frommem0importMemoryfromopenaiimportOpenAI mMemory()clientOpenAI()defchat(user_input,user_id):# 1. 存储本轮对话中的关键信息m.add(user_input,user_iduser_id)# 2. 检索相关记忆memoriesm.search(user_input,user_iduser_id)# 3. 拼接记忆到 Promptcontext\n.join([mem[memory]formeminmemories])# 4. 调用 LLMresponseclient.chat.completions.create(modelgpt-4o,messages[{role:system,content:f你了解用户的这些信息\n{context}},{role:user,content:user_input}])returnresponse.choices[0].message.content运行效果你我叫小明是一名后端工程师喜欢喝美式咖啡 AI你好小明作为后端工程师你平时用什么语言比较多 第二天新对话 你推荐一杯咖啡吧 AI根据你之前的偏好推荐一杯不加糖的美式咖啡 ☕七、常见误区与避坑❌ 误区 1“上下文窗口够大就不需要记忆系统”哪怕 2M token 的窗口也只是推迟问题。成本更高、速度更慢、关键细节仍会遗漏。工程上仍需要写入→检索→老化→治理的完整闭环。❌ 误区 2“记忆 把对话历史存起来”真正的记忆系统需要提取、归纳、去重、更新。不是把所有对话原样塞进数据库而是提炼出用户喜欢什么“发生了什么关键事件”。❌ 误区 3“一个框架解决所有问题”实际生产中往往是组合使用SQLite/Redis → 存会话状态CheckpointMem0/Zep → 存长期用户画像Prompt 模板 → 存程序性记忆SOP❌ 误区 4“新手直接上最复杂的方案”先用最简单的方案跑通 → 遇到瓶颈 → 再升级。不要一上来就搞五层记忆树。✅ 正确心态没有最好的框架只有最适合你场景的框架。选错了后期迁移成本很高所以先想清楚需求再动手。总结一张图记住全部内容┌─────────────────────────────┐ │ AI Agent 记忆系统 │ └──────────────┬──────────────┘ │ ┌──────────────────────┼──────────────────────┐ │ │ │ ┌──────▼──────┐ ┌──────▼──────┐ ┌──────▼──────┐ │ 五种记忆类型 │ │ 通用流程 │ │ 主流框架 │ ├─────────────┤ ├─────────────┤ ├─────────────┤ │ ① 工作记忆 │ │ 提取 │ │ Mem0 │ │ ② 语义记忆 │ │ 存储 │ │ Zep │ │ ③ 情节记忆 │ │ 检索 │ │ LangMem │ │ ④ 程序性记忆 │ │ 注入 │ │ SQLite │ │ ⑤ 感知记忆 │ │ 遗忘 │ │ TiMem │ └─────────────┘ └─────────────┘ └─────────────┘最后的建议如果你是纯新手从 Mem0 开始。5 分钟跑通第一个 Demo建立直觉后再深入其他框架。记忆系统不难难的是想清楚我的 Agent 到底需要记住什么。祝学习顺利
返回列表