OpenClaw 如何节省 90% Token:完整优化指南(摘抄)

# OpenClaw 如何节省 90% Token:完整优化指南

## 一句话总结
OpenClaw 的成本核心不是“回复太贵”,而是 **大上下文反复注入 × 调用次数过多 × 高价模型长期在线**。优化的关键,就是同时压缩输入、减少调用、把贵模型留给真正复杂的任务。

## 核心公式

> Token 消耗 = (输入 + 输出) × 调用次数 × 模型价格

拆开看:
– **输入/输出**:上下文内容与模型回答
– **调用次数**:每次对话、cron、heartbeat、子任务触发
– **模型价格**:不同模型的单价差异

## 主要内容拆分

### 1. 输入才是最大头
每次请求里,真正贵的通常不是回复,而是被重复发送的上下文:
– System Prompt
– Tool Schema
– Workspace 文件(AGENTS.md、SOUL.md、TOOLS.md、USER.md、MEMORY.md 等)
– 历史对话

结论:**OpenClaw 的隐形成本主要来自重复注入。**

### 2. 最划算的优化:精简 Workspace 文件
重点精简:
– `AGENTS.md`
– `SOUL.md`
– `MEMORY.md`
– 每日日志 `memory/YYYY-MM-DD.md`

原则:
– 只保留真正有用的长期规则
– 删除不用的群聊/TTS/多余约束
– 避免把说明书式内容塞进每轮上下文

### 3. Prompt Caching 是省钱神器
如果模型支持缓存,重复的大段输入不会每次都按原价计算。

适合缓存的内容:
– System Prompt
– Tool Schema
– 稳定的 Workspace 文件
– 相对稳定的历史上下文

结论:**缓存命中后,输入成本可大幅下降。**

### 4. Heartbeat 的价值:保温缓存
Prompt Cache 有 TTL,如果长时间不说话,缓存会过期。
适度的 heartbeat 可以:
– 保持缓存热度
– 避免下次重新写入大缓存

但也不能太频繁,否则会把“省下来的输入成本”又消耗在调用次数上。

### 5. Context Pruning:控制历史膨胀
长期对话会让历史消息越来越长。
Context Pruning 的作用是:
– 自动移除旧对话
– 保留近期有效上下文
– 防止会话越来越慢、越来越贵

### 6. Compaction:把长历史压成摘要
对于持续数小时/数天的任务,单纯 pruning 不够。
Compaction 可以:
– 把长对话提炼成摘要
– 在压缩前把重要信息写进 memory
– 保持连续性,同时降低 token 负担

### 7. Sub-Agent:把大任务拆出去
子 Agent 的好处:
– 独立上下文,不继承主会话完整历史
– 适合并发、检索、信息收集等子任务
– 可搭配便宜模型降低总体成本

结论:**子 Agent 不只是提速工具,也是成本隔离工具。**

### 8. Memory Search / qmd:别再整本读文件
记忆文件变大后,如果每次都整份注入,非常浪费。
更优方式:
– 语义检索相关片段
– 只读需要的几段
– 不把整个 MEMORY.md 塞进上下文

qmd 属于更进阶的本地语义检索方案,适合大量 Markdown 知识库。

### 9. Cron / Heartbeat 也要控频
很多人忽视这一点:
– cron 每次运行都是一次完整调用
– heartbeat 也是调用
– 高频轮询非常贵

原则:
– 合并任务
– 降低频率
– 非创作任务尽量用便宜模型
– 正常情况下少发通知

### 10. 模型分层使用
高价模型不要全天候常驻。
更合理的策略是:
– 日常对话:便宜/中档模型
– 复杂写作、深度推理、关键代码:高性能模型
– 子任务:更便宜模型

## 这篇内容的核心洞察

### 洞察 1:OpenClaw 贵,不是因为“说太多”,而是因为“带太多”
AI 回复不是唯一成本。真正吓人的,是每轮都背着一大包上下文上场。

### 洞察 2:优化 OpenClaw,本质是优化“上下文系统”
你不是在调一句 prompt,而是在调:
– 注入文件
– 历史保留策略
– 记忆检索策略
– 子 Agent 边界
– 模型分工

### 洞察 3:最先做的不是换模型,而是减少浪费
如果不先减少无效输入,哪怕换便宜模型,也只是“低价浪费”。

## 可执行清单

### 立即可做
– 精简 `AGENTS.md`
– 精简 `SOUL.md`
– 清理 `MEMORY.md`
– 清理每日 memory 日志
– 给长会话启用 context pruning
– 给 compaction 增加 memory flush
– 用子 Agent 处理独立任务

### 第二阶段
– 启用 heartbeat 保温缓存
– 调整 cron 频率
– 建立模型分层策略

### 进阶阶段
– 启用 memory search
– 引入 qmd 做本地语义检索
– 给知识库单独建索引

## 对我自己的启发
这篇内容最值得吸收的不是单个配置项,而是一个原则:

> **能不重复注入,就不重复注入;能拆出去隔离,就不要堆在主上下文;能检索片段,就别整本读。**

这也是 OpenClaw 真正省 token 的底层思路。

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注