章节 01
导读 / 主楼:Anamnesis:为LLM Agent打造的智能记忆代理系统
Anamnesis是一个受EverMemOS启发的自组织记忆代理,通过分层记忆架构和智能检索机制,为LLM Agent提供跨会话的持久化记忆能力。
正文
Anamnesis是一个受EverMemOS启发的自组织记忆代理,通过分层记忆架构和智能检索机制,为LLM Agent提供跨会话的持久化记忆能力。
章节 01
Anamnesis是一个受EverMemOS启发的自组织记忆代理,通过分层记忆架构和智能检索机制,为LLM Agent提供跨会话的持久化记忆能力。
章节 02
章节 03
原作者与来源
\nOpenClaw ──→ Anamnesis :8084 ──→ llama-server :8083\n │\n ├── turns (原始交互记录,SQLite存储)\n ├── memcells (LLM提取的原子化事实)\n ├── memscenes (主题聚类,自组织)\n └── decay (基于分数衰减的智能遗忘)\n\n\n这种四层架构的设计哲学源于认知科学对人类记忆的理解:原始经历(turns)经过加工形成语义单元(memcells),相关语义单元聚合成主题场景(memscenes),而遗忘机制(decay)则确保记忆系统的健康运转。\n\n记忆流水线:从原始交互到结构化知识\n\nAnamnesis的记忆处理流水线是一个持续运行的后台系统,确保记忆库始终保持最新且结构优化:\n\n\nTurn received\n │\n ├─→ Store raw turn + embedding\n │\n └─→ [background] MemCell extraction (gemma4:e2b)\n │\n └─→ [periodic] MemScene consolidation\n │\n └─→ Decay scoring + pruning\n\n\n当新的对话轮次(Turn)到达时,系统首先存储原始记录并计算其向量嵌入。随后,后台进程使用轻量级模型(默认gemma4:e2b)从对话中提取原子化的事实单元(MemCell)。这些MemCell定期被聚类成主题场景(MemScene),同时系统会根据时间衰减和召回频率对记忆单元进行评分和修剪。\n\n智能检索:超越简单的滑动窗口\n\n与传统滑动窗口机制相比,Anamnesis的检索策略更加智能和精准:\n\n| 特性 | 滑动窗口 | Anamnesis |\n|---|---|---|\n| 旧轮次处理 | 永久丢弃 | 永久存储,按需检索 |\n| 检索依据 | 仅按时间 | 场景引导的余弦相似度 |\n| 记忆结构 | 扁平 | 分层(turn → cell → scene) |\n| 遗忘机制 | 硬性截断 | 基于年龄和召回频率的软衰减 |\n| 后台处理 | 无 | MemCell提取 + 场景整合 |\n\n检索流程首先计算查询的向量嵌入,然后对所有MemScene进行余弦相似度评分。得分最高的场景会被展开为包含的原始轮次ID,再综合考虑相似度和衰减权重进行最终排序。这种机制确保了即使在超长对话中,系统也能精准召回最相关的历史信息。\n\n上下文窗口的精妙设计\n\nAnamnesis构建的最终上下文窗口由三部分组成:系统提示(system)、基于场景检索的相关历史轮次(rotating relevant turns),以及最近的8轮 verbatim 记录。这种设计既保证了Agent能够获取经过提炼的历史知识,又确保了对最新对话的完整感知。\n\n配置文件中提供了丰富的参数调节选项:\n\n- context.tokenBudget:总Token预算(默认65536)\n- context.recencyTurns:始终保留在上下文中的最近轮次(默认8)\n- context.rotatingSlots:通过场景检索添加的旧轮次数量(默认6)\n- memory.sceneClusterThreshold:场景聚类的余弦相似度阈值(默认0.72)\n- memory.decayPruneThreshold:记忆单元修剪的分数阈值(默认0.05)\n\n技术实现与部署\n\nAnamnesis采用Node.js开发,通过HTTP代理模式与OpenClaw集成。安装过程非常简单:\n\nbash\nsudo bash install.sh\n\n\n安装完成后,只需将OpenClaw的llamaserver.baseUrl指向http://127.0.0.1:8084/v1即可。系统内置SQLite数据库用于持久化存储,并通过Ollama调用轻量级模型进行MemCell提取。\n\n系统还提供了状态监控端点:\n\n\nGET http://127.0.0.1:8084/anamnesis/status\n→ { \"status\": \"ok\", \"turns\": 142, \"cells\": 831, \"scenes\": 24 }\n\n\n未来展望\n\nAnamnesis项目仍在积极开发中,路线图包括:流式响应存储、前瞻信号(预测未来上下文需求)、跨会话场景合并、OpenClaw插件封装,以及用于浏览记忆图谱的Web UI。\n\n结语\n\nAnamnesis代表了LLM Agent记忆管理的一个重要方向——与其追求无限的上下文窗口,不如构建智能的记忆代理层。通过分层存储、语义聚类和智能检索,它让LLM真正拥有了"回忆"的能力。这种架构设计不仅适用于对话Agent,也为任何需要长期记忆和知识积累的AI系统提供了有价值的参考范式。