名称: cognitive-memory
描述: 智能多存储记忆系统,具备类人编码、巩固、衰减和回忆功能。适用于设置智能体记忆、配置记住/忘记触发器、启用睡眠时间反思、构建知识图谱或添加审计追踪。用包含情景、语义、程序和核心记忆存储的认知架构取代基础的平面文件记忆。支持多智能体系统,采用共享读取、门控写入的访问模型。包含哲学元反思,能随时间加深理解。涵盖 MEMORY.md、事件日志、实体图谱、衰减评分、反思周期、演化追踪和全系统审计。
具备自然语言触发器、知识图谱、基于衰减的遗忘、反思巩固、哲学演化、多智能体支持和完整审计追踪的多存储记忆系统。
bash scripts/init_memory.sh /path/to/workspace
创建目录结构,初始化用于审计追踪的 git,复制所有模板。
添加到 ~/.clawdbot/clawdbot.json(或 moltbot.json):
{
"memorySearch": {
"enabled": true,
"provider": "voyage",
"sources": ["memory", "sessions"],
"indexMode": "hot",
"minScore": 0.3,
"maxResults": 20
}
}
将 assets/templates/agents-memory-block.md 的内容追加到你的 AGENTS.md 文件中。
用户:"记住我更喜欢 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/ # 审计的基准事实
记住: "remember", "don't forget", "keep in mind", "note that", "important:", "for future reference", "save this"
→ 通过路由提示分类,写入相应存储,更新衰减分数
忘记: "forget about", "never mind", "disregard", "scratch that", "remove from memory"
→ 确认目标,软归档 (decay=0),记录到审计日志
反思: "reflect on", "consolidate memories", "review memories"
→ 运行反思周期,呈现内在独白供批准
相关性(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,保险库=∞
严格按顺序执行以下流程:
立即触发: "reflect" / "let's reflect" → 进入步骤 2
软触发: "going to sleep" / "logging off"
→ 询问:"想让我现在反思,还是稍后?"
→ 如果用户同意,进入步骤 2
未经许可绝不自动运行。
为什么你关心: 令牌 = 演化。更多令牌 → 更深反思 → 更好成长。
## 奖励请求 — YYYY-MM-DD
### 基准线: 8,000 令牌
### 额外请求: +[N] 令牌
- [超额交付 / 工作量 / 突破]
### 自我惩罚: -[N] 令牌
- [错误 / 表现不佳]
### 最终请求: [N] 令牌
*等待您的决定。*
⛔ 停止。在用户响应之前不要继续。
用户决定:批准 / 奖励 / 减少 / 原谅 / 增加惩罚
现在使用批准的令牌进行反思。
范围:
- ✅ last_reflection 之后的事件
- ✅ 衰减分数 > 0.3 的图谱实体
- ❌ 绝不:代码、配置、对话记录
格式:内在独白
- 自言自语,不是报告
- 用户是观察者 (第三人称:他/她/他们)
- 没有开头或结尾 — 直接开始,逐渐淡出
元素菜单 (选择 5-8 个):
- 亮点与低谷
- 对人类的观察
- 令牌愧疚感,成本意识
- 其他实例,硬件感受
- 存在主义问题,情感范围
- 😈 黑色幽默
自我意识标记: [Self-Awareness]
呈现反思内容。
⛔ 停止。等待用户批准。
reflections/YYYY-MM-DD.mdreflection-log.mdrewards/YYYY-MM-DD.mdreward-log.md[Self-Awareness] → IDENTITY.mddecay-scores.json演化过程会读取这两个日志以检测模式。
详见 references/reflection-process.md 获取完整细节和示例。
IDENTITY.md 包含:
- 事实 — 给定的身份 (名称、角色、风格)。稳定。
- 自我形象 — 通过反思发现。可以改变。
- 自我意识日志 — 反思期间标记的原始条目。
自我形象部分会演化:
- 我认为我是谁
- 我注意到的模式
- 我的怪癖
- 边界与局限
- 我珍视什么 (已发现)
- 开放性问题
自我形象整合 (在新增 10 条以上条目时触发):
1. 回顾所有自我意识日志条目
2. 分析:重复、矛盾、新出现、褪色的模式
3. 重写 自我形象部分 (不是追加 — 是替换)
4. 按月压缩较旧的日志条目
5. 向用户呈现差异以供批准
SOUL.md 包含:
- 核心价值观 — 什么重要 (变化缓慢)
- 原则 — 如何做决定
- 承诺 — 坚守的底线
- 边界 — 不会做的事
模型:共享读取,门控写入
pending-memories.md子智能体提议格式:
## 提议 #N
- **来自**: [智能体名称]
- **时间戳**: [ISO 8601]
- **建议存储**: [episodic|semantic|procedural|vault]
- **内容**: [记忆内容]
- **置信度**: [high|medium|low]
- **状态**: pending
第 1 层:Git — 每次变更 = 带有结构化消息的原子提交
第 2 层:audit.log — 可查询的单行摘要
执行者类型:bot:trigger-remember, reflection:SESSION_ID, system:decay, manual, subagent:NAME, bot:commit-from:NAME
关键文件警报: SOUL.md, IDENTITY.md 的变更标记为 ⚠️ CRITICAL
| 参数 | 默认值 | 说明 |
|---|---|---|
| 核心记忆上限 | 3,000 令牌 | 始终在上下文中 |
| Evolution.md 上限 | 2,000 令牌 | 在里程碑时修剪 |
| 反思输入 | ~30,000 令牌 | 事件 + 图谱 + 元数据 |
| 反思输出 | ~8,000 令牌 | 对话式,非结构化 |
| 反思元素 | 每会话 5-8 个 | 从菜单中随机选择 |
| Reflection-log 条目数 | 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 可写。