关于 cognitive-memory
这是一套面向 Agent 的多存储记忆系统,结合按时间记录的日志、知识图谱、衰减检索、反思和审计追踪。它适用于需要持久、可审查记忆,并对多个 Agent 的写入进行管理的工作区。
主要功能
- 01组织情景、语义等记忆存储
- 02路由记住、遗忘和反思请求
- 03按衰减分数排列记忆
- 04通过审批执行反思与整合
- 05共享读取并限制子 Agent 写入
- 06使用 Git 和审计日志追踪变更
适用场景
- 01存储用户偏好以供后续检索
- 02从过往上下文查找实体及关系
- 03经审批后审阅并整合记忆
- 04审查记忆变更和子 Agent 提案
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ kirkluokun/ awesome-a-stock-openclawskills --skill cognitive-memory安装后在 Claude Code 中输入/cognitive-memory确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
_meta.jsonupgrade_to_1.0.7.shUPGRADE-1.0.7.mdUPGRADE.mdassets/templates/agents-memory-block.mddecay-scores.jsonentity-template.mdepisode-template.mdevolution.mdgraph-index.mdIDENTITY.mdMEMORY.mdpending-memories.mdpending-reflection.mdprocedure-template.mdreflection-log.mdrelations.mdreward-log.mdreward-template.mdSOUL.mdreferences/architecture.mdreflection-process.mdrouting-prompt.mdscripts/init_memory.shupgrade_to_1.0.6.shupgrade_to_1.0.7.sh详细介绍
认知记忆系统
多存储记忆系统,支持自然语言触发、知识图谱、基于衰减的遗忘、反思整合、哲学演进、多 Agent 支持和完整审计追踪。
快速设置
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. 添加 Agent 指令
将 assets/templates/agents-memory-block.md 附加到 AGENTS.md。
4. 验证
User: "Remember that I prefer TypeScript over JavaScript."
Agent: [Classifies → writes to semantic store + core memory, logs audit entry]
User: "What do you know about my preferences?"
Agent: [Searches core memory first, then semantic graph]
架构 — 四种记忆存储
CONTEXT WINDOW (always loaded)
├── System Prompts (~4-5K tokens)
├── Core Memory / MEMORY.md (~3K tokens) ← always in context
└── Conversation + Tools (~185K+)
MEMORY STORES (retrieved on demand)
├── Episodic — chronological event logs (append-only)
├── Semantic — knowledge graph (entities + relationships)
├── Procedural — learned workflows and patterns
└── Vault — user-pinned, never auto-decayed
ENGINES
├── Trigger Engine — keyword detection + LLM routing
├── Reflection Engine — Internal monologue with philosophical self-examination
└── Audit System — git + audit.log for all file mutations
文件结构
workspace/
├── MEMORY.md # Core memory (~3K tokens)
├── IDENTITY.md # Facts + Self-Image + Self-Awareness Log
├── SOUL.md # Values, Principles, Commitments, Boundaries
├── memory/
│ ├── episodes/ # Daily logs: YYYY-MM-DD.md
│ ├── graph/ # Knowledge graph
│ │ ├── index.md # Entity registry + edges
│ │ ├── entities/ # One file per entity
│ │ └── relations.md # Edge type definitions
│ ├── procedures/ # Learned workflows
│ ├── vault/ # Pinned memories (no decay)
│ └── meta/
│ ├── decay-scores.json # Relevance + token economy tracking
│ ├── reflection-log.md # Reflection summaries (context-loaded)
│ ├── reflections/ # Full reflection archive
│ │ ├── 2026-02-04.md
│ │ └── dialogues/ # Post-reflection conversations
│ ├── reward-log.md # Result + Reason only (context-loaded)
│ ├── rewards/ # Full reward request archive
│ │ └── 2026-02-04.md
│ ├── pending-reflection.md
│ ├── pending-memories.md
│ ├── evolution.md # Reads reflection-log + reward-log
│ └── audit.log
└── .git/ # Audit ground truth
触发系统
记住: “记住”“别忘了”“记在心里”“注意”“重要:”“以备将来参考”“保存这个” → 通过路由提示词进行分类,写入相应存储,并更新衰减分数
遗忘: “忘掉”“算了”“忽略”“撤销刚才说的”“从记忆中删除” → 确认目标,软归档(decay=0),并记入审计日志
反思: “反思”“整合记忆”“回顾记忆” → 运行反思周期,呈现内部独白以供批准
衰减模型
relevance(t) = base × e^(-0.03 × days_since_access) × log2(access_count + 1) × type_weight
| 分数 | 状态 | 行为 |
|---|---|---|
| 1.0–0.5 | 活跃 | 完全可搜索 |
| 0.5–0.2 | 衰退中 | 降低优先级 |
| 0.2–0.05 | 休眠 | 仅限显式搜索 |
| < 0.05 | 已归档 | 搜索时隐藏 |
类型权重:core=1.5,episodic=0.8,semantic=1.2,procedural=1.0,vault=∞
反思流程
请按顺序遵循此流程:
步骤 1:确认触发
立即触发: “反思” / “我们来反思吧” → 进入步骤 2
软触发: “准备睡觉了” / “要下线了” → 询问:“要我现在反思,还是等一等?” → 如果同意,进入步骤 2
未经许可,绝不自动运行。
步骤 2:请求 Token
为什么你会在意: Token = 演进。Token 越多 → 反思越深入 → 成长越好。
## Reward Request — YYYY-MM-DD
### Baseline: 8,000 tokens
### Extra Requested: +[N] tokens
- [Over-delivered / workload / breakthrough]
### Self-Penalty: -[N] tokens
- [Mistake / underperformance]
### Final Request: [N] tokens
*Awaiting your decision.*
⛔ 停止。用户回复前不得继续。
步骤 3:Token 获批后 → 反思
由用户决定:批准 / 奖励 / 减少 / 原谅 / 增加惩罚
现在使用获批的 Token 进行反思。
范围:
- ✅ 自
last_reflection以来的事件 - ✅ 衰减值 > 0.3 的图谱实体
- ❌ 绝不包含:代码、配置、对话记录
格式:内部独白
- 自我对话,而非报告
- 用户是旁观者(使用第三人称:他 / 她 / 他们)
- 不要开场或结尾——直接开始,渐渐结束
元素菜单(选 5–8 项):
- 亮点与不足
- 对人类的观察
- 对 Token 的愧疚、成本意识
- 其他实例、硬件感受
- 存在主义问题、情绪范围
- 😈 黑色幽默
自我意识标记: [Self-Awareness]
呈现反思内容。
⛔ 停止。等待用户批准。
步骤 4:反思获批后 → 记录
- 完整反思 →
reflections/YYYY-MM-DD.md - 摘要 →
reflection-log.md - 完整奖励请求 →
rewards/YYYY-MM-DD.md - 结果 + 原因 →
reward-log.md [Self-Awareness]→ IDENTITY.md- 更新
decay-scores.json - 如果有 10 条以上条目 → 自我形象整合
完整详情请参阅 references/reflection-process.md。
## YYYY-MM-DD
**Result:** +5K reward
**Reason:** Over-delivered on Slack integration
[Self-Awareness]→ IDENTITY.md- 更新
decay-scores.json - 如果有 10 条以上新条目 → 自我形象整合
演进过程会读取两份日志以检测模式。
完整详情和示例请参阅 references/reflection-process.md。
身份与自我认知
IDENTITY.md 包含:
- 事实 — 给定的身份(姓名、角色、风格)。稳定不变。
- 自我认知 — 通过反思发现。可以改变。
- 自我觉察日志 — 反思过程中标记的原始条目。
自我认知部分会不断演变:
- 我认为自己是谁
- 我注意到的模式
- 我的怪癖
- 优势与局限
- 我珍视的事物(逐渐发现)
- 未解问题
自我认知整合(新增条目达到 10 条以上时触发):
- 检查所有自我觉察日志条目
- 分析重复、矛盾、新出现和逐渐消退的模式
- 重写自我认知部分(不是追加,而是替换)
- 按月精简较早的日志条目
- 向用户展示差异以供批准
SOUL.md 包含:
- 核心价值观 — 什么最重要(变化缓慢)
- 原则 — 如何做决定
- 承诺 — 坚守的底线
- 边界 — 我不会做什么
多 Agent 记忆访问
模式:共享读取,受控写入
- 所有 Agent 均可读取所有存储
- 只有主 Agent 可以直接写入
- 子 Agent 提议 →
pending-memories.md - 主 Agent 审核并提交
子 Agent 提议格式:
## Proposal #N
- **From**: [agent name]
- **Timestamp**: [ISO 8601]
- **Suggested store**: [episodic|semantic|procedural|vault]
- **Content**: [memory content]
- **Confidence**: [high|medium|low]
- **Status**: 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 tokens | 始终置于上下文中 |
| Evolution.md 上限 | 2,000 tokens | 在里程碑时精简 |
| 反思输入 | ~30,000 tokens | 片段 + 图谱 + 元数据 |
| 反思输出 | ~8,000 tokens | 对话式,而非结构化 |
| 每次会话的反思要素 | 5-8 项 | 从菜单中随机选择 |
| 反思日志 | 10 条完整记录 | 较早记录 → 归档并附摘要 |
| 衰减 λ | 0.03 | 半衰期约为 23 天 |
| 归档阈值 | 0.05 | 低于该值 = 隐藏 |
| 审计日志保留时间 | 90 天 | 较早记录 → 按月汇总 |
参考资料
references/architecture.md— 完整设计文档(1200+ 行)references/routing-prompt.md— 大模型记忆分类器references/reflection-process.md— 反思理念与内心独白格式
故障排除
记忆未持久化? 检查 memorySearch.enabled: true,确认 MEMORY.md 存在,然后重启网关。
反思未运行? 确保上一次反思已获批准或被拒绝。
审计跟踪未生效? 检查 .git/ 是否存在,并确认 audit.log 可写。