Agent 记忆机制
一句话定位:Agent 记忆分短期(上下文窗口)和长期(外部存储)两层,MemGPT 的关键洞察是把这两层当成”内存 vs 磁盘”来做分页调度——用有限的上下文窗口,管理无限增长的历史信息。
1. 短期记忆:上下文窗口
- 直接把最近的对话历史塞进 Prompt,简单直接,但受上下文窗口长度限制,历史一长就要做取舍。
- 常见策略:滑动窗口(只保留最近 N 轮)、摘要压缩(把较早的历史用 LLM 总结成一段摘要再保留),后者是更常见的生产做法。
2. 长期记忆:向量库存储 + 相关性召回
- 把历史交互、用户画像等信息切片、embedding 后存入向量库;当前轮对话时,用当前问题去检索最相关的历史片段,动态拼进上下文。
- 本质是把”记忆”从”必须全部塞进上下文”变成”按需检索”,这正是 RAG(8.4)思路在记忆场景的应用。
3. MemGPT 的核心思路:把上下文当”内存”
- 类比操作系统的虚拟内存分页:上下文窗口 = 有限的物理内存(快但小),外部存储(向量库/数据库)= 磁盘(慢但几乎无限大)。
- MemGPT 让 Agent 自己决定”什么时候把当前不常用的上下文换出到外部存储,什么时候把需要的历史信息换入上下文”,通过自我调用的”分页”函数管理这个过程,从而让 Agent 拥有远超单次上下文窗口长度的”有效记忆”。
4. 面试落点
- 能清楚区分短期/长期记忆的实现方式与各自的取舍(窗口限制 vs 检索延迟与召回质量)。
- 可迁移话术:这套”内存 vs 磁盘”分页管理思路,和 3.2/3.5 里 GPU 显存的分页管理(PagedAttention)、大数据里”热数据在内存、冷数据落盘”的分层存储设计是同一个思想在不同层次的复用——这是一个很好的跨知识域连接点,面试时可以主动串联。
参考:论文《MemGPT: Towards LLMs as Operating Systems》;LangChain 官方文档《Memory》章节