创建时间: 2026-03-29最后更新: 2026-09-10作者: yangbo(9e98781e0)
1. 记忆从哪里来
大模型不会自动保留上一次调用的内容。每次请求到达模型时,它只能读取这次请求提供的上下文。
例如,用户先后说了三句话:
code.ts
1第 1 轮:我叫小林,最近在学习 LangChain。2第 2 轮:我每天只能学半小时。3第 3 轮:你还记得我在学什么吗?
第三轮能否正确回答,取决于应用有没有保存前两轮的状态,并在第三轮调用模型前恢复它们。LangChain 把同一段会话中的这类状态称为短期记忆(short-term memory)。
学习短期记忆之前,先区分四层数据:
| 数据 | 作用 | 常见位置 |
|---|---|---|
| 界面消息 | 在聊天窗口中展示历史记录 | React state、聊天组件 |
| 本轮输入 | 用户这一次新发送的消息 | invoke() 或 stream() 的输入 |
| Agent 状态 | 保存消息、工具结果等运行数据 | LangGraph 线程状态 |
| 模型上下文 | 本次真正交给模型的内容 | Agent 在运行过程中组装 |
聊天窗口中看得到旧消息,只能说明界面保存了它们。Agent 能否在下一轮继续使用这些消息,还要看线程状态有没有被保存和恢复。
短期记忆只在一段会话中生效。跨会话保存用户偏好、个人资料等数据属于长期记忆,后面的持久化文章会继续介绍。当前先解决一个具体问题:让 Agent 在相同会话中记住前面说过的话。
正在加载图示...
正在验证登录状态
请稍候,验证完成后将继续显示文章内容