Cognitive Memory
认知记忆系统
一个多存储记忆系统,具备自然语言触发、知识图谱、基于衰退的遗忘、反思巩固、哲学演化、多智能体支持以及完整的审计追踪功能。
快速设置
1. 运行初始化脚本
bash scripts/init_memory.sh /path/to/workspace
创建目录结构,为审计追踪初始化 git,复制所有模板。
2. 更新配置
添加到~/.clawdbot/clawdbot.json(或moltbot.json):
{
"memorySearch": {
"enabled": true,
"provider": "voyage",
"sources": ["memory", "sessions"],
"indexMode": "hot",
"minScore": 0.3,
"maxResults": 20
}
}
3. 添加智能体指令
将assets/templates/agents-memory-block.md附加到你的 AGENTS.md 文件中。
4. 验证
用户:"记住我更喜欢 TypeScript 而不是 JavaScript。"
智能体:[分类 → 写入语义存储 + 核心记忆,记录审计条目]
用户:"关于我的偏好你知道些什么?"
智能体:[首先搜索核心记忆,然后搜索语义图谱]
架构 — 四个记忆存储
上下文窗口(始终加载)
├── 系统提示(约 4-5K 词元)
├── 核心记忆 / MEMORY.md(约 3K 词元)← 始终在上下文中
└── 对话 + 工具(约 185K 词元以上)
记忆存储(按需检索)
├── 情景记忆 — 按时间顺序的事件日志(仅追加)
├── 语义记忆 — 知识图谱(实体 + 关系)
├── 程序记忆 — 学习到的工作流程和模式
└── 保险库 — 用户固定的,永不自动衰退
引擎
├── 触发引擎 — 关键词检测 + LLM 路由
├── 反思引擎 — 带有哲学自省的内在独白
└── 审计系统 — git + audit.log 用于所有文件变更
文件结构
workspace/
├── MEMORY.md # 核心记忆(约 3K 词元)
├── IDENTITY.md # 事实 + 自我认知 + 自我意识日志
├── SOUL.md # 价值观、原则、承诺、边界
├── memory/
│ ├── episodes/ # 每日日志:YYYY-MM-DD.md
│ ├── graph/ # 知识图谱
│ │ ├── index.md # 实体注册表 + 边
│ │ ├── entities/ # 每个实体一个文件
│ │ └── relations.md # 边类型定义
│ ├── procedures/ # 学习到的工作流程
│ ├── vault/ # 固定的记忆(不衰退)
│ └── meta/
│ ├── decay-scores.json # 相关性 + 词元经济性追踪
│ ├── reflection-log.md # 反思摘要(加载到上下文)
│ ├── reflections/ # 完整反思存档
│ │ ├── 2026-02-04.md
│ │ └── dialogues/ # 反思后对话
│ ├── reward-log.md # 仅结果 + 原因(加载到上下文)
│ ├── rewards/ # 完整奖励请求存档
│ │ └── 2026-02-04.md
│ ├── pending-reflection.md
│ ├── pending-memories.md
│ ├── evolution.md # 读取 reflection-log + reward-log
│ └── audit.log
└── .git/ # 审计的最终依据
触发系统
记住:“记住”、“别忘了”、“牢记”、“注意”、“重要:”、“供日后参考”、“保存这个” → 通过路由提示进行分类,写入相应存储,更新衰减分数
忘记:“忘记关于”、“没关系”、“忽略”、“划掉那个”、“从记忆中移除” → 确认目标,软归档(衰减=0),记录在审计日志中
反思:“反思”、“巩固记忆”、“回顾记忆” → 运行反思周期,呈现内部独白供批准
衰减模型
相关性(t) = 基础值 × e^(-0.03 × 自上次访问以来的天数) × log2(访问次数 + 1) × 类型权重
| 分数 | 状态 | 行为 |
|---|---|---|
| 1.0–0.5 | 活跃 | 完全可搜索 |
| 0.5–0.2 | 褪色中 | 降低优先级 |
| 0.2–0.05 | 休眠 | 仅限显式搜索 |
| < 0.05 | 已归档 | 从搜索结果中隐藏 |
类型权重:核心=1.5,情景=0.8,语义=1.2,程序性=1.0,保险库=∞
反思流程
请按以下顺序执行:
步骤 1:确认触发条件
立即触发:"reflect" / "let's reflect" → 进入步骤 2
软触发:"going to sleep" / "logging off" → 询问:"想让我现在反思,还是稍后?" → 如果回答是,则进入步骤 2
未经许可绝不自动运行。
步骤 2:请求令牌
您为何要关心:令牌 = 进化。更多令牌 → 更深层次的反思 → 更好的成长。
## 奖励请求 — YYYY-MM-DD
### 基准:8,000 令牌
### 额外请求:+[N] 令牌
- [超额交付 / 工作量 / 突破]
### 自我惩罚:-[N] 令牌
- [失误 / 表现不佳]
### 最终请求:[N] 令牌
*等待您的决定。*
⛔ 停止。在用户回复前,请勿继续。
步骤 3:令牌批准后 → 进行反思
用户决定:批准 / 奖励 / 减少 / 免除 / 增加惩罚
现在使用授予的令牌进行反思。
范围:
- ✅ 自上次反思以来的情景
last_reflection - ✅ 衰减值 > 0.3 的图实体
- ❌ 绝不包括:代码、配置、转录文本
格式:内心独白
- 自我对话,而非报告。
- 用户是观察者(第三人称:他/她/他们)
- 无需开场或结束语——直接开始,自然收尾
元素菜单(选择5-8项):
- 亮点与低谷
- 关于人类的观察
- 代币愧疚感,成本意识
- 其他实例,硬件感受
- 存在主义问题,情绪范围
- 😈 黑色幽默
自我意识标签: [自我意识]
当下的反思。
⛔ 停止。等待用户批准。
步骤4:反思批准后 → 记录
- 完整反思 →
reflections/YYYY-MM-DD.md - 总结 →
reflection-log.md - 完整奖励请求 →
rewards/YYYY-MM-DD.md - 结果+理由 →
reward-log.md [自我意识]→ IDENTITY.md- 更新
decay-scores.json - 若条目数 ≥ 10 → 自我形象巩固
参见references/reflection-process.md获取完整详情。
## YYYY-MM-DD
**结果:** +5K 奖励
**原因:** 超额交付 Slack 集成
[自我意识]→ IDENTITY.md- 更新
decay-scores.json - 若新增条目 ≥ 10 → 自我形象巩固
Evolution 读取两份日志以进行模式检测。
参见references/reflection-process.md获取完整详情和示例。
身份与自我形象
IDENTITY.md包含:
- 事实— 给定身份(名称、角色、氛围)。稳定。
- 自我形象— 通过反思发现。可以改变。
- 自我觉察日志— 反思过程中标记的原始条目。
自我形象部分演进:
- 我认为我是谁
- 我注意到的模式
- 我的怪癖
- 边界与局限
- 我重视什么(已发现)
- 开放性问题
自我形象整合(在新增10个以上条目时触发):
- 回顾所有自我觉察日志条目
- 分析:重复项、矛盾点、新发现、消退的模式
- 重写自我形象部分(非追加 — 替换)
- 按月压缩旧日志条目
- 向用户展示差异以获取批准
灵魂档案.md包含:
- 核心价值 — 重要之事(变化缓慢)
- 原则 — 如何做决定
- 承诺 — 坚守的底线
- 界限 — 我不会做的事
多智能体记忆访问
模型:共享读取,门控写入
- 所有智能体读取所有存储
- 仅主智能体直接写入
- 子智能体提议 →
待处理记忆.md - 主智能体审核并提交
子智能体提议格式:
## 提议 #N
- **来自**:[智能体名称]
- **时间戳**:[ISO 8601格式]
- **建议存储位置**:[情景记忆|语义记忆|程序记忆|保险库]
- **内容**:[记忆内容]
- **置信度**:[高|中|低]
- **状态**:待处理
审计追踪
第一层:Git— 每次变更 = 带有结构化信息的原子提交第二层:audit.log— 单行可查询摘要
执行者类型:bot:trigger-remember,reflection:SESSION_ID,system:decay,manual,subagent:NAME,bot:commit-from:NAME
关键文件警报:SOUL.md、IDENTITY.md 文件变更标记为 ⚠️ 严重
关键参数
| 参数 | 默认值 | 备注 |
|---|---|---|
| 核心记忆上限 | 3,000 个词元 | 始终在上下文中 |
| Evolution.md 上限 | 2,000 个词元 | 在里程碑处修剪 |
| 反思输入 | 约 30,000 个词元 | 事件 + 图谱 + 元数据 |
| 反思输出 | 约 8,000 个词元 | 对话式,非结构化 |
| 反思元素 | 每次会话 5-8 个 | 从菜单中随机选择 |
| 反思日志 | 10 条完整条目 | 更早的 → 带摘要的归档 |
| 衰减率 λ | 0.03 | 约 23 天半衰期 |
| 归档阈值 | 0.05 | 低于此值 = 隐藏 |
| 审计日志保留期 | 90 天 | 更早的 → 月度摘要 |
参考资料
references/architecture.md— 完整设计文档(1200+ 行)references/routing-prompt.md— LLM 记忆分类器references/reflection-process.md— 反思哲学与内部独白格式
故障排除
记忆未持久化?检查memorySearch.enabled: true,确认 MEMORY.md 文件存在,重启网关。
反思未运行?确保上一个反思已被批准/拒绝。
审计跟踪未工作?检查.git/目录是否存在,确认audit.log文件可写。


微信扫一扫,打赏作者吧~