
在开发 AI 产品时Memory 设计至关重要。本文深入探讨了 Memory 的核心问题即如何确定信息保留、出现时机及可信度。文章提出了五种 Memory 设计模式用户画像与对话搜索、时间分层、项目上下文记忆、可管理的记忆记录、用户理解。每种模式针对不同产品需求如减少用户重复自我介绍、延续工作状态、保存项目规则等。强调按需设计而非过度复杂化并提供轻量级与结构化记忆的实现建议。最后指出好的 Memory 设计应关注哪些信息该忘、该留、何时取用及信任谁而非简单存储历史。做 AI 产品时很多人一谈到 Memory就容易先去看技术选型——向量库、embedding、RAG这些概念对从业者来说并不陌生。但真正动手时最先卡住的往往不是技术而是另一个问题哪些信息值得保留、什么时候该出现、出现时能不能信得过。同样都叫 Memory但教学产品关心的是学生总在哪类题上卡住coding Agent 关心的是这个 repo 怎么构建和测试个人助理关心的是今天上午刚定下的安排客服 Agent 关心的是用户刚刚表达过的不满。拿同一套记忆设计去套用所有产品形态可能完整但体验还是会错。所以 Memory 不适合先当成一个通用模块来做。不如先看它在你的产品里到底解决什么问题减少用户重复自我介绍让 AI 能延续昨天的工作保存项目里的局部规则把对话中出现的事实抽出来给系统用还是长期形成对用户状态的理解下面几种模式没有高低之分也不是升级路线——但这不是做得越精细就越好。产品真正要解决的问题不同Memory 的形态也会完全不同。一、用户画像和对话搜索稳定信息进上下文历史事实按需查最常见的一类 Memory是把历史分成两层。少量稳定画像在启动时直接进上下文完整历史则留在可搜索的地方需要证据时再查。画像决定的是默认回答方式和背景知识对话搜索负责回到过去找具体发生过什么。画像这一层要尽量克制只放变化少、复用高、并且能被用户审查的信息比如长期身份、常用技术栈、回答风格偏好、固定项目背景、常用路径、工具环境里的稳定约定。「最近在写一篇 Agent Memory 的博客」可以放但「昨天改到了第三节」「上午定了方案 B」这种具体进度就不行——这类信息变化太快放进画像几天就会过时还是放在工作记忆里更合适。画像从哪来自动和手动可以共存。消费级产品基本只能靠自动——很少有人愿意开聊之前先填一张「关于我」的表开发者 Agent 更需要显式文件因为工程环境、工具链、安全边界都得能审查。理想情况是两边都要系统自动发现候选记忆再由人或 Agent 确认最后写进稳定上下文。Claude 偏自动总结系统从历史对话里提炼长期偏好用户可以去设置里看和改。注意 Claude 的 Chat Search 要和画像记忆分开看画像把长期历史蒸馏成默认上下文Chat Search 是回溯时做语义搜索找证据——两条路径一条默认影响回答一条按需出现刚好就是这个模式的两层。Hermes 偏显式可控USER.md放用户偏好和沟通风格MEMORY.md放环境事实、项目约定、工具技巧和踩坑记录会话开始时整体进系统提示。这种设计很适合做产品的第一步个性化。你不想每次都重新解释自己是谁、喜欢什么语气、在做什么项目产品也不可能把所有历史都塞进 Prompt。留一份稳定画像再给历史证据留个搜索入口两层各管各的。二、时间分层今天、昨天和当前任务需要单独放很多时候连续性问题并不是偏好问题。系统知道用户喜欢简洁回答也知道用户在做 AI 产品但不知道昨天那篇博客改到了哪一版不知道上午拍板了哪个方案也不知道一个分析做到一半停在了哪里。问题出在最近工作状态没有地方放。这类信息太新也太具体变化太快不适合直接写进长期画像。它也不适合只躺在聊天记录里等搜索——用户问「昨天说到哪了」「上午那个决定是什么」的时候系统需要一个最近工作区从所有历史里现搜现拼既慢又不稳定。所以这一层最自然的做法就是按日期记工作笔记今天和昨天自动加载更早的走搜索配一个定期蒸馏把值得长期留的部分写进长期记忆。时间本身就是一种组织方式文件格式只是载体。对一个天天用的助手你最常问的就是「昨天说到哪了」「上午那件事怎么样了」「上次你提醒我的安排是什么」——几乎没人真的需要「帮我找一个语义相似的片段」。工作记忆的原则其实很简单短期但重要的信息先放这里不要急着写进长期记忆。长期记忆应该是蒸馏出来的不能把每天的噪音都灌进去。只做画像的系统记得「用户喜欢直接回答」但不知道「昨天我们正在改一篇博客」只能搜全量历史的系统每次都得从旧会话里现找很慢也不靠谱。最需要工作记忆的是天天陪你的 AI个人助理、行政助理、研究助理、写作协作、项目推进。你会很自然地问「昨天说到哪了」「今天还有什么没处理」「刚才那个决定是什么」。产品要是只记长期偏好或者只能搜全量历史聊几句连续性就断了。OpenClaw 的 daily notes 是目前做这个模式做得最认真的长期有MEMORY.md每天有memory/YYYY-MM-DD.md今天和昨天的笔记自动加载更早的走memory_search可选的 dreaming 再定期把短期信号蒸馏进长期记忆。反过来看 Hermes上下文工程做得很强系统提示、工具约束、画像、记忆、会话搜索、当前任务上下文分层追加——但单看时间连续性Hermes 缺的恰恰是这层中期记忆。这层也不能变成流水账。当天发生的事可以先记下来但必须有清理机制临时状态完成后就该消失值得长期保留的再进MEMORY.md。否则 daily notes 只是把上下文污染从长期记忆挪到了最近记录里。三、项目上下文记忆重点是作用域coding Agent 需要的 Memory 经常围着项目转。一个 Agent 进到陌生 repo通用编程知识已经够用真正缺的是这个项目自己的知识怎么构建、怎么测试、哪些命令不能跑、哪个目录有特殊约定、团队长期形成了什么习惯、之前踩过哪些坑。项目记忆里最重要的设计是作用域。全局用户偏好、仓库规则、子目录约定、某次调试留下的经验不能混在一份大文件里。一个 monorepo 里前端、后端、infra 的测试方式和代码风格可能完全不同。路径级的记忆比全局记忆可靠因为它不容易被错误泛化。这类记忆也很适合由人来直接维护。团队共识、架构决策、安全边界、发布流程本来就该写清楚让模型从聊天记录里猜这些规则风险很高。对开发者工具来说手写的项目说明并不落后很多时候它就是最重要的 Memory 入口。Claude Code 的CLAUDE.md就是这个思路根目录写仓库级规则子目录写更具体的约定Auto Memory 再把 Agent 工作中发现的构建命令、调试经验、架构笔记补进去。人写规则和边界Agent 沉淀经验和踩坑记录两者应该分清楚。有一个地方要留意项目记忆文件提供的是上下文不是强制约束。它能影响模型行为但无法保证模型一定遵守。强制边界得靠 hook、权限控制、沙箱、CI、代码审查这些系统机制。把规则写进 Memory只是让 Agent 更容易按项目习惯工作但并不等于安全问题已经解决。四、可管理的记忆记录当记忆需要被程序稳定处理前面几种 Memory 大多可以用文本文件表达画像、每日笔记、项目规则、经验总结。文本的好处很直接——人能看模型也能看想补充一类信息就是多写几行。很多场景下这已经够了。但有些信息不能只停留在原始对话里。客服 Agent 和用户聊了几轮用户说「以后通知我用邮件不要用短信」。这句话如果只埋在聊天记录里下次另一个 Agent 接手就只能靠搜索找回来。搜「通知方式」不一定能命中「用邮件不要短信」命中了也还要判断这句话是不是最新的、是不是适用于当前业务。这时候可以把这句话抽成一条可管理的记忆记录例如它是一条偏好记录内容是用户更希望用邮件而不是短信通知这条记录归属于某个用户或应用来自某一次对话产生时间是那一天当前仍然有效。不必一上来就套英文术语可以把它理解成「从对话里抽出来、可以被系统查询和管理的记忆记录」。但别因此就觉得一定要上一套很重的结构化系统。Markdown、JSONL、YAML、SQLite 里的文本字段其实都能被程序读写。结构化的价值在稳定性字段清楚过滤更快权限更好做冲突检查更容易批量清理和审计也更方便。但 Schema 也有代价——它会把当前对业务的理解固定下来。产品早期还在变字段定得太细后面大改时会遇到迁移、兼容、旧数据解释、检索逻辑重写这些问题。所以早期可以只保留少数字段归属、作用域、类型、内容、来源、时间、状态。等查询、权限、冲突管理真的需要了再把实体关系、置信度、版本、权限模型补上。轻量条目解决的是「这条信息能不能被稳定找到和管理」更重的结构化事实网络解决的是「这些事实之间能不能被连接起来」——项目管理 Agent 需要知道 Alice 在 5 月 3 日提出的约束影响了里程碑 M2Bob 后来改了方案这几件事之间有关系。单条记忆不够用时才需要实体、时间、关系和来源组成一张网。不管轻量还是重量级这些管理问题都应该排在检索前面。这条记忆属于谁、来源是什么、多久没被验证了、和旧条目是否冲突、用户能不能改能不能删——这些向量检索一件都干不了。缺了这些管理记忆记录只是把上下文污染换了一种形式。五、对用户的理解事实和推断分开放前面几类记忆主要回答「发生过什么」。但有些产品需要的不只是记录而是理解这个用户现在处在什么状态通常怎么表达什么时候需要直接结论什么时候需要一步步解释。教学助手是典型例子。它不只需要知道学生做错过哪些题还要逐渐发现学生在哪个推理步骤上容易卡住适合先看例子还是先看概念最近几次是不是从「不会」变成了「会但不熟」。客服助手也类似——不只要知道用户提交过什么工单还要感知用户是不是已经被重复解释搞烦了。教练、陪伴、学习类产品里这种长期理解会直接影响体验。这里可以用更简单的方式理解。系统先保留原始对话等一轮对话结束后后台再做一次整理哪些是用户明确说过的事实哪些只是这次对话的摘要哪些是系统根据多次互动形成的判断哪些只适合影响当前这一轮回复。等助手要回答时它不是把所有历史都翻出来而是先看这份整理后的理解这个人现在最在意什么他需要直接结论还是需要一步步解释最近是不是已经被重复说明弄烦了这种记忆不只是保存「用户说过什么」而是持续更新「我对这个人的理解」。它关心的是这个人通常怎么想、在意什么、怎么表达、现在可能需要什么。跟前面几种模式的关键区别在于前面的记忆回答「发生过什么」这一层回答「这个人现在可能需要什么」。但这也是最容易过度设计的一层。系统对人的理解不如一条明文记录透明也可能判断错。如果产品没有明确的使用场景只是因为想「更懂用户」就加入这套机制最后很可能得到一个成本高、解释困难、也难以调试的黑箱。这类信息必须和事实分开放。事实是用户明确说过或系统明确观察到的判断是系统根据互动形成的假设。假设可能错也可能过期。助手要是把「用户可能时间很紧」当成事实回答就会变得冒犯把一次情绪化表达沉淀成长期人格判断问题更严重。判断类记忆要有依据、可信程度和过期机制也要能被后续互动推翻——用户明确纠正了判断就要更新或作废。助手回答前可以参考这份理解但不能把它当事实库用。不是所有产品都需要这一层。查天气、做翻译、查资料的工具价值不来自长期理解用户。强行建模只会增加成本和风险。判断标准很简单如果你的产品体验会因为「更懂这个人」而明显变好——学生在同一类题上反复卡住时系统能主动调整讲解方式用户已经被重复解释搞烦时系统能感知情绪变化长期陪伴中对人的理解能越来越准——这一层才值得做。否则前面四种模式已经够用。回到设计五组核心关系上面几种模式看起来不同但做产品设计时会发现绕来绕去就是五组关系。给谁用 给模型默认看的必须短、稳定、低噪音给 Agent 搜的可以大但要有索引和证据给人审的必须透明、能改能删给系统建模用户的权限和纠错机制要格外小心。读者不同形态就不同。活多久 至少四种寿命当前上下文、工作记忆今天/昨天/手头任务、长期记忆、归档。很多产品只做了后两种中间的工作记忆是空的——Agent 要么只记得抽象偏好要么只能搜全量历史。是哪种信息 事实、偏好、规则、经验、推断、任务状态可信度和处理方式都不一样。事实要来源和更新时间规则要优先级和作用域经验要绑定项目推断要置信度和过期机制任务状态做完就清。混在一层里Agent 迟早把推断当事实、把临时状态当长期偏好。什么时候写 用户喊「记住」当然要写被纠正、发现稳定偏好、学到项目惯例时也该主动写会话结束、上下文压缩前、任务完成后都是集中写入的好时机。写入越自动越要过滤——难的不只是把记忆取出来用还有决定什么信息有资格从短期进长期。什么时候读 稳定画像启动时注入项目规则按作用域注入今天昨天的笔记默认加载更早的历史靠搜复杂事实关系走结构化召回。默认注入要克制塞多了就全是背景噪音。几个容易踩的坑把 Memory 等同于向量数据库。 向量数据库解决的是相似性检索盖不住完整的记忆架构。它不知道什么该长期保存不知道事实有没有过期分不清用户偏好和任务状态也不知道哪些内容该默认注入。把聊天记录切块全丢进向量库确实能搜回一些相似片段但那叫历史搜索离长期记忆还远。把所有历史都塞进 Prompt。 这就是上下文污染。Agent 带着一堆无关历史干当前的活成本上去了注意力下来了行为也不可控。Memory 要做的是决定哪些过去值得出现而不是把过去全部搬进来。只有长期画像没有最近工作状态。 个人助手最常见的问题。系统记得你的职业和偏好却不知道昨天刚做了什么决定。Hermes 和 OpenClaw 的差距就体现在这里——Hermes 的画像和搜索不弱但缺 daily notes 这层中间记忆「昨天说到哪了」要靠搜全量历史去拼连续性反而不如机制简单得多的 OpenClaw。事实和推断不分。 用户明确说过的、系统观察到的、模型猜出来的三者可信度不同。推断类记忆如果没有依据、置信度和更新机制就会一点点污染用户画像。没有过期和审查。 记忆多不一定好。过期的记忆比没有记忆更危险——它给模型的是错误的确定性被推翻的结论还留着三周前写下的「昨天」没人知道指哪天重复条目互相打架。OpenClaw 的 Dreaming 和 Claude Code 的 Auto Dream 干的就是这件事做法略有不同思路一致。OpenClaw 把蒸馏过程拆成三个阶段浅睡去重、快速眼动提取主题、深睡加权打分最终只把通过多轮筛选的条目写进MEMORY.md过程留一份人类可读的DREAMS.md供审查。Claude Code 更偏清理合并重复、删掉已被推翻的结论、把相对时间改成绝对日期、把MEMORY.md压回启动加载的行数上限。两者的共同点是蒸馏和清理由系统自动做但结果写成人能看懂、能改的 Markdown而且保留了「什么被留下、什么被丢弃」的痕迹。不同场景会长成不同形态这些模式不是一套固定组合也没有通用答案。客服系统可能更早需要可管理的记忆记录因为用户偏好、工单事实、服务状态需要被不同 Agent 稳定读取也需要权限和审计。coding Agent 通常先需要项目上下文和作用域规则因为 repo 里的局部知识比用户画像更重要。每天都陪用户推进工作的个人助理画像、最近工作状态、历史搜索都会用到但是否还需要用户理解要看产品价值是不是来自长期个性化。先想清楚你的产品缺什么然后挑需要的来做默认上下文少量稳定事实、用户偏好、项目约定启动时进 Prompt。最近连续性手头任务、今天昨天、没干完的事、刚做的决定。可检索证据完整历史、旧的 daily notes、如何学习大模型 AI 由于新岗位的生产效率要优于被取代岗位的生产效率所以实际上整个社会的生产效率是提升的。但是具体到个人只能说是“最先掌握AI的人将会比较晚掌握AI的人有竞争优势”。这句话放在计算机、互联网、移动互联网的开局时期都是一样的道理。我在一线科技企业深耕十二载见证过太多因技术卡位而跃迁的案例。那些率先拥抱 AI 的同事早已在效率与薪资上形成代际优势我意识到有很多经验和知识值得分享给大家也可以通过我们的能力和经验解答大家在大模型的学习中的很多困惑。我们整理出这套AI 大模型突围资料包✅ 从零到一的 AI 学习路径图✅ 大模型调优实战手册附医疗/金融等大厂真实案例✅ 百度/阿里专家闭门录播课✅ 大模型当下最新行业报告✅ 真实大厂面试真题✅ 2026 最新岗位需求图谱所有资料 ⚡️ 朋友们如果有需要《AI大模型入门进阶学习资源包》下方扫码获取~① 全套AI大模型应用开发视频教程包含提示工程、RAG、LangChain、Agent、模型微调与部署、DeepSeek等技术点② 大模型系统化学习路线作为学习AI大模型技术的新手方向至关重要。 正确的学习路线可以为你节省时间少走弯路方向不对努力白费。这里我给大家准备了一份最科学最系统的学习成长路线图和学习规划带你从零基础入门到精通③ 大模型学习书籍文档学习AI大模型离不开书籍文档我精选了一系列大模型技术的书籍和学习文档电子版它们由领域内的顶尖专家撰写内容全面、深入、详尽为你学习大模型提供坚实的理论基础。④ AI大模型最新行业报告2025最新行业报告针对不同行业的现状、趋势、问题、机会等进行系统地调研和评估以了解哪些行业更适合引入大模型的技术和应用以及在哪些方面可以发挥大模型的优势。⑤ 大模型项目实战配套源码学以致用在项目实战中检验和巩固你所学到的知识同时为你找工作就业和职业发展打下坚实的基础。⑥ 大模型大厂面试真题面试不仅是技术的较量更需要充分的准备。在你已经掌握了大模型技术之后就需要开始准备面试我精心整理了一份大模型面试题库涵盖当前面试中可能遇到的各种技术问题让你在面试中游刃有余。以上资料如何领取为什么大家都在学大模型最近科技巨头英特尔宣布裁员2万人传统岗位不断缩减但AI相关技术岗疯狂扩招有3-5年经验大厂薪资就能给到50K*20薪不出1年“有AI项目经验”将成为投递简历的门槛。风口之下与其像“温水煮青蛙”一样坐等被行业淘汰不如先人一步掌握AI大模型原理应用技术项目实操经验“顺风”翻盘这些资料真的有用吗这份资料由我和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理现任上海殷泊信息科技CEO其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证服务航天科工、国家电网等1000企业以第一作者在IEEE Transactions发表论文50篇获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。资料内容涵盖了从入门到进阶的各类视频教程和实战项目无论你是小白还是有些技术基础的技术人员这份资料都绝对能帮助你提升薪资待遇转行大模型岗位。以上全套大模型资料如何领取