跨会话记忆:让 Agent 记住上次的结论

Agent 的记忆问题:关掉对话,一切归零

怎么让 Agent "记住"上次的结论、偏好和决策

核心问题:每次新会话 = Agent 失忆
周一
Agent 分析了数据
得出了结论
你讨论了方案
遗忘墙
周二
新会话
Agent 什么都不记得
你得重新解释一遍
遗忘墙
周三
又是新会话
又得从头来
"我们上次说到哪了?"
遗忘墙
周四
你受不了了
开始想办法
让它"记住"
Agent 的"记忆"只存在于当前会话的 context 里。关掉对话 = 清空 context = 完全失忆。文件空间里的文件还在,但 Agent 对"你们之前聊了什么、做了什么决定、达成了什么共识"完全不知道。
1
Agent 的五层记忆——从短到长
不同类型的信息应该存在不同"层"里。就像人脑的短期记忆和长期记忆不在同一个地方。
会话记忆(对话上下文)
当前对话里你说了什么、Agent 做了什么。关掉就没了。这是默认的、唯一的"记忆"。
⏱ 寿命:一次会话
文件记忆(工作空间里的文件)
Agent 生成的文件、你上传的资料——它们在文件系统里永久保存。新会话里 Agent 重新读文件就能恢复部分上下文。但它不知道"上次你们讨论了什么"。
⏱ 寿命:永久(只要不删)
框架记忆(/memory、memory/)
框架提供的跨会话记忆系统。Agent 会把重要信息存进去,下次启动时自动加载。不是所有框架都有。
⏱ 寿命:跨会话持久
手动记忆(你主动维护的笔记文件)
你自己写的 DECISIONS.md、CHANGELOG.md、STATUS.md——记录项目决策、状态、历史。Agent 新会话时读这些文件就能"想起来"。最可靠,因为你控制内容。
⏱ 寿命:永久 + 你控制
自动沉淀记忆(Hermes 自学习)
Agent 自动把重要经验写成 Skill 和记忆文件。四层记忆系统:core(永久)、semantic(知识)、episodic(事件)、session(会话)。Hermes 独有。
⏱ 寿命:永久 + 自动维护
2
各框架的记忆能力差异
Claude Code
/memory 查看自动记忆
Agent 自动记住项目模式
存储在 ~/.claude/projects/
记忆质量中等
不支持手动编辑记忆
Codex
无持久记忆
每次会话完全独立
会话日志在 ~/.codex/sessions/
只能靠文件和 AGENTS.md
最依赖手动管理
OpenClaw
有但脆弱
MEMORY.md + daily notes
记忆搜索工具
长期使用容易"断片"
需要定期手动清理
Hermes
四层记忆(最完善)
core / semantic / episodic / session
自动沉淀 + Curator 清理
跨会话搜索
2-4 周后效果显著
3
刻意管理记忆的实践方法
不管框架自带什么记忆系统,最可靠的长期记忆永远是你主动维护的文件。因为你能控制内容、保证准确、随时修改。
方法一:维护一个 STATUS.md — "项目当前状态"
每次会话结束前让 Agent 更新
这个文件记录"项目现在在什么状态、做完了什么、下一步是什么"。Agent 新会话启动时读它,就知道从哪里继续。
STATUS.md
# 项目状态(最后更新:2026-05-26)

## 已完成
- ✅ 10 个 CSV 数据分析完成
- ✅ 周报初稿已生成(output/周报-0526.md)
- ✅ 老板要求全部覆盖

## 进行中
- 🔄 PPT 版本还没做(等老板确认数据后再做)

## 待办
- ☐ 竞品数据需要更新(上次用的是 4 月数据)
- ☐ 小红书品牌合作回复(文具品牌,报价 3000 元/条)

## 关键决策记录
- 2026-05-23:决定抖音主推"对比类"内容(选题会讨论结果)
- 2026-05-26:老板确认粉丝目标从 16 万调整到 18 万
# 每次会话结束前:
> 请根据今天的工作,更新 STATUS.md。记录做完了什么、还剩什么、有什么重要决策。

# 下次新会话开始时:
> 先读 STATUS.md 了解项目当前状态,然后继续今天的工作。
方法二:维护一个 DECISIONS.md — "为什么这么做"
记录选了 A 不选 B 的理由,防止 Agent 下次又选 B
Agent 最容易忘的不是"做了什么"(文件还在),而是"为什么这么做"。下次新会话它可能又提出你上周否决过的方案。
DECISIONS.md
# 项目决策记录

## 2026-05-23 数据图表配色
选了方案 A(公司色板 #003366)
否决了方案 B(渐变色),因为打印出来看不清

## 2026-05-20 周报格式
选了 Markdown 而不是 Word
原因:团队都用飞书,Markdown 直接粘贴不需要转格式

## 2026-05-18 数据分析工具
必须用 pandas 计算,不要让 Agent 凭记忆估算
教训:上次 Agent 把"342 万"记成了"432 万"
方法三:会话交接 — "下班前写交接条"
每次关会话前让 Agent 自己总结
像员工下班前写交接条——把当前进度、未完成事项、注意事项总结好,下一个"员工"(新会话的 Agent)接手时直接看。
# 结束会话前说:
> 请写一份会话交接摘要,保存为 notes/handoff-0526.md,包含:
> 1. 今天做了什么(结果在哪个文件)
> 2. 还没做完的事
> 3. 做过的关键决策和理由
> 4. 下次接手需要注意什么
> 然后更新 STATUS.md

# 下次新会话说:
> 读 STATUS.md 和最近的 handoff 文件,然后继续。
方法四:用框架自带的记忆系统
Claude 有 /memory,Hermes 有四层记忆,OpenClaw 有 MEMORY.md
# Claude Code — 查看/管理自动记忆
> /memory # 看 Agent 自己记住了什么
# Agent 会自动记住项目模式、你的偏好,但你不能手动编辑

# Hermes — 四层记忆
> /memory search "配色方案" # 搜索记忆
> /memory add "周报必须用 pandas 计算数据" # 手动添加
# Hermes 自动管理 core/semantic/episodic 三层,你也可以手动干预

# OpenClaw — MEMORY.md
# 在 workspace 下手动编辑 MEMORY.md,Agent 每次启动都读
框架自带记忆不是万能的。Claude 的 /memory 是只读的(你不能编辑)。OpenClaw 的记忆容易"断片"。即使 Hermes 的四层记忆也可能沉淀错误信息。手动维护的文件(STATUS.md、DECISIONS.md)是最可靠的底线。
4
推荐的记忆管理工作流
项目目录里加这几个文件
README.md ← 项目是什么(不变)
AGENTS.md ← 工作规范(很少变)
STATUS.md ← 当前状态(每次更新)
DECISIONS.md ← 决策记录(有新决策时追加)
notes/handoff-日期.md ← 会话交接(每次结束时生成)
开始新会话时:让 Agent 先读 STATUS.md + 最新的 handoff 文件 + DECISIONS.md。一句话:"读完这三个文件再开始工作。"
做了重要决策时:立刻让 Agent 追加到 DECISIONS.md。"把刚才关于配色的讨论记到 DECISIONS.md 里。"
结束会话前:让 Agent 写交接摘要并更新 STATUS.md。这是最关键的一步——养成习惯后,Agent 的跨会话连贯性提升巨大。
每周一次:回顾 DECISIONS.md 和 STATUS.md,清理过时信息,保持精简。文件太长 Agent 也读不完。
本质上你在做什么?你在用文件系统模拟 Agent 的长期记忆。会话结束时"存档"(写 STATUS.md),新会话开始时"读档"(读 STATUS.md)——就像游戏存档一样。框架的自动记忆是辅助,手动存档是底线。两者配合效果最好。