-
Notifications
You must be signed in to change notification settings - Fork 2
Memory Lifecycle
AceGuru-mjh edited this page Oct 1, 2026
·
4 revisions
cs-mem 不是"只增不减的日志",它有四个仿生管理机制:能量熵增 · 晶化 · 梦境渲染 · 免疫, 以及针对 App 升级的拓扑同胚迁移。本文是 cs-mem 的续篇。
| 机制 | 组件 | 触发 | 效果 |
|---|---|---|---|
| 🔥 能量熵增 | EntropyManager |
每次梦境周期 | 成功检索/执行 → 能量增加;时间推移 → 按遗忘曲线指数衰减 |
| 💎 晶化 |
EntropyManager.shouldCrystallize → crystallizeMacro
|
能量 ≥8 且成功 ≥10 次且成功率 ≥90% | ROM 级固化:免疫衰减 / 剪枝 / 删除 |
| 🌙 梦境渲染 |
DreamRenderer(WorkManager) |
息屏 + 充电 + WiFi + 电量 ≥50% | 低能宏随机保鲜验证、全局熵衰减、拓扑同胚迁移 |
| 🛡️ 免疫 | MemoryImmuneSystem |
每次摄取前 | 悬浮窗检测 / 敏感词分级 / 结构完整性 / 包名可信分级 / 可疑指纹隔离 |
能量↑ 每次被成功检索 +a 时间↓ 每秒衰减 e^(-λt)(艾宾浩斯曲线形态)
能量↓ 未被使用则随时间衰减 能量触及下限 → 坍缩删除(Prune)
这条曲线让记忆库是活的:常用常新,长期不用自然消失,而不是无限膨胀到撑爆手机存储。
满足阈值的宏(shouldCrystallize)被固化为 ROM 级永久技能:
- 免疫能量衰减;
- 免疫剪枝与批量删除;
- 只能通过"显式用户删除"移除。
类比:从"短期记忆+工作记忆"沉淀到"程序性长期记忆"(像骑自行车,不会忘)。
DreamRenderer 通过 WorkManager 注册周期任务,必须同时满足:
- 屏幕关闭(息屏);
- 正在充电;
- 连接 WiFi;
- 电量 ≥50%(或满足 Energy 画像约束)。
满足后做三件事:
- 保鲜验证:随机挑低能宏,真的执行一遍验证还是否有效(失效则降低能量/删除);
-
熵衰减:全局走一遍
EntropyManager衰减; -
拓扑迁移:
TopologyMigrator处理版本漂移(见 §2)。
Note
这是"诚实保活"的一部分:不满足约束就不跑,不做欺骗式前台规避。
App 升级会改变 UI(resourceId / 布局 / 文案)→ 旧指纹失效 → 宏集体失配。 解法是"别名桥"而不是改写历史:
flowchart TB
D["🌙 梦境周期<br/>TopologyMigrator"] --> CMP["对比旧/新版本节点集<br/>相同 role + resourceId 归一化<br/>+ textHint 相似度打分 ≥ 0.7"]
CMP --> MAP["migration_map<br/>old_fp → new_fp<br/>(score · from_version → to_version)"]
MAP --> LOOKUP["召回侧:精确匹配失败时<br/>findMacrosViaMigration 反查旧别名"]
LOOKUP --> RES["resolveMigration 正向校验闭环<br/>resolve(旧指纹) == 探测指纹"]
要点:
- 相似度阈值 0.7,低于则不建立别名(宁可失配重建,也不错误迁移);
- 迁移记录带
score与版本区间,可审计、可回退; - 召回时精确匹配优先,失败才走别名反查,并有正向校验闭环防止别名串错。
摄取前的四道防线:
| 防线 | 检查什么 | 命中后 |
|---|---|---|
| 悬浮窗检测 | 当前是否有第三方悬浮窗覆盖(钓鱼/劫持风险) | 暂停摄取,避免把被诱导的操作学成"肌肉记忆" |
| 敏感词分级 | 节点文本是否含密码/验证码/支付金额等 | 按级别脱敏或拒绝入库 |
| 结构完整性 | UI 树是否被篡改(如无障碍层被劫持注入) | 拒绝入库并告警 |
| 包名可信分级 | 当前前台 App 的包名是否在可信列表 | 可疑包的指纹进隔离区(Quarantine) |
Important
这一层存在的原因很朴素:记忆系统会成为攻击面。 一旦"你在某输入框里填了什么"能被记住并被回放,就需要有东西阻止它被学进去。
- 升级必须显式提供 Room
Migration(v2→v3 就是这么做的:清理重复边 + 唯一索引 + episode 作用域); - 只有降级允许 destructive 重建;
- 边 ID 是内容哈希(
SHA-256(源|目标|关系)前 16 位),保证同一条边跨帧同 ID —— 见 cs-mem。
| 现象 | 检查 |
|---|---|
| 宏从不被触发回放 | 是否真的蒸馏成功(TraceDistiller 日志)→ 能量是否被衰减到阈值下 → 是否被 DreamRenderer 剪枝 |
| 升级后全部宏失配 |
TopologyMigrator 是否跑过(梦境条件是否满足)→ migration_map 是否有记录 → 相似度是否普遍 <0.7 |
| 记忆库持续膨胀 | 差分摄取是否生效;EntropyManager 衰减是否在跑;是否有超大 Episode 未被清理 |
| 该记的没记住 |
MemoryImmuneSystem 是否把它判为敏感/可疑(这是正确的安全行为) |
| 界面明显迟滞 |
MemoryWriterActor 邮箱是否长期积压(有界 256 → 会背压);afterAction 是否过于频繁 |
- cs-mem 认知记忆 —— 主管线、两种记忆形态
- Agent 引擎 —— 轨迹来源
- 测试体系 —— 稳定边 ID / 蒸馏参数提纯 / 迁移回退闭环 / 回放偏离防护
- 路线图 —— 语义检索、软删除双时间线等规划
-
MCP 生态总览
新 - (沙箱 MCP · 官方 Hub · 逆向 Host · 门控语义)
- 终端运行时
- 终端 API 契约
- SDK 边界
- Termux 能力矩阵
- Ubuntu rootfs 供给
- Ubuntu 生命周期
- PRoot 二进制溯源
- VT100/ANSI 模拟器
- 终端性能
- 终端迁移
- 原生层 C++/JNI