多轮对话:用持久化记住历史

发布时间:2026/10/22 20:56:09

多轮对话:用持久化记住历史 个人主页 for_ever_love__ 欢迎各位大佬莅临其他栏目: 大模型开发从0到1 其他栏目: iOS项目总结大全 其他栏目: 我想学python了 其他栏目: iOS UI 文章目录多轮对话用持久化记住历史一、核心就三步二、为什么不用手动拼历史三、常见坑四、和生产接上多轮对话用持久化记住历史聊天机器人最基础的能力是「记得刚才聊到哪」。在 LangGraph 里这件事不是靠把历史消息传来传去而是靠Checkpointer MessagesState 同一个 thread_id三者配合自动完成的。一、核心就三步fromlanggraph.graphimportMessagesState,START,ENDfromlanggraph.checkpoint.memoryimportMemorySaverfromlangchain_core.messagesimportHumanMessage,AIMessagedefbot(state:MessagesState):# 真实场景这里调用大模型读取 state[messages] 全部历史return{messages:[AIMessage(content已收到)]}graphStateGraph(MessagesState)graph.add_node(bot,bot)graph.add_edge(START,bot)graph.add_edge(bot,END)appgraph.compile(checkpointerMemorySaver())cfg{configurable:{thread_id:u-1}}之后每一次对话都用同一个 cfg去 invokeapp.invoke({messages:[HumanMessage(content你好)]},cfg)app.invoke({messages:[HumanMessage(content你叫什么)]},cfg)注意每次传入的只是一条新消息但框架会把它追加到该 thread_id 下已有的 messages 后面。模型看到的始终是完整历史。二、为什么不用手动拼历史没有持久化时你得自己维护一个 list每次把过去 N 轮塞进 prompt。问题很多历史会无限变长、跨进程就丢、多个用户要分桶管理。用了 Checkpointer历史由框架按 thread_id 自动累积add_messagesreducer不同用户天然隔离各用各的 thread_id想截断/总结历史只需读取app.get_state(cfg).values[messages]再做处理。三、常见坑忘了带 thread_id每次都传新的/空的 config图就「失忆」每轮都是第一次对话thread_id 复用混乱把不同用户的对话混到同一个 thread_id会串台历史爆长度长期会话 messages 无限增长需要在节点里加「超长则摘要压缩」的逻辑而不是无脑全传。四、和生产接上本地用 MemorySaver 调试没问题但服务一重启记忆就清空。真正上线要把 Checkpointer 换成 Postgres/Redis 后端这样即使进程重启用户的历史仍在。多轮对话的「记忆」本质上就是被持久化下来的那份 messages。
延伸阅读

更多相关文章

2026/10/22 20:56:09

在 Python Web 开发生态中,Flask 始终占据着独特而重要的位置

在 Python Web 开发生态中,Flask 始终占据着独特而重要的位置。与 Django 这类“全栈式”框架不同,Flask 被明确定义为微框架(micro-framework),其核心仅提供路由、请求/响应处理、模板渲染等最基础能力,其…

2026/10/22 23:47:24

AI编程智能体操作系统:事件驱动架构与跨平台协同设计

1. 项目概述:这不是一个“AI助手”,而是一套可调度、可协作、可演化的编程智能体操作系统“Agency Agents”这个词组最近在技术社区里频繁出现,但很多人一看到就下意识联想到“代理”“中介”“中间层”——这恰恰是最大的误解起点。我接触过…

2026/10/22 23:47:23

MySQL大批量删除的隐形风险与5种安全方案解析

1. 为什么大批量 DELETE 是 MySQL 的隐形风险1.1 一条 DELETE 背后到底做了什么有一次在做数据清理时&#xff0c;开发同事直接在主库执行了这么一条语句&#xff1a;DELETE FROM 订单流水表 WHERE create_time < 2023-01-01;他以为这是一条普通的运维 SQL。执行不到五分钟&…

2026/10/22 23:47:23

前端负责人71天转型AI Agent:学习路线与踩坑复盘

1. 71天到底走了多远&#xff1a;先给阶段定个坐标如果你跟我一样&#xff0c;是个写了七八年前端、现在带着几个人的小组、每天还要排迭代和改Bug的前端Leader&#xff0c;看到"AI Agent"这个词&#xff0c;大概率会经历三个阶段的心态变化&#xff1a;先是焦虑&…

2026/10/22 23:47:23

大模型训练底层逻辑:递推、递归与三明治结构

我经常遇到底下有人问&#xff1a;“我用某个预训练模型跑了几个任务&#xff0c;loss也降了&#xff0c;但让我自己改个结构就蒙了&#xff0c;到底该从哪入手&#xff1f;”这个问题很典型。很多人不是不聪明&#xff0c;而是把大模型训练当成黑盒了&#xff0c;只会调包调用…

2026/10/22 23:47:23

用MapReduce实现二度好友推荐:从环境搭建到集群部署全解析

社交App里“可能认识的人”这个功能&#xff0c;估计大家都刷到过。你刚加了几个新同事&#xff0c;系统马上把另外几个同事推给你&#xff1b;你给某个老同学点赞&#xff0c;第二天列表里就出现了他的大学室友。这种推荐背后有很多种算法&#xff0c;但最朴素、也最适合拿来学…

2026/10/22 23:42:19

前端加密实战:用CryptoJS实现AES、HMAC与安全密钥管理

今天想聊一个我在不少前端项目里反复用到的工具&#xff1a;CryptoJS。做过前端安全增强的开发者应该都听过它&#xff0c;简单说&#xff0c;这是一个纯 JavaScript 实现的加密库&#xff0c;能在浏览器端直接完成 AES 对称加解密、SHA 系列哈希、HMAC 消息签名等操作&#xf…

2026/10/22 11:29:28

金融AI落地指南:从调研报告到技术选型与工程实践

简介&#xff1a;这份PDF报告聚焦2025年金融服务业中国AI现状与趋势&#xff0c;面向金融科技从业者、AI战略规划人员及关注行业数字化转型的研究者&#xff0c;帮助读者把握生成式AI在银行、支付、交易等场景中的落地路径与投资方向。资源包内含1个PDF文件&#xff0c;大小约1…

2026/10/22 0:01:49

电商智能运营体系从0到1:架构设计、落地步骤与避坑指南

前两年我们团队接了一个电商平台的运营中台项目&#xff0c;目标很直白&#xff1a;把过去靠运营拍脑袋做的选品、定价、发券、推活动这些事&#xff0c;逐步用数据算法和自动化流程代替。项目名字内部就叫“电商智能运营体系”。最近有不少朋友问我当时是怎么设计的、踩过哪些…

2026/10/22 0:01:49

若依框架AI代码生成不稳定?用Agent Skill三层结构+五步法搞定

最近一段时间&#xff0c;我一直想把后台管理系统里那些机械重复的增删改查代码交给AI去写。框架用的是若依&#xff0c;按理说这类业务代码模式非常固定&#xff0c;应该是AI最擅长的事情。可真试下来却不是那么回事——你让AI生成一个用户管理模块&#xff0c;它给出的Contro…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑