news 2026/5/12 9:48:53

OpenClaw Token 消耗实测:6 项配置调整后省了 40% 费用

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
OpenClaw Token 消耗实测:6 项配置调整后省了 40% 费用

跑了一周 OpenClaw,账单吓了一跳。逐项排查后发现,默认配置下有大量 token 浪费在心跳、上下文回放和重复探索上。本文分享 6 项实测有效的配置优化,附具体参数。

钱花在哪了?先看 Token 消耗结构

OpenClaw 每次 API 调用的 token 消耗可以拆成四块:

总消耗 = 系统提示(bootstrap) + 历史消息(context replay) + 工具结果(tool outputs) + 模型输出(completion)

/context detail看一下实际数字(某次普通对话):

组成部分Token 数占比
Bootstrap(CLAUDE.md + skills + memory)35,00028%
Context replay(历史消息回放)65,00052%
工具结果(web_fetch, read 等)18,00015%
模型输出6,0005%
合计124,000100%

52% 花在历史回放上——这是最大的浪费源。每一轮对话,OpenClaw 都要把之前所有对话记录重新发给模型。对话越长,这个数字越大。

优化一:设 contextTokens 上限

问题:不设上限 = 用满模型的完整上下文窗口。Claude Sonnet 的 200K 窗口意味着单次请求最多花 200K input tokens。

配置

{"agents":{"defaults":{"contextTokens":100000}}}

100K 覆盖 85-90% 的使用场景。超出后自动触发 compaction(上下文压缩),把旧消息总结成摘要。

效果:单次请求 input token 上限从 200K 降到 100K,长对话场景省 30-50%。

优化二:上下文裁剪 TTL 从 7 天改 6 小时

问题:默认cache-ttl: 7d意味着 7 天前的工具调用结果还在上下文里。一个web_fetch结果可能有 5000-10000 tokens,7 天下来累积惊人。

配置

{"agents":{"defaults":{"contextPruning":{"mode":"cache-ttl","ttl":"6h","keepLastAssistants":3}}}}

keepLastAssistants: 3保留最近 3 轮助手回复的完整内容,更早的工具结果在 6 小时后自动裁剪。

效果:长期运行的 session 中,context replay 部分减少 40-60%。

优化三:心跳用便宜模型 + 轻量上下文

OpenClaw 的心跳机制每隔几小时唤醒 agent 检查状态。默认用主模型(可能是 Claude Sonnet,$3/M input),而且注入完整的 bootstrap 文件。

问题:一次心跳 = 37,500 tokens(完整 bootstrap)× $3/M = $0.11。一天 6 次 = $0.66。一个月 = $20,就为了 “我还活着”。

配置

{"agents":{"defaults":{"heartbeat":{"every":"4h","model":"google/gemini-2.5-flash-lite","lightContext":true}}}}
  • model: 用最便宜的模型(Gemini Flash Lite 约 $0.10/M tokens)
  • lightContext: true: 只注入 HEARTBEAT.md,跳过 AGENTS.md、SOUL.md 等大文件

效果:心跳 token 从 37,500 降到 ~3,000,模型单价从 $3 降到 $0.10。单次心跳成本从 $0.11 降到 $0.0003。

优化四:Compaction 用便宜模型

上下文压缩(compaction)是把长对话历史总结成摘要。这个任务不需要旗舰模型。

配置

{"agents":{"defaults":{"compaction":{"mode":"safeguard","model":"minimax/MiniMax-M2.5"}}}}

效果:每次 compaction 省下旗舰模型和便宜模型的差价。如果主模型是 Claude Sonnet($3/M),换成 MiniMax M2.5 后这部分成本降 80%+。

优化五:缩减 Bootstrap 文件大小

Bootstrap 文件(CLAUDE.md、skills、memory)在每一次API 调用中都会重新发送。1000 字符 ≈ 250 tokens,乘以每轮对话的调用次数,累积起来很可观。

配置

{"agents":{"defaults":{"bootstrapMaxChars":10000,"bootstrapTotalMaxChars":75000}}}

默认是 20000/150000,减半后覆盖率依然够用。

同时检查你的 skills 目录

# 看哪些 skill 被加载了ls~/.openclaw/skills/# 禁用不常用的# openclaw.json → skills.entries.unused-skill.enabled = false

每个 skill 至少增加 24 tokens 系统提示。10 个不用的 skill = 每次调用多花 240 tokens。

效果:每次 API 调用的 bootstrap 部分减少 30-50%。

优化六:降低图片分辨率

如果你的 agent 处理截图或图片,默认 1200px 分辨率会产生大量 vision tokens。

{"agents":{"defaults":{"imageMaxDimensionPx":800}}}

效果:vision token 消耗按像素面积计算,800px vs 1200px 减少约 55%。

隐藏大招:用好记忆

以上都是"减少浪费"。还有一个"避免重复"的大招:让 agent 主动存记忆

没有记忆:每次新 session → 重新读文件、搜代码、查网页 → 5000-20000 tokens 有记忆:直接调出上次的结论 → 500 tokens

OpenClaw 的记忆是 workspace 下的 Markdown 文件:

~/.openclaw/memory/ ├── 2026-04-08.md # 每日日志(自动加载今天+昨天) └── MEMORY.md # 长期记忆(手动维护)

配合 compaction memoryFlush(session 接近压缩时自动提醒 agent 存记忆):

{"compaction":{"memoryFlush":{"enabled":true,"softThresholdTokens":4000,"prompt":"Write any lasting notes; reply with NO_REPLY if nothing to store.","systemPrompt":"Session nearing compaction. Store durable memories now."}}}

记忆的 ROI:花 500 tokens 存一条记忆 → 省掉未来 10 次 session 的重复探索(每次 5000+ tokens)。

完整配置一览

把上面 6 项合在一起,放到openclaw.jsonagents.defaults里:

{"agents":{"defaults":{"contextTokens":100000,"bootstrapMaxChars":10000,"bootstrapTotalMaxChars":75000,"imageMaxDimensionPx":800,"contextPruning":{"mode":"cache-ttl","ttl":"6h","keepLastAssistants":3},"compaction":{"mode":"safeguard","model":"your-cheap-model-here","memoryFlush":{"enabled":true,"softThresholdTokens":4000}},"heartbeat":{"every":"4h","model":"your-cheapest-model-here","lightContext":true}}}}

实测效果

指标优化前优化后变化
单次请求平均 input tokens~124K~72K-42%
心跳单次成本$0.11$0.0003-99.7%
Compaction 单次成本$0.45$0.05-89%
日均总 token 消耗~2.8M~1.6M-43%

省下来的钱可以用来接入更多模型、跑更多 agent,或者单纯地降低账单。

模型选择也是成本杠杆

上面都是配置层面的优化。如果你同时需要接入多个模型(比如便宜模型跑心跳、中档模型跑日常、旗舰模型跑复杂任务),手动管理多个 API Key 和计费很麻烦。

笔者用的方案是统一 API 网关——一个 key 调所有模型,按需切换,计费统一。具体来说用的是 TheRouter,支持 30+ 模型的统一路由,国内直连。


TheRouter (therouter.ai) — 多模型统一 API 网关,一个 Key 调用 30+ 模型

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/9 16:11:38

xiaozhi-esp32-server:构建智能终端交互系统的全栈技术指南

xiaozhi-esp32-server:构建智能终端交互系统的全栈技术指南 【免费下载链接】xiaozhi-esp32-server 本项目为xiaozhi-esp32提供后端服务,帮助您快速搭建ESP32设备控制服务器。Backend service for xiaozhi-esp32, helps you quickly build an ESP32 devi…

作者头像 李华
网站建设 2026/4/9 16:11:12

突破硬件壁垒:Sunshine实现跨设备游戏串流自由

突破硬件壁垒:Sunshine实现跨设备游戏串流自由 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine 副标题:4大核心技术双路径部署方案 开篇:当游戏…

作者头像 李华
网站建设 2026/4/9 16:10:03

联想笔记本BIOS隐藏选项安全解锁终极指南

联想笔记本BIOS隐藏选项安全解锁终极指南 【免费下载链接】LEGION_Y7000Series_Insyde_Advanced_Settings_Tools 支持一键修改 Insyde BIOS 隐藏选项的小工具,例如关闭CFG LOCK、修改DVMT等等 项目地址: https://gitcode.com/gh_mirrors/le/LEGION_Y7000Series_In…

作者头像 李华
网站建设 2026/4/9 16:10:01

企业级GB28181视频监控平台构建指南:从技术架构到智能应用

企业级GB28181视频监控平台构建指南:从技术架构到智能应用 【免费下载链接】wvp-GB28181-pro 基于GB28181-2016、部标808、部标1078标准实现的开箱即用的网络视频平台。自带管理页面,支持NAT穿透,支持海康、大华、宇视等品牌的IPC、NVR接入。…

作者头像 李华