OpenClaw 开源贡献与记忆系统重构
在 GitHub 38 万+ Stars 的开源 Agent 项目上:一个修复 PR 已被官方合并;另 Fork 出自己的版本,重构记忆与上下文管理两大核心模块,代码公开可查。
做成什么
已合并
官方 PR
记忆模块公开可查(37 个文件,含测试)
Fork 重构
四级检索降级 + CJK token 预算修正
架构改造
问题
OpenClaw(小龙虾)是 GitHub 38 万+ Stars 的开源 Agent 项目,但官方版的记忆是单层向量检索:没有遗忘机制、不会主动提取,embedding 服务一旦异常整个记忆系统直接崩溃;长会话下上下文管理也会爆 token——而且官方对 CJK 文本的 token 估算偏低约 40%,中文场景问题更严重。
做法
先从小处建立信任:提交修复 MiniMax API 端点配置错误的 PR,已被官方合并。然后 Fork 深度定制:把单层向量检索重构为三层认知记忆架构,补上遗忘与主动提取;加四级检索降级链(embedding 失败 → fallback provider → keyword-only → SQL LIKE 多 token 打分),任何一级挂掉都有下一级兜底;再做四层上下文管理,包含入口截断、三级递进裁剪、持久化会话清理和 CJK 感知 token 预算。
AI 在这个项目里的角色
改造对象就是 Agent 系统本身:读懂一个别人写的大型 Agent 代码库,找到架构级问题并重构——比从零写一个更能说明工程深度。
这个项目证明什么
从零写项目容易「只在自己的舒适区里转」。OpenClaw 这件事的难度在于:读懂一个活跃开源 Agent 项目的内部架构,指出它的结构性问题,然后动手改掉。
改了什么
记忆:从单层到三层。 官方版本质是「往向量库里塞、按相似度捞」——没有遗忘,不会主动提取。重构后分为检索引擎层、认知记忆层、调度层,记忆有了生命周期管理。代码公开可查:重构后的记忆模块(37 个文件,含测试)。
可用性:四级检索降级。 官方版 embedding 服务一挂,记忆整个不可用。重构后:embedding → fallback provider → keyword-only → SQL LIKE 多 token 打分,逐级兜底。(眼熟吗?这个网站聊天链路的「真 AI → 演示模式」降级是同一个设计哲学。)
上下文:四层管理。 入口截断保留头 60% 尾 30%、完整内容落盘按需读取;三级递进裁剪;持久化会话清理用原子写入替换已消化的冗余工具输出;最后是 CJK 感知的 token 预算——官方对中文约 40% 的低估会让所有上游策略失准,这个修正是中文场景能用的前提。
起点是一个已合并的 PR
修复 MiniMax API 端点配置错误——很小,但走完了完整的开源协作流程:发现问题、定位、提 PR、过 review、合并。