| name | dna-memory | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| description | DNA memory system for AI agents: three-layer architecture (working/short-term/long-term) with active forgetting, pattern summarization, reflection loops, and memory associations. Use when building agents that need persistent memory across sessions, context recall, or when user mentions 记忆/学习/记住/回顾/反思. | |||||||||
| user-invocable | true | |||||||||
| triggers |
|
让 Agent 不只是记住,而是真正学会。
人脑不是硬盘,不会无差别存储所有信息。人脑会:
- 遗忘不重要的
- 强化反复出现的
- 归纳零散信息为模式
- 反思过去的成功和失败
DNA Memory 模拟这个过程,让 Agent 真正"进化"。
┌─────────────────────────────────────────────────┐
│ 工作记忆 (Working Memory) │
│ - 当前会话的临时信息 │
│ - 会话结束后自动筛选 │
│ - 文件:memory/working.json │
└─────────────────────────────────────────────────┘
↓ 筛选
┌─────────────────────────────────────────────────┐
│ 短期记忆 (Short-term Memory) │
│ - 近7天的重要信息 │
│ - 带衰减权重,不访问会逐渐遗忘 │
│ - 文件:memory/short_term.json │
└─────────────────────────────────────────────────┘
↓ 巩固
┌─────────────────────────────────────────────────┐
│ 长期记忆 (Long-term Memory) │
│ - 经过验证的持久知识 │
│ - 归纳后的认知模式 │
│ - 文件:memory/long_term.json + patterns.md │
└─────────────────────────────────────────────────┘
| 类型 | 说明 | 示例 |
|---|---|---|
fact |
事实信息 | "Andy 的微信是 AIPMAndy" |
preference |
用户偏好 | "Andy 喜欢简洁直接的回复" |
skill |
学到的技能 | "飞书 API 限流时要分段请求" |
error |
犯过的错误 | "不要用 rm,用 trash" |
pattern |
归纳的模式 | "推送 GitHub 前先检查网络" |
insight |
深层洞察 | "Andy 更看重效率而非完美" |
python3 scripts/evolve.py remember \
--type fact \
--content "Andy 的 GitHub 账号是 AIPMAndy" \
--source "用户告知" \
--importance 0.8python3 scripts/evolve.py recall "GitHub 账号"返回相关记忆,按相关度和重要性排序。
python3 scripts/evolve.py reflect触发反思循环:
- 回顾近期记忆
- 识别重复模式
- 归纳成认知模式
- 更新长期记忆
python3 scripts/evolve.py decay执行遗忘机制:
- 7天未访问的短期记忆权重衰减
- 权重低于阈值的记忆被清理
- 重要记忆不会被遗忘
python3 scripts/evolve.py link <memory_id_1> <memory_id_2> --relation "因果"建立记忆之间的关联,形成知识图谱。
启动(后台):
python3 scripts/dna_memory_daemon.py start查看状态:
python3 scripts/dna_memory_daemon.py status停止:
python3 scripts/dna_memory_daemon.py stop默认读取 assets/config.json 的节流参数:
auto_reflect_interval_minutes(默认 30 分钟)auto_decay_interval_hours(默认 24 小时)
并且仅在有新的 remember 写入后才执行 reflect,避免重复归纳同一批记忆。
日志写入 /tmp/dna-memory-daemon.log。
- 加载相关长期记忆
- 检查是否有待反思的短期记忆
- 从工作记忆筛选重要信息
- 存入短期记忆
- 如果短期记忆积累足够,触发反思
- 执行遗忘机制
- 检查是否需要归纳新模式
默认节流:
auto_reflect_interval_minutes=30:自动反思最短间隔 30 分钟,避免高频重复归纳。auto_decay_interval_hours=24:自动遗忘最短间隔 24 小时。
evolve.py已内置跨进程文件锁,支持前台命令与后台守护同时运行。- JSON 写入采用原子替换,降低中断/并发导致的数据损坏风险。
记忆的重要性会动态调整:
| 事件 | 权重变化 |
|---|---|
| 被访问/使用 | +0.1 |
| 被用户确认正确 | +0.2 |
| 被用户纠正 | 标记为错误,创建新记忆 |
| 7天未访问 | -0.1 |
| 关联到其他记忆 | +0.05 |
| 被归纳为模式 | 升级为长期记忆 |
当多个记忆呈现相似规律时,自动归纳为模式:
## Pattern: GitHub 推送策略
**触发条件**: 需要 push 到 GitHub 时
**学到的教训**:
1. 先检查网络连通性
2. 超时后等待重试,不要立即放弃
3. 如果持续失败,提供手动操作方案
**来源记忆**: [mem_001, mem_003, mem_007]
**验证次数**: 5
**最后验证**: 2026-03-01- MEMORY.md 是人工维护的高层记忆
- DNA Memory 是自动化的细粒度记忆
- 重要的 Pattern 可以提升到 MEMORY.md
- self-improving-agent 记录错误和学习
- DNA Memory 在此基础上增加:归纳、遗忘、关联
- 可以导入 .learnings/ 中的内容
~/.openclaw/workspace/memory/
├── working.json # 工作记忆(当前会话)
├── short_term.json # 短期记忆(7天内)
├── long_term.json # 长期记忆(持久)
├── patterns.md # 归纳的认知模式
├── graph.json # 记忆关联图谱
└── meta.json # 元数据(统计、配置)
用户: "以后回复简洁点,别那么啰嗦"
Agent 内部操作:
1. remember --type preference --content "用户偏好简洁回复" --importance 0.9
2. 后续回复自动调整风格
操作失败: "飞书 API 429 限流"
Agent 内部操作:
1. remember --type error --content "飞书 API 频繁调用会 429"
2. remember --type skill --content "飞书 API 要分段请求,间隔5秒"
3. link error_mem skill_mem --relation "解决方案"
反思发现:
- 记忆1: "GitHub push 超时"
- 记忆2: "GitHub clone 超时"
- 记忆3: "GitHub fetch 超时"
归纳为 Pattern:
"网络访问 GitHub 不稳定,需要重试机制"
{
"decay_days": 7,
"decay_rate": 0.1,
"forget_threshold": 0.2,
"reflect_trigger": 20,
"max_short_term": 100,
"max_long_term": 500
}| 特性 | memu | self-improving | DNA Memory |
|---|---|---|---|
| 存储 | ✅ | ✅ | ✅ |
| 检索 | ✅ 向量 | ❌ | ✅ 向量+关联 |
| 分类 | ❌ | ✅ | ✅ 6种类型 |
| 遗忘 | ❌ | ❌ | ✅ 主动遗忘 |
| 归纳 | ❌ | ❌ | ✅ 自动归纳 |
| 反思 | ❌ | ❌ | ✅ 反思循环 |
| 关联 | ❌ | ❌ | ✅ 知识图谱 |
| 强化 | ❌ | ❌ | ✅ 动态权重 |
Created by AI酋长Andy | 让 Agent 真正学会成长