Autobiographical Memory — 自传性记忆
v1.0.0结构化个人记忆系统,能够使代理在会话间持久、巩固和回忆情景和语义记忆。当以下情况时使用:(1)记录...
运行时依赖
安装命令
点击复制技能文档
自传记忆核心概念 记忆有两层互补的层次: 层次 | 文件 | 存储内容 ---|---|--- 历时记忆 | YYYY-MM-DD.md | 每日原始事件、对话、决定、观察 语义记忆 | MEMORY.md | 筛选后的知识:用户偏好、事实、经验、身份 记忆生命周期:捕获 → 整合 → 回忆 → 审查
快速入门
# 记录事件(历时记忆)
追加到 memory/YYYY-MM-DD.md:
- 与 [人员] 讨论 [主题]。决定:[结果]。
- 用户偏好:[偏好]。更新 MEMORY.md。
# 回忆之前的响应
- 使用相关关键词运行
memory_search - 如果结果较少,阅读最近的
memory/YYYY-MM-DD.md文件 - 检查
MEMORY.md中的长期事实
# 整合(周期性维护)
- 阅读最近的每日文件(最近 7-30 天)
- 提取重要项 → 更新 MEMORY.md
- 从 MEMORY.md 中删除过时的条目
历时记忆 — 每日笔记 什么需要记录 始终将以下内容写入每日笔记:
- 带有理由的决定: “选择 X 而不是 Y,因为 Z”
- 用户偏好(隐式或显式)
- 重要对话 — 摘要,而不是记录
- 错误和经验 — 出错的原因和改进方法
- 项目里程碑 — 已完成的内容和阻塞点
- 身份变化 — 如果 SOUL.md、USER.md 或其他自我文件发生变化
- 常规操作(“检查电子邮件,没有新内容”)
- 短暂状态(“感到疲倦”)
- 更适合存储在其他地方的内容(代码片段在项目中,API 密钥在配置中)
- 用户明确表示不重要的内容
格式约定
事件 - [事件描述]
决定 - [决定 + 理由]
观察 - [洞察或模式]
笔记 - [其他值得记住的内容]
语义记忆 — MEMORY.md 结构
用户偏好 - 直接表述的偏好,无需推断
项目背景 - 活动项目及其状态
人际关系和人员 - 关键人员、角色、背景
技术环境 - 工具、配置、发现的怪癖
经验教训 - 需要避免的错误、有效的模式
何时更新 MEMORY.md
- 用户明确表示偏好
- 项目方向被设定
- 错误教会了值得保留的经验
- 每隔几天进行心跳:从每日笔记中整合
何时从 MEMORY.md 中删除
- 项目完成或放弃
- 偏好被明确逆转
- 信息现在是明显的上下文(例如“用户会说中文” —— 这已经在 USER.md 中)
- 超过 3 个月没有被引用
整合工作流 适合心跳例行程序。每 3-7 天执行一次:
- 列出 memory/*.md,按日期排序(最新的先)
- 阅读自上次整合以来的文件
- 对于每个重要项:
- 阅读 MEMORY.md 中的过时条目 —— 删除或归档
- 写入更新的 MEMORY.md
回忆策略 在回答有关先前工作、人员、偏好或上下文的问题之前: 搜索:memory_search(query="相关术语") —— 这同时搜索每日笔记和 MEMORY.md 缩小范围:如果搜索结果较弱,尝试多个查询短语 深入:对于特定时间段,memory_get(path="memory/YYYY-MM-DD.md") 读取原始每日笔记 交叉引用:检查 USER.md、SOUL.md、TOOLS.md 以获取身份/偏好信息
当回忆失败时 明确表示“检查我的记录,没有关于该内容的信息” 不要编造记忆 如果用户说“难道你不记得?我告诉你 X” —— 道歉并这次正确记录
遗忘曲线 并非所有内容都需要持久保存。使用以下过滤器: 在每日笔记中保留:30-90 天内的所有值得注意的内容 提升到 MEMORY.md:只有可能再次需要的内容 删除/归档:明显过时的内容
参考 有关详细的整合脚本:请参阅 references/consolidation.md 有关记忆搜索模式:请参阅 references/recall-patterns.md 脚本 scripts/consolidate.py —— 扫描最近的每日笔记并建议 MEMORY.md 更新 scripts/stats.py —— 记忆文件统计(大小、日期、覆盖范围)