记忆系统与大模型提示词
·
一、记忆系统核心框架
记忆系统的核心是两层记忆 + 先读后写的心智模型,核心价值是实现大模型的状态管理与背景注入,关键不在于记忆存哪里,而在于何时读、何时写,最终打造能被业务链路使用的长期记忆系统,区别于单纯的聊天记录存储。
- 两层记忆划分
- 会话记忆(短期记忆):服务于单次任务,任务结束后清空,是任务执行过程中的状态记录,所有大模型应用都需必备,否则会出现对话逻辑断层。
- 用户画像(长期记忆):跨会话存储用户的稳定偏好,仅在高置信度下更新,让大模型能贴合用户个性化需求,避免重复询问用户固定偏好。
- 先读后写时序逻辑任务开始→加载会话记忆 + 用户画像→调用 LLM 前将记忆注入提示词→执行模型推理→每一步链路后写入 / 更新会话记忆→任务结束→更新用户画像 + 清除会话记忆,核心是先加载记忆再干活,干完活再更新记忆,确保每一步推理都有记忆支撑。
二、会话记忆(短期记忆)关键知识点
会话记忆是单次任务的状态载体,直接决定任务执行的连贯性,核心要求是结构化存储、持久化落盘、支持版本回滚。
- 核心存储内容:存储任务状态相关的关键字段,包括任务目标、context 文本、约束条件、呈现问题、收集到的信息、版本号、当前任务执行步骤指针,避免无结构化的自然语言存储。
- 存储格式要求:必须采用字典化(键值对) 存储,方便后续字段更新和读取,若写成长段自然语言,会导致后续无法精准修改和调用。
- 持久化处理方式
- 课堂演示用JSON 文件模拟缓存 / 数据库,真实项目可落盘至 Redis / 数据库,接口保持一致;
- 每一轮独立对话对应一个独立的 JSON 文件,避免会话数据混淆;
- 常见错误:JSON 文件未做中文适配导致乱码、每轮覆盖整个文件不做合并导致并发丢数据、未做版本号管理无法回滚。
- 核心作用:解决单次任务中模型 “失忆” 问题,比如做西红柿炒鸡蛋的任务中,模型能记住用户后续提出的 “加几勺盐” 的要求,无需用户重复表述。
三、用户画像(长期记忆)关键知识点
用户画像是跨会话的长期记忆,核心是只存稳定偏好,不存临时变量,避免长期记忆被污染,同时保证个性化体验。
- 核心存储内容:用户的稳定偏好与固定属性,如常用输出语言、偏好的输出格式(表格 / Markdown)、领域背景(PM / 开发 / 运营)等,需根据业务场景自定义字段。
- 短期与长期记忆的核心区分
- 长期记忆:讨厌甜食、喜欢吃螃蟹(稳定的饮食偏好);
- 短期记忆:今天喝了牛奶不能吃螃蟹(单次临时约束);若将临时变量写入长期记忆,会导致模型长期给出错误结果,比如一直认为用户不能吃螃蟹。
- 画像更新原则
- 高置信度触发:避免随意更新导致记忆污染,课堂给出 3 种工程化触发方式 —— 用户明确说 “以后都这样”、用户连续 N 次体现同一偏好、写入前增加二次确认按钮;
- 单次指令优先级更高:用户本次明确的要求(如长期偏好中文,本次要求英文)需覆盖长期画像,可选择给用户弹出偏好提示,确认后执行。
- 常见错误:将本次任务的临时约束(如预算 5000、本次要英文输出)写入用户画像,导致长期记忆混乱,模型输出偏离用户真实需求。
四、记忆系统的核心操作与问题解决
(一)记忆的读取与注入
- 注入要求:记忆要影响模型输出,必须在读出后结构化注入提示词—— 会话记忆注入 key-value 关键值,用户画像注入模型推理的背景信息;
- 技术实现:课堂用 mock LLM(伪智能体)做演示,真实场景需替换为 ChatOpenAI,同时安装相关依赖、配置密钥;
- 验证方法:通过单元化测试验证记忆是否生效,比如先定义 “苹果加梨等于桃子”,后续询问该问题,模型能正确回答则说明记忆注入成功。
(二)记忆的写入与迭代
- 写入原则:每一步链路后写入,而非一次性写入,确保每一步的状态都能被记录,支持版本回滚;
- 计划迭代与版本控制:真实系统中任务计划会经历 “评估 - 改写 - 再评估” 的循环,需为每个版本生成唯一版本号,记录每个版本的得分和内容,支持回滚到任意版本;
- 核心禁忌:不要将反馈信息直接混到计划文本中,会导致无法分析改进原因,需将反馈与计划分开存储。
(三)记忆压缩
- 压缩原因:历史会话记录不断累积会导致TOKEN 爆炸,增加模型推理成本,甚至被模型截断,影响推理效果;
- 压缩策略
- 会话记忆只存结论摘要 + 关键约束,不存完整对话;
- 计划迭代仅注入 1-2 个最新版本的摘要,其余版本落盘存储;
- 避免同一信息重复存储,将多轮对话的核心信息压缩为一个摘要块,持续更新。
(四)可观测性与排错(记忆不生效的排查)
记忆不生效是高频问题,核心排查方法是打印日志 + 单步调试,重点验证三个核心点:
- 是否写对:写入的字段是否正确,是否存在 JSON 格式错误导致读取失败;
- 是否读新:读出的记忆是否是最新版本,是否因版本号定死导致一直读取旧版本;
- 是否注入:提示词中是否包含记忆块,若未注入,即使存储了记忆,模型也无法使用。
- 常见隐蔽错误:会话 ID 混用(读 A 会话的记忆,写 B 会话的状态)、当前步骤指针不更新导致前后端 / 链路状态不一致。
五、记忆系统的实战应用:带记忆的任务拆解 Mini Agent
课程演示了带记忆的任务拆解小智能体,实现了记忆的闭环管理,核心流程为:
- 第一轮:收集任务目标;2. 第二轮:收集任务约束 / 用户偏好;3. 第三轮:生成第一版任务计划;4. 第四轮:生成第二版优化计划;
- 全程记录会话记忆,保存计划的所有版本,任务结束后根据置信度更新用户画像,最终输出包含目标、约束、多版本计划的完整结果;
- 该 Agent 为伪代码演示(未调用真实 API),但核心逻辑可直接迁移到真实项目,是记忆系统落地的基础案例。
六、真实项目中的记忆系统落地
- 核心架构:会话记忆(单次任务)+ 用户画像(跨会话),会话记忆包含对话上下文、临时约束、计划版本,任务结束后清空;用户画像包含稳定偏好、领域背景,高置信度更新;
- 执行流程:用户请求→加载会话记忆 + 用户画像→拼接至提示词→执行业务链路→每轮迭代后更新会话记忆→任务结束→更新用户画像(可选);
- 代码关键操作:加载会话记忆获取目标 / 上下文,更新会话 ID 避免混淆,每轮计划迭代后保存版本(V1/V2/...),任务完成后根据评分更新用户画像。
七、大模型提示词核心知识点
课程简要讲解了提示词的设计逻辑,提示词是模型推理的核心指引,网上通用模板不一定适配自有程序,需结合业务场景 + 模型特性自定义调整。
- 核心应用场景:任务拆解、呈现问题、质量评估、意图路由,不同场景需配置不同的提示词,避免一个提示词通用所有场景;
- 提示词结构:由系统提示词 + 用户提示词组成,系统提示词定义模型角色(如经验丰富的需求分析师)和能力,用户提示词明确具体任务要求、输入输出格式;
- 关键设计要求
- 明确输出格式:如 JSON 格式,方便程序后续解析;
- 意图路由精准:模型需判断用户需求类型(信息不足 / 可直接拆解 / 发泄情绪 / 无法识别),匹配对应的处理逻辑,同时结合对话历史判断,避免单轮对话导致误判;
- 先定模型再调词:不同大模型的特性不同,需先确定使用的模型,再针对性优化提示词,二者同步调整;
- 核心原则:不要让一个模型兼具多种能力(如同时做需求分析和任务拆解),会导致输出效果下降,应按场景拆分能力,匹配专属提示词。
八、核心总结
- 记忆系统的核心不是 “存储”,而是 “精准的读、写、注入”,无注入的记忆只是无效的日志,无法为模型推理提供支撑;
- 结构化是记忆系统的基础,无论是会话记忆还是用户画像,字典化 / 字段化存储是后续更新、读取、压缩的前提;
- 短期记忆是大模型应用的 “标配”,长期记忆是 “增值项”,落地时需先做好短期记忆,再根据业务需求迭代长期记忆;
- 提示词设计需贴合业务 + 适配模型,拒绝生搬硬套通用模板,同时按能力拆分场景,让模型各司其职,提升输出效果。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)