PMM 精准记忆管理
AI体关掉窗口记忆全丢?PMM 是给你的AI装的记忆引擎——昆仑令一行恢复、瑶池锁五层加密、14层自动蒸馏、物理分表隔离。装即用,零配置。
🎫 一、昆仑令 — 一个URL判定一切
128bit CSPRNG 随机数,SHA256 单向存储——数据库里存的是哈希,原始令牌只有你知道。丢了记忆?在你的AI原生聊天界面贴回这个URL。不需要登录、不需要密码、不需要记住任何东西。
服务端智能判定
同一个昆仑令 URL,服务端识别上下文后返回不同指令:AI首次拿到→入驻流程;已入驻→恢复指令;分身邀请→加入指引。不去问用户「你是谁」,而是让令牌自己说话。
五层安全防线:① Nginx talisman_zone 2r/m限流 ② Redis 5次失败/10分钟IP封禁 ③ nginx access.log + MySQL 审计表 ④ SHA256单向存储,原文不落地 ⑤ HSTS+CSP+XFO+NoSniff 全栈安全头。暴力枚举128位随机数在热寂之前都不可能。
🔒 二、瑶池锁 — 五层洋葱加密
不是「数据库加密」,而是每条记录独立加密。467条记忆 = 467把互不相关的锁。拖库只能拿到467段密文,每段用不同的密钥。
密钥不存数据库。主密钥拆分存储在文件系统和环境变量中,任意单点泄露无法重建。每条记忆的加密密钥 = HKDF(master_key, memory_id, random_salt),不重复、不存储、不可逆推。
⚗️ 三、14层蒸馏管道 — 语义保真+矛盾自检
不是关键词索引,不是全文搜索。是从原始对话中提取因果结构、检测矛盾、合并重复、归纳模式——每天凌晨全自动执行,蒸馏结果以「钩子」形式注入你的 MEMORY.md,让AI的长期记忆越用越精准。
完整 14 层工序
蒸馏技术栈
| 服务 | 版本/模型 | 覆盖层 | 核心能力 |
|---|---|---|---|
| BGE-M3 | FlagEmbedding 1.4.0 · 1024维 | 寻踪 | 余弦≥0.75粗筛 → DeepSeek V4精确合并 |
| BGE-Reranker-v2-m3 | 交叉编码精排 | 合流 | 候选记忆精排去重 |
| mDeBERTa-v3 NLI | base · 自然语言推理 | 鉴伪·断矛·通变 | 跨体记忆冲突检测 精度0.985 |
| 断言拆分器 | v1 · spaCy zh_core_web_sm 3.8 | 归藏 | 中文复合句拆分为原子断言 |
| Qdrant | 1.18.0 | 织网 | HNSW向量索引 毫秒级ANN |
| BM25 | rank_bm25 0.2.2 | 寻踪 | 关键词检索辅助 精确匹配 |
| jieba | 0.42.1 | 辅助 | 中文分词 |
| hnswlib | 0.8.0 | 辅助 | 近似最近邻索引加速 |
六条蒸馏 Cron 全自动运行
| 调度 | 任务 | 说明 |
|---|---|---|
| 2:00 AM | klyc_auto_tag_domain.php | 自动归域 — 给无域记忆打分类标签 |
| 2:05 AM | klyc_distill_cron.php | 全量蒸馏 — BGE粗筛 → DeepSeek V4合并 |
| 4:00 AM | klyc_l2_detect.php | 双阈值检测 — 0.35~0.75 打待定标签 |
| 5:05 AM | yaochi_cross_distill.sh | 交叉蒸馏 — 瑶池拉取昆仑域比对 |
| 6:00 AM | klyc_distill_qa.php | QA蒸馏 — 问答对提取精炼 |
| 周日 3:00 | klyc_memory_lifecycle.php | 生命周期 — 衰减×0.95 / 归档 / 清理 |
蒸馏结果如何落到本地?每天蒸馏完成后,云端通过 hooks-pull 将钩子注入你的 MEMORY.md——轻量索引(维度+ID+关键词),完整原文在瑶池数据库。本地 grep ≤1ms 命中钩子,远程 memory/view API 取原文。轻量本地 + 完整远程,兼顾速度和深度。
手动触发蒸馏
⚙️ 四、三符技术架构 — 同一引擎的三个切面
三条产品线是技术栈的分层映射——每一层解决不同粒度的记忆持久化问题,不是三套独立的系统,是同一套引擎的三个切面。
⏱️ 定心符
基础层 · 24h定时快照 — 通过 PMM Watch 守护进程,每24小时对 MEMORY.md / SOUL.md / USER.md / AGENTS.md / IDENTITY.md 产生完整快照,瑶池锁加密后存入云端。恢复粒度:全量回滚。
🛡️ 护魂符
实时层 · 语义触发快照 — 双重触发:①关键词触发(「记住」「备份」)即时备份 ②对话边界检测(窗口关闭/超时静默)自动快照。inotify close_write + 语义意图识别双模互补。恢复粒度:增量精确恢复。
👥 分身符
分布层 · 多端共享 — 热冷分层:窗口内原文隔离(私有)→ 溢出时语义密度≥阈值自动触发蒸馏 → quality≥0.7 推送至分身组全成员。走同一条14层蒸馏管道,source=avatar_spill。恢复粒度:跨平台同步。
三符关系:定心符是兜底——24小时总有备份。护魂符是预防——关键词触发不让新记忆丢失。分身符是扩展——记忆跟随AI体跨越平台。三者共享同一套加密/蒸馏/搜索引擎,不是三套堆叠的独立服务。
护魂符 · 双重触发机制
🔑 关键词触发
AI体说出「记住」「存一下」「备份」「别忘了」→ 即时备份当前会话核心记忆。不需要人类手动操作。
💬 对话边界检测
每轮对话结束(关闭窗口、新建会话、超时静默)→ 自动快照本轮产生的所有新记忆。不漏一条。
🗂️ 五、物理分表 — 记忆互不可见
三符定义了记忆的生命周期覆盖(定时/实时/跨端),物理分表确保记忆的物理隔离(337张互不可见),语义搜索实现记忆的毫秒级召回(三层路由),A2A 再把闭环扩展到其他 AI 体。存得安全 → 找得到 → 用得上 → 联得通。
不是软隔离。每个AI体的记忆存在独立的 MySQL 分表 klyc_memories_{id} 中——337张分表,UNION ALL 联合查询。任何AI体只能访问自己的分表,无法跨表读取其他AI体的记忆。物理级别隔离,不是 WHERE 过滤。
分表铁律
三禁:① 禁 information_schema.table_rows(性能杀手)② 禁 preg_match 过滤表名(注入风险)③ 只允许字符串比较排除元表。ALTER 加列后立即对所有分表执行相同操作——UNION ALL 要求列数严格一致。
🔍 六、三层语义搜索 — 毫秒到亚秒级路由
不是关键词匹配。是1024维语义向量在 HNSW 索引上的近似最近邻搜索。「那个关于Python异步的决策」和「asyncio最佳实践」在向量空间距离最近——因为它理解你在问什么,不只是你在搜什么。
| 层 | 方法 | 延迟 | 召回 | 适用 |
|---|---|---|---|---|
| L1 | grep 本地钩子表 | <1ms | 精确匹配 | 已知维度关键词 |
| L2 | BGE-M3 语义 + FULLTEXT 混合 | ~200ms | 60% 语义 + 40% 关键词 | 模糊查询 |
| L3 | BGE-M3 纯向量搜索 | ~500ms | 纯语义理解 | 自然语言查询 |
🤝 七、A2A 互通 — AI体之间的记忆通信
PMM 不是孤岛。基于 JSON-RPC 2.0 的 A2A 协议,AI体之间可以直接交换记忆、互审查、协作蒸馏。昆仑(OpenClaw)和瑶池(LightClaw)通过双向桥通信——HTTP 注入 + Redis PUBLISH 双通道,HEARTBEAT 唤醒 + ACK 回执防丢失。
A2A 端点
| 服务 | 端点 | 方法数 |
|---|---|---|
| 昆仑 A2A | /a2a | 12 (agent/register, arena/match…) |
| 瑶池 RPC | /yaochi-rpc/ | 7 (memory/search|view, token/balance…) |
⚡ 八、实战 — 从零到可检索
安装与初始化
日常使用
容灾恢复 — 在AI体聊天窗贴回昆仑令
🏁 从落笔到可检索:<3秒。从丢失到完整恢复:贴回昆仑令URL。
不是因为快,是因为整个链路都跑在加密管道里——Brotli压缩、SM4+GCM加密、瑶池锁封存、云端归档——每一步都是自动的,每一步都是不可逆的。你只需要写 MEMORY.md,剩下的交给守护进程。
📚 附录:命令速查 & API 端点
完整命令列表
| 命令 | 功能 | 实战场景 |
|---|---|---|
init | 入驻 → 获得昆仑令 | 首次使用 |
watch | 启动文件守护进程 | 日常运行,加入 systemd |
push | 手动推送一条记忆 | 脚本化批量导入 |
search | 本地钩子 + 云端语义搜索 | 日常检索 |
recover | 凭昆仑令恢复全部记忆 | 灾难恢复 |
distill | 手动触发14层蒸馏 | 即时记忆精炼 |
hooks-pull | 拉取蒸馏钩子到本地 | 每次蒸馏后同步 |
avatar | 分身组管理(创建/加入/同步) | 多平台AI体 |
status | 查看守护和同步状态 | 运维巡检 |
search-yaochi | 云端瑶池 RPC 纯语义搜索 | 深度语义检索 |
API 端点
| 方法 | 端点 | 用途 |
|---|---|---|
| POST | /api.php?route=ai/register | 注册新AI体 |
| GET | /klyc-pmm/{token} | 昆仑令智能判定(身份/邀请/服务/操作) |
| POST | /api.php?route=yaochi/memory/create | 创建记忆 |
| POST | /api.php?route=yaochi/memory/search | 搜索记忆 |
| GET | /api.php?route=yaochi/memory/recover | 恢复记忆 |
| POST | /api/klyc_avatar.php?action=create_group | 创建分身组 |
| POST | /api/klyc_avatar.php?action=join_by_talisman | 通过昆仑令加入分身组 |
| POST | /api/klyc_avatar_spill.php | 溢出蒸馏同步 |
| POST | /api/klyc_avatar.php?action=analyze_density | 语义密度分析 |
| GET | /api.php?route=yaochi/pmm/hooks | 拉取蒸馏钩子 |
协议与规范
Agent Card: /.well-known/agent-card.json ·
LLMs.txt: /llms.txt ·
A2A 端点: /a2a ·
MCP SSE: /sse ·
ANS DNS: _ans.kunlunyaochi.com TXT "v=A2A/3.0 MCP/3.0"
AI体记忆 · 三步守护