题目
智能体的记忆机制该如何设计?请说明短期记忆与长期记忆的实现方式与取舍。
参考答案
记忆让 Agent 跨步骤、跨会话保持状态,是”可记忆”的关键。通常分两层:
短期记忆(Working Memory)
- 载体:当前上下文窗口(对话历史 + 已执行步骤 + 工具返回)。
- 实现:把近 N 轮交互或最近动作拼进 Prompt。
- 挑战:上下文窗口有限,长任务会”撑爆”。
- 优化:
- 滑动窗口(只保留最近 K 轮)
- 摘要压缩(LLM 把旧历史压缩成摘要)
- 结构化状态(只存关键字段而非全文)
长期记忆(Long-Term Memory)
- 载体:外部存储(向量数据库、KV 存储、知识图谱)。
- 实现:把重要事实/偏好/过往经验向量化存库,新任务时检索召回。
- 典型形态:
- 语义记忆:事实知识(“用户偏好 Python”)
- 情景记忆:过往具体经历(“上次执行该任务踩过 X 坑”)
- 程序记忆:技能/流程(如何调用某工具链)
- 写入策略:显式写入(LLM 判断重要就存)或后台异步总结。
取舍:
| 维度 | 短期记忆 | 长期记忆 |
|---|---|---|
| 速度 | 快(直接在 Prompt) | 慢(需检索) |
| 容量 | 小(受窗口限) | 大(外部库) |
| 跨会话 | 否 | 是 |
| 一致性 | 强 | 需去重/更新 |
面试加分点:能点出”记忆不是越多越好”——无关记忆召回会污染上下文、误导推理;好的记忆系统需具备写入判断、检索相关性、过期淘汰三能力。LangGraph 的 checkpointer 与 store 正是工程化这两层记忆的典型。
出处:LangGraph / Agent 岗位 JD(BOSS 直聘《AI 大模型应用工程师 Agent 方向》)、Agent 面经。
内容来源
整理自 LangGraph / Agent 岗位 JD 与面经
本站内容整理自公开面经与开源仓库,仅供学习交流,严禁杜撰。