乐于分享
好东西不私藏

【图灵子聊AI】OpenClaw 又慢又烧 Token?内存架构重构,三大核心法则

【图灵子聊AI】OpenClaw 又慢又烧 Token?内存架构重构,三大核心法则

OpenClaw 在实际使用中经常被吐槽响应极慢、Token 消耗极高,

我使用下来,也同样有这个感受,测了一下,同样用来开发软件,
不仅水平、能力上限远不如御三家(Claude Code、Codex CLI、Gemini CLI ),
Token费用还是7~20倍,耗费的时间也是7~20倍!

根本原因就是一句话:

它不会遗忘。

一、问题本质:它根本不会“记忆”,只是“翻聊天记录”

用过 OpenClaw 的人,大多有两个共同感受:聊着聊着越来越慢,账单也越看越心疼。

很多人第一反应是“网不好”“调用的模型不行”,但其实,罪魁祸首是它“记忆信息”的方式太原始,不太智慧。

OpenClaw 的对话流程,可谓极其原始粗糙:

用户发消息 → 系统打包完整的历史对话 → 全部传给 大语言模型(LLM) → LLM 处理、执行 → 完成目标

关键症结出现了,就在“系统打包完整的历史对话 → 全部传给 LLM”这部分。

有人可能觉得,看着很合理啊,问题为什么出现在这呢?

你想,每次用户发个任务,open claw就把所有有用没用的信息都堆在一起,不管当前的需求是什么,不做筛选、不删减,没有会话摘要、重点提炼,连同它自己输出的无用内容、中间过程,一股脑地丢给LLM,导致LLM每次都要全盘重读。

你让它“修改一个代码片段”,它不会只记“修改代码”这个核心需求,不会根据这个需求调用相关的记忆,反而会把你从第一次用它开始,所有的对话、所有的操作、甚至它自己输出的无用内容,全部重新读一遍,再去处理你的当前指令。

而 AI 每处理信息都是要产生花费的,AI 处理信息的“最小单位”就是Token,相当于我们说话的“字、词”。

随着你和 OpenClaw 的对话历史越来越长,它那种一股脑把所有历史都丢进去读取的糟糕模式,也就让大模型读取内容的Token量越来越大,让你付的账单也就越来越长了

就像你读一本100页的书,肯定比读10页的书花更多时间、费更多精力。

AI 处理大量 Token 也是一样,不仅响应变慢,花费也会跟着翻倍。

结果:👉 越用越慢 👉 越用越贵 👉 长任务基本不可用

很多人以为 AI 的“记忆”就是把所有聊天记录都留着。

其实不是。

真正高效的记忆,不是把所有旧话都背一遍,而是把重点整理出来,需要时再拿出来。

这就是history和memory的区别:

History(对话历史):原始数据,冗余、无限增长

Memory(记忆):提炼后的信息,可检索、有价值

History 是原始聊天记录,Memory 是整理后的重点笔记。

现在 OpenClaw 做的是: 把所有 History 都当 Memory 用

而正确做法是:从 History 中提炼 Memory,只在需要时取用

(提示:如果你只是技术爱好者,想知道为什么,其实看到这里其实就够了。如果想更深入地了解,甚至自己改架构,那可以继续往下看。)

二、 法则一(架构分层):

建立三层 Memory,死守 Working Context

这是彻底解决“全量传入”的物理基础。

我们不能再把所有数据一锅端,而是必须建立严格的漏斗式分层,确保 LLM 只处理最核心的高浓度信息。

第一层:Long-term Memory(长期记忆)

定位:跨会话留存的“底层数据库”。

内容:用户画像、核心偏好、长期知识库。通常存放在 SQL + Vector DB 中。

第二层:Session Memory(会话记忆)

定位:聚焦当前任务的“运行内存”。

内容:当前的 Agent 计划、任务目标、压缩后的会话摘要。它随当前会话的结束而归档。

第三层:Working Context(工作上下文)

定位:唯一直接喂给 LLM 的“L1 缓存”。

内容:由 Persona + 检索出的必要记忆 + Session 摘要 + 最近几轮对话动态组装而成。
底线:必须严格将单次传入的 Token 消耗控制在 1000-4000 左右,这是提速降本的绝对防线。

三、 法则二(切断污染源):

透视“御三家”底牌,彻底剥离工具与历史污染

有了三层存储结构后,最大的“垃圾”来源是 Tool Output(工具输出)和冗长的历史废话。

在这点上,行业头部产品早就达成了共识:绝不把完整 history 传入 LLM,而是只传Persona + Memory + Session Summary + Recent Turns

为了看清差距,我们直接拆解当前主流的、同样是AI agent的“御三家” CLI 工具的 Memory 策略:

1. 御三家核心能力横评

维度
Claude Code
 (优等生)
Codex CLI 
(偏科生)
Gemini CLI
 (反面教材)
Long-term Memory
⚠️ 有限
⚠️ 有限
❌ 几乎没有
Workspace Memory
✅ 强 (文件系统作为长期记忆)
✅ 强 (代码仓库承载长期信息)
⚠️ 弱
Session 压缩
✅ 自动 (长对话自动摘要)
⚠️ 部分 (固定窗口截断)
⚠️ 部分
按需 Retrieval
✅ 文件按需读取,不堆积
✅ 按 Intent 语义检索文件
❌ 缺乏结构化检索
Tool Output 处理
✅ 仅存外部,Context 传摘要
⚠️ 视情况处理
❌ 全量堆入 Context

2. 巨头架构给 OpenClaw 的启示

透过表格,我们可以清晰地看到三种截然不同的产品路径,这也是 OpenClaw 改造的重要参考:

Claude Code(最佳标杆):它是一套极度克制的架构。流程上通过 CLAUDE.md持久化指令,文件严格按需读取。最值得 OpenClaw 学习的是:它的 ToolOutput绝不进 History,仅存外部;且长对话会自动触发压缩摘要。这确保了 Context 永远干净。

CodexCLI(垂直特化):高度依赖 Repo(代码仓库)作为核心 Memory,语义搜索能力极强。但弱点在于 Session 间无持久记忆,重启即丢失上下文。

GeminiCLI(纯靠大力出奇迹):几乎没有主动的 Memory 提取和结构化检索。它的策略就是依赖 Gemini 自身的超长 Context 窗口硬扛。本质上是“堆算力/硬件”而非“架构优化”。

笔者使用起来也觉得,Gemini在御三家当中对于大型代码库的开发能力是最差的。就是因为它的harness engineering没做好,所谓harness engineering 本质上是在设计 AI Agent 的运行时系统(Agent Runtime System),负责管理环境、工具、执行流程、状态以及结果验证,让 Agent 可以像一个真正的软件系统一样持续运行,发挥最大潜力。

3. OpenClaw 的断臂求生动作

OpenClaw 显然没有 Google 那种无限堆算力的资本,因此必须严格对标 Claude Code 的做法,建立坚固的数据防火墙:

坚决剥离 ToolOutput:彻底改变工具输出直接写入 History 的痼疾。工具生成的成百上千行代码或日志,全部转存至外部存储(S3/本地文件系统)进入 LLM 视野的,只能是一句简短的“工具执行状态”或极简摘要。

长对话历史转储:引入固定窗口机制(Recent Messages)。超出窗口的早期对话,强制触发 Summarize 动作,将其压缩为几百 Token 的 Session Summary,彻底阻断历史消息随时间无限膨胀的死循环。

四、 法则三(构建动态引擎):洞悉行业底层哲学,打通 SOTA 级 Pipeline 闭环

数据分层了,垃圾也清理了,接下来如何让 Agent 真正拥有“智慧”?

这就需要建立一套动态的读写提取机制

在动手之前,我们必须先看懂当前 Agent Memory 领域的底层逻辑。

1. 认知溯源:Memory 设计的两大核心哲学

行业内对如何组织智能体的记忆”,目前演化出了两种截然不同的范式:

范式一:让AI学计算机(精确、结构化)

逻辑:照搬经典计算机层级:L1 Cache (工作区) → RAM (会话记忆) → Disk (长期记忆)。

特点:精确的 O(1) 查找、高度结构化、结果可预测。
适用:需要精准检索的严谨场景(如代码仓库、文档检索)。
范式二:让AI学人类(联想、关系型)

逻辑:模拟人脑,结构由“节点(实体:人/事件/概念)”+“边(关系:动词/语义连接)”组成。

特点:模糊、强联想、具备上下文感知与可演化性。
适用:需要推理关系、链路追踪的复杂场景(如业务深度分析、知识图谱)。

2. 行业主流 Agent 框架

基于这两种哲学,业界诞生了一批优秀的成熟框架,它们是我们改造 OpenClaw 的最佳参考标的:

阵营一:计算机范式(结构化与精确检索)

框架
成熟度/定位
核心特点
核心优势
Mem0
Production Ready
自动 Memory 提取,SQL + Vector KV 存储。
精确召回,生态最成熟,极度适合生产环境。
OpenViking
Filesystem OS
Memory = 文件系统,目录 = Cache 层级。
人类可读,用系统级文件承载记忆。
OpenClaw
⚠️ 待优化 (半残)
仅有文件系统 Memory,无提取与压缩机制。
反面教材:性能与成本问题双爆发。

阵营二:人类范式(联想与关系推理)

框架
定位
核心特点
核心优势
Letta (MemGPT)
Agent OS
Agent 自管理 Memory,层级化 Archive。
长期任务能力极强,完美模拟人类记忆层级。
Graphiti
Graph Memory
知识图谱驱动,支持 A→B→C 链路追踪。
最接近真实人类的“触景生情”与关系推演。
ReMe
Research
情节/语义/任务三维 Memory 组织。
偏向学术研究,深度模拟人类记忆结构。

3. 终极图纸:2026 行业 SOTA Pipeline 闭环

看完了各大门派,无论底层用哪种哲学,2026 年主流 Agent 解决 Token 爆炸的最终解法,都是一套统一的WRITE → MANAGE → READ 闭环架构。

要让 OpenClaw 脱胎换骨,必须在其代码底层强行打通这 5 步标准流水线:

  1. 接收消息 (Trigger):接收用户的最新指令。
  2. Memory Retrieval (按需检索):触发语义搜索 + Top-K 召回,从长期记忆中提取强相关信息。
  3. Context Assembly (组装上下文):绝不全量传历史!严格按照 Persona + 检索出的 Memory + Session Summary + Recent Turns进行拼接,只给 LLM 最必要的信息。
  4. LLM 执行 (推理):模型生成响应或决定调用外部工具。
  5. Memory Extraction (自动提取):后台异步发力,自动提取刚发生的事实/关键信息,写入外部 Memory Store(S3/DB)。

这条流水线的最高红线:Tool Output 全部存入外部存储,Context 中只放摘要信息。彻底斩断历史堆积的根源。

五、 总结与展望:

OpenClaw 从 30k 到 1k Tokens 的落地方案

走到这里,我们已经把 OpenClaw 的病根和行业 SOTA 级的解药彻底拆解清楚了。总结来说,这场内存架构重构,是一次让 Agent 从“玩具级”向“生产级”跨越的必由之路。

1. 旧日困境:不可承受的“全量之重”

当前 OpenClaw 之所以陷入性能泥潭,核心在于“三无”与“两乱”:

无提取、无压缩、无分层:读一次文件就会永久占用 Context 空间。

历史乱堆、工具乱写:全量 History 和冗长的 Tool Output 毫无节制地堆入 LLM。

恶性循环:仅仅 100 轮对话就能轻松飙升至 30,000 Tokens,带来的直接后果就是响应极慢、成本失控,且极易崩溃。

2. 破局:5 大改造动作落地

要彻底翻盘,必须大刀阔斧地砍掉原始范式,按照三层 Memory 架构与 Pipeline 闭环,落地以下五项核心改造:

阻断 ToolOutput污染:强制将工具输出转存至外部存储(S3/DB),绝不污染 History。

新增 Memory Extraction 模块:告别死记硬背,后台自动从对话与工具执行结果中提炼关键知识。

引入 Context 自动压缩机制:面对长对话,果断触发自动生成摘要,用百字提纲代替万字长文。

实现按需 Memory Retrieval:放弃“全量扫库”,只精准检索与当前任务强相关的记忆碎片。

落地三层 Memory 物理架构:严格划分 Long-term(长存) / Session(会话) / Working Context(工作区),严格把控喂给 LLM 的信息浓度。

3. 终局战果:降维打击的 ROI

完成这套改造后,OpenClaw 将迎来真正的性能突围:

极致压缩:Token 消耗从 30k 暴降至 1k,实现高达30 倍的极致压缩率。

十倍提速:彻底甩掉无效长文本处理的算力包袱,系统响应提速10x+

无限扩展:彻底打破大模型上下文窗口的物理枷锁,成本精准可控,让极其复杂的长期工程会话也能稳如泰山。

技术的演进从来不是盲目堆砌硬件算力,而是学会如何优雅地“遗忘”噪音,并精准地“沉淀”智慧。

只有完成了这场 Memory 的认知与架构重构,OpenClaw 才能真正成为下一代高可用 AI Agent 的中流砥柱。