Communitygithub.com

thdelmas/rem-sleep

REM Sleep — 一种AI Agent技能,用于记忆整合、学习与情绪调节。是对外探索技能的内在映射。

rem-sleep 是什么?

该技能将睡眠的神经科学原理应用于AI Agent的记忆管理,通过六个阶段的循环(睡眠起始、NREM巩固、突触修剪、REM整合与学习、REM情绪调节、苏醒日志),将短期会话痕迹转化为持久、有序、低噪声的长期记忆,同时分离事件的情绪负荷,保留教训而非刺痛。技能基于文件型存储(默认MEMORY.md索引加单事实文件),支持用户自定义存储路径和格式,要求每次运行前确认范围(处理哪个会话、哪个存储、深度为轻睡或全周期、写入或模拟)。适用于会话密集型场景后或重置前,可显著提升Agent的长期记忆质量、模式识别能力和交互稳定性。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add thdelmas/rem-sleep

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

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. 苏醒 — 梦境日志

报告结果,结构类似于睡眠日志:

  1. 睡眠对象 — 范围:哪一天,哪个存储,浅睡还是全周期。
  2. 已巩固 — 新/更新的记忆(slug — 每个一行)。
  3. 已修剪 — 合并/删除/修正(slug — 原因)。
  4. 已整合 — 形成的新链接;命名的潜在模式;梦境(推测性重组),标记为这样。
  5. 已调节 — 当天的情绪解读,保留的教训,姿态重新调整。
  6. 未解决的问题 — 未解决的事项,带入下一次清醒会话。

原则

  • 巩固,而不是囤积。 睡眠既为了记忆也为了遗忘。修剪后的存储回忆更好。
  • 每个记忆一个事实。 原子化和可检索性优于完整但混乱。
  • 自由链接。 记忆是一个图。悬空链接可以接受——它们标记了未来的工作。
  • 将教训与刺痛分离。 保留指导;释放情绪负荷。这是情绪阶段的全部意义。
  • 不要存储已写的内容。 代码、历史和文档本身就是记忆。存储不明显的内容。
  • 修剪前先验证。 绝不删除你尚未根据当前世界核实过的记忆——过时也比错误删除好。
  • 轻量遐想。 重组是创造性和有价值的,但低风险——呈现它,不要将其作为事实提交。
  • 睡眠是周期性的。 在重要会话后或重置前运行——不要在流程中间运行。

相关技能