记忆与学习
普通 agent 每次运行都是“失忆”的:任务没做完进程就没了。DeepAgents 内置跨运行持久记忆。面试主线:记忆存什么、后端怎么换、和 LangGraph 记忆的关系。
持久记忆的形态
跨运行记忆: 状态可恢复, 知识可复用
DeepAgents 记忆分两层(与 LangGraph 一致,见 LangGraph 持久化篇):
| 层 | 机制 | 内容 | 生命周期 |
|---|---|---|---|
| 运行状态 | checkpointer(state 后端) | 对话历史、图状态 | 线程内,可续跑 |
| 长期知识 | store 后端 | 用户偏好、事实、完成的任务 | 跨会话保留 |
from deepagents import create_deep_agent
agent = create_deep_agent(
model="openai:gpt-5.5",
tools=[...],
state_backend=..., # 运行状态后端 (checkpointer)
store_backend=..., # 长期记忆后端 (store)
)记忆怎么用
- 续跑:长任务中断(进程挂了、人工暂停),同一 thread_id 恢复继续(durable execution)
- 回忆:agent 通过工具读写 store,跨会话记住用户偏好(“上次你说用简洁风格”)
- 学习:store 里沉淀的事实和结论就是“学习成果”,新会话直接可用
生产要点:
- 后端可插拔:内存(开发)到 Redis/Postgres(生产)
- 记忆是上下文管理的输入:回忆的内容要精炼(摘要/要点),别把 store 当垃圾桶
- 隐私与治理:用户可查可删自己的记忆(对应 basic-concepts/memory 的读写治理)
与记忆分类的关系
| 记忆分类(basic-concepts) | DeepAgents 实现 |
|---|---|
| 短期记忆(工作记忆) | checkpointer:当前任务状态 |
| 长期记忆(情景/语义) | store:跨会话事实与偏好 |
| 程序性记忆(技能) | skills:按需加载的行为包 |
| 工作记忆(上下文) | 上下文管理:文件外置 + 摘要 |
面试话术:DeepAgents 把记忆分类的理论落成可配置后端,短期靠 state、长期靠 store、技能靠 skills,三层互不干扰。
面试追问
- DeepAgents 的记忆怎么实现? 两层:checkpointer 管运行状态(续跑),store 管跨会话知识(回忆)。后端可插拔
- “学习”在 agent 里指什么? 把任务结论和用户偏好写入 store,新会话可复用。不是模型权重更新
- 记忆和上下文管理什么关系? 记忆提供材料,上下文管理决定放多少进上下文。回忆要精炼
- 生产记忆要注意什么? 持久后端(Redis/Postgres)、用户可查删、内容治理。别把记忆当无限缓存
- 和记忆分类的对应? 短期=checkpointer、长期=store、程序性=skills。理论落到实现