holoaeon / docs /memory.md
weideyouni's picture
HoloAeon v0.9.1 · 206 tracked files mirror (main=03b7c5c)
acc5630 verified
|
Raw History Blame Contribute Delete
1.28 kB
# 记忆(三层存储)
记忆提供线程安全的存取、检索、巩固与衰减。
## 1. 三层结构
| 层 | 容量 | 角色 |
|---|---|---|
| `working` | 256 | 当前任务上下文,可被巩固提升 |
| `longterm` | 100,000 | 跨任务沉淀,带强度与标签 |
| `archive` | 1,000,000 | 稳定事实与参考,不衰减 |
## 2. 记忆项(MemoryItem)
每条记忆含:`key`、`value`、`kind`、`tags`、`ts`(时间戳)、`strength`(强度)。
## 3. 核心操作
- `put(key, value, kind, tags, strength)`:写入,超容量时自动淘汰最弱项;
- `get(key)`:按键精确取值;
- `recall(query, k)`:按 token 重叠 + 标签命中打分,返回前 k;
- `consolidate(min_strength)`:足够强的工作记忆提升为长期记忆;
- `decay(rate)`:工作/长期记忆强度衰减,归档不衰减。
## 4. 检索打分
```
score = Jaccard(query_tokens, item_tokens) + 0.1 · strength
```
## 5. 持久化
支持 `to_dict` / `load` 的 JSON 序列化,便于跨会话恢复。
## 6. 用法
```python
from holoaeon.memory import Memory
m = Memory()
m.put("k", {"a": 1}, kind="working", tags=["x"])
m.consolidate()
print(m.get("k")) # {'a': 1}
print(m.recall("x"))
```