简单谈谈openclaw和claude code的memory机制
本文内容主要讲解了OpenClaw和Claude Code的memory机制,并针对他们的异同展开了探讨 1 OpenClaw的memory OpenClaw 是开源 Agent 框架,其memory机制主要想法是**“文件即状态,搜索即召回”** 1.1 两层记忆 OpenClaw 的记忆系统主要分为两层: 长期记忆 — MEMORY.md:存放用户偏好、关键决策、固定规则等需要长期记住的信息。文件默认不存在,需要用户手动创建。每次对话启动时自动注入上下文,Agent 在对话中主动往里写,人也可以直接编辑。 工作记忆 — memory/YYYY-MM-DD.md:每天一个独立文件,记录当天的会话摘要、运行笔记、临时观察。它们是 append-only 的——每天自动创建新文件,旧内容不修改。每次会话启动时,系统加载今日和昨日的日志文件。 当这些记忆被保存后,会在后台自动进行向量化索引。 1.2 如何召回 除去上面自动注入的记忆,Agent会通过如下两个工具召回其他记忆: memory_search:混合搜索(BM25 30% + 向量70%)搜索之前索引在SQLit...
MemGPT
本文内容主要参考论文 [1] 1 背景与问题 LLM虽然革命性地改变了AI,但受限于固定长度的上下文窗口。如果简单拓展上下文长度,会因为Transformer 的自注意力机制导致与计算时间、内存呈二次方增长。所以memory机制就十分重要 2 MemGPT 系统设计 它主要是借鉴操作系统虚拟内存的概念: 操作系统通过"分页"在物理内存和硬盘之间交换数据,让应用程序以为有无限内存 是不是也可以 LLM 在有限的上下文窗口(内存)和外部存储(硬盘)之间自动"换页",营造出无限上下文的幻觉?具体的设计如下图: 2.1 Prompt组成 LLM 的Prompt被划分为三个连续区域: 区域 功能 系统指令(System Instructions) 包含规则。只读 工作上下文(Working Context) 存储关键事实、用户偏好、角色设定等结构化信息。可读写 FIFO 队列 FIFO 队列的第一个位置保存一个递归摘要,用于快速回顾已被逐出的旧消息, 其他位置滚动存储最近的消息历史,包括对话、系统警告、函...
Mem0
本文主要参考论文[1] 1 背景与问题 这里就比较常规,还是说LLM固定上下文窗口导致无法维持长期多会话对话的一致性,引出memory的重要性 2 方法 人类记忆的关键是选择性存储、整合关联概念、按需检索。Mem0 模仿这一过程,让 AI 代理动态提取、组织、检索对话中的关键信息,而不是简单地把所有历史塞进提示词。论文将memory管理和正常对话解耦,对于memory管理总共提出了两个方法,Mem0和Mem0g。在正常对话的时候只需要向量嵌入查询top s个相关的记忆就作为memory就可以了。 2.1 Mem0 如下图所示: Mem0 的核心是两阶段流水线:提取阶段(Extraction Phase) 负责从对话中提炼事实,更新阶段(Update Phase) 负责把这些事实合并进长期记忆库。每收到一对新消息 $(m_{t-1}, m_t)$ 时自动触发,通常 $m_{t-1}$ 是用户消息,$m_t$ 是助手回复。 2.1.1 提取阶段 如上图紫色部分,输入提示词 $P$主要包含三个信息源:对话摘要 $S$(由独立的异步摘要生成器定期刷新,确保提取时能看到对话全貌),...
Efficient LVLM Inference blog
本文内容主要参考综述 [1],该综述将 LVLM 的推理流程划分为三个阶段:编码(Encode)、预填充(Prefill) 和 解码(Decode),并围绕这三个阶段梳理了现有的高效推理技术。 1 第一阶段:编码(Encode) 核心目标:在源头减少视觉 Token 的数量,减轻下游负担。 1.1 架构优化 方向 思路 高效视觉编码器 改进 Encoder 架构本身 高效模态适配器 改进适配器架构(如 QFormer 相比 MLP 也是一种改良) 1.2 输入缩减 1.2.1 关键帧选择 主要针对视频,筛选最重要的帧。 1.2.2 自适应分辨率 根据样本的语义难度动态调整分辨率——简单图用低分辨率,复杂图用高分辨率。 1.2.3 编码端 Token 压缩 完全依赖图像固有的空间属性,不依赖文本提示或 LLM 权重 [1:1]。分为两种思路: 无视注意力:利用视觉区块天然的空间冗余,用简单的相似度指标合并或修剪冗余特征。 利用自注意力:直接利用视觉编码器内部的自注意力机制——如果编码器自己对某些特征没分配太多注意力,说明它们不重要,直接扔掉,保留高...
Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub. Quick Start Create a new post 1$ hexo new "My New Post" More info: Writing Run server 1$ hexo server More info: Server Generate static files 1$ hexo generate More info: Generating Deploy to remote sites 1$ hexo deploy More info: Deployment




