9.4.1 记忆路线图:写入、检索、遗忘
记忆不是为了让 Agent 看起来像人,而是为了服务任务:减少重复沟通、保留有用上下文、复用经验,并避免过期信息或隐私泄露。
先看记忆闭环
Section titled “先看记忆闭环”


核心决策不是“全部保存”,而是什么该保存、何时检索、何时更新、何时遗忘。
跑一个记忆写入过滤器
Section titled “跑一个记忆写入过滤器”只有稳定偏好和可复用事实才适合进入长期记忆。
events = [ {"type": "preference", "text": "prefers short examples"}, {"type": "temporary", "text": "debugging one local error"}, {"type": "fact", "text": "project uses Python"},]
memory = []for event in events: if event["type"] in {"preference", "fact"}: memory.append(event["text"])
print("saved:", memory)print("count:", len(memory))预期输出:
saved: ['prefers short examples', 'project uses Python']count: 2如果一条记忆不有用、不新鲜、没权限或检索不到,它可能比没有记忆更伤害 Agent。
按这个顺序学
Section titled “按这个顺序学”| 步骤 | 阅读 | 实操产出 |
|---|---|---|
| 1 | 记忆概览 | 区分上下文窗口、短期记忆、长期记忆 |
| 2 | 短期记忆 | 跟踪跨轮次的当前任务状态 |
| 3 | 长期记忆 | 保存稳定偏好、事实和项目背景 |
| 4 | 情节记忆与程序记忆 | 区分发生过什么和下次怎么做 |
| 5 | 记忆工程 | 设计写入、检索、更新、过期和删除规则 |
学完这一页,至少保留这张证据卡:
- 记忆类型
- 短期、长期、情景或程序性
- 写入规则
- 在内存创建或更新时
- 检索规则
- 查询、相关性、时效性和权限检查
- 失败检查
- 过时记忆、隐私泄漏、矛盾或过度检索
- 清理动作
- 总结、合并、过期、删除或请求确认
如果你能解释为什么“记更多”不等于“表现更好”,就通过了本章。
本章出口小项目是一套学习规划助手记忆规则:什么保存、什么确认、什么临时保留、什么删除。
检查思路与讲解
- 合格答案要描述 agent 循环:目标、计划、工具调用、观察结果、记忆或状态更新,以及停止条件。
- 证据应包含另一个开发者可以检查的 trace,而不只是最终回答。
- 自检时要能说出一个安全或可靠性控制,例如工具 schema、权限边界、重试、评估用例或人工复核点。