REM Sleep — 记忆巩固、学习与情绪调节
一种系统化的方法,让AI Agent像大脑经历睡眠一样:将近期经验的原始情节痕迹转化为持久、组织良好、低噪声的长期记忆——同时从事件中剥离情绪负荷,让教训留存,但摩擦消失。
三项任务,借鉴睡眠神经科学:
- 记忆巩固 — 将有价值的内容从会话(短期)转移到长期存储中,以原子化、可检索的形式保存。
- 学习 — 整合:交叉链接记忆,揭示单一事件中不存在的模式。
- 情绪调节 — 重新校准。REM将情绪负荷从事件记忆中剥离;你保留教训,而非刺痛。
这是内在对应外部探索型技能。你不是向世界伸出手——而是处理你自己的一天。
长期存储
该技能操作于基于文件的Agent记忆存储。默认约定(也是示例使用的):
- 一个索引文件 —
MEMORY.md— 每行一条记忆:- [标题](slug.md) — 概要。 - 每个事实一个文件,kebab-case形式的slug,带有前置元数据:
--- name: <slug> description: <单行摘要 — 在回忆时用于判断相关性> metadata: type: user | feedback | project | reference --- <事实内容。对于feedback/project类型,后续添加**原因:**和**如何应用:**行。 使用[[other-slug]]链接相关记忆。>
如果用户的存储位于其他地方或使用其他格式,询问一次并适应——下面的阶段与格式无关。
开始之前:确定范围
一个睡眠周期有明确的跨度。除非用户已提供,否则首先向用户确认范围:
- 当天 — 要整合哪些经验?(本次会话的转录、最近N轮对话、特定项目的工作笔记)。默认值:当前会话。
- 存储 — 长期记忆的存储位置。默认值:Agent的
MEMORY.md+ 记忆目录。 - 深度 — 浅睡(仅巩固和修剪)或全周期(包括整合和情绪调节的所有阶段)?默认值:全周期。
- 写入或模拟 — 实际编辑存储,或仅报告将会发生什么变化?默认值:写入,但在日志中显示差异。
用一句话表述范围,然后继续。
周期
睡眠以NREM(巩固、修剪)然后REM(整合、情绪)的周期运行。按顺序执行各阶段。
1. 睡眠起始 — 收集情节痕迹(重放)
在判断一天之前,先重读它。获取原始材料:最近的对话/转录、工作草稿笔记,以及长期存储的当前状态(先读取MEMORY.md——它是索引)。尚未写入。生成一个简短的突出情节列表:做出的决策、学到的事实、收到的纠正、摩擦点、未解决的问题。这是海马体重放——呈现当天的事件,使后续阶段有东西可处理。
2. NREM — 巩固(短期 → 长期)
陈述性阶段。对于每个突出情节,决定其命运:
- 新的持久事实 → 按存储格式写入新的记忆文件,然后将其索引行添加到
MEMORY.md。 - 已知事实的更新 → 编辑现有文件而非创建副本。将相对日期转换为绝对日期。
- 临时性/已记录 → 跳过。不要存储代码库、git历史或现有文档已记录的内容——那是它们的记忆,不是你的。如果被要求记住可推导出的内容,而是存储其中不明显的部分。
保持每条记忆原子化 — 每个事实一个文件。需要“和”的记忆通常是两条记忆。
3. 突触缩减 — 修剪(睡眠也为了遗忘)
睡眠削弱未使用的连接以保护信噪比。扫描现有存储:
- 重复/重叠 → 合并到一个文件中;更新索引。
- 过时 — 日期已过、状态已变化、计划已放弃。更新它,或者如果完全失效则删除。
- 矛盾 — 新的事件证伪了旧记忆。新真相获胜;删除或修正旧记忆。
精简的存储比完整的存储回忆得更好。不带感情地修剪——但绝不删除你尚未根据当前世界实际情况核实的记忆。
4. REM — 整合与联想(学习)
关联阶段。这是超越字面意思的学习发生的地方。
- 交叉链接 — 在相关记忆之间添加
[[slug]]链接。记忆是一个图,而不是一个列表。链接到尚不存在的slug是可以的——它标记了将来值得写的内容。 - 揭示潜在模式 — 命名单一事件中不包含的内容:“这三个项目都在同一个关口停滞”,“这个偏好和那个纠正是同一个底层价值观”。如果模式是持久的,将其作为自己的记忆写入——但首先检查存储中是否已包含它。重述现有记忆的模式不是新见解;改为链接到那个记忆,而不是重复写入。重新呈现已解决的结论是扰动。
- 轻量遐想 — 生成一两个真正新颖的重组:跨越遥远记忆值得提出的连接。保持低风险——在日志中作为建议提出,不要将其作为事实行动或提交。
5. REM — 情绪调节(杏仁核重新校准)
REM以降低压力化学物质的方式重演情绪事件:你醒来时记住教训,而不是刺痛。对当天摩擦点进行同样的处理。
对于每个收到的纠正、出错的事情、或关系紧张点:
- 保留教训 — 提取持久的指导并存储(通常是
feedback记忆:规则 + 原因 + 如何应用)。这才是应该持久化的内容。 - 释放情绪负荷 — 不要将防御、过度纠正或畏缩带入下一次会话。一次尖锐的纠正就是一次教训,而不是一个新的永久性谨慎,从而扭曲所有后续行为。
- 重新调整姿态 — 诚实地审视当天的偏差:过于谨慎或过于急切?对用户模式匹配错误?在用户希望反思时过度产出?记录调整;如果这是一个持续模式,将其存储为反馈。
检验标准:明天你应该根据教训行动,而不再重温教会它的那个时刻。
6. 苏醒 — 梦境日志
报告结果,结构类似于睡眠日志:
- 睡眠对象 — 范围:哪一天,哪个存储,浅睡还是全周期。
- 已巩固 — 新/更新的记忆(slug — 每个一行)。
- 已修剪 — 合并/删除/修正(slug — 原因)。
- 已整合 — 形成的新链接;命名的潜在模式;梦境(推测性重组),标记为这样。
- 已调节 — 当天的情绪解读,保留的教训,姿态重新调整。
- 未解决的问题 — 未解决的事项,带入下一次清醒会话。
原则
- 巩固,而不是囤积。 睡眠既为了记忆也为了遗忘。修剪后的存储回忆更好。
- 每个记忆一个事实。 原子化和可检索性优于完整但混乱。
- 自由链接。 记忆是一个图。悬空链接可以接受——它们标记了未来的工作。
- 将教训与刺痛分离。 保留指导;释放情绪负荷。这是情绪阶段的全部意义。
- 不要存储已写的内容。 代码、历史和文档本身就是记忆。存储不明显的内容。
- 修剪前先验证。 绝不删除你尚未根据当前世界核实过的记忆——过时也比错误删除好。
- 轻量遐想。 重组是创造性和有价值的,但低风险——呈现它,不要将其作为事实提交。
- 睡眠是周期性的。 在重要会话后或重置前运行——不要在流程中间运行。