乐于分享
好东西不私藏

OpenClaw Token 烧得比双十一还快? 7 招让你的钱包喘口气

OpenClaw Token 烧得比双十一还快? 7 招让你的钱包喘口气

说实话,我第一次看 OpenClaw 的 token 消耗账单时,差点想把电脑砸了。

一天正常对话没怎么聊,五十万 token 就这么没了。翻翻日志发现全是系统提示词在反复加载——工具列表、skill 描述、work space 文件、对话历史……每轮对话都在重复烧钱。

那时候我才意识到:OpenClaw 本身不收费,但它每次调用 LLM 的 token 都是真金白银。

后来我花了几天研究文档,调了几个参数,token 消耗直接降了 60%。而且模型响应更快了。

今天把这些方法整理出来,希望能救一个是一个。


先搞懂 Token 到底烧在哪

OpenClaw 每次跟模型对话,系统提示词里塞了大量的东西:

  • 工具定义列表 + 简短描述(每个可用工具的描述都要过一遍)
  • skill 列表,以及其他 skill metadata
  • workspace 文件:AGENTS.mdSOUL.mdUSER.mdTOOLS.mdMEMORY.md……
  • 对话历史(上下文越长越贵)
  • 之前所有工具调用的结果

这些不是每次都一模一样。有些内容稳定不变(took 定义、skill 元数据),有些每轮都变(时间戳、heartbeat 状态、对话内容)。

而你的模型得为所有内容反复付钱——除非你用缓存。


招数 1:开启 Prompt Caching——最立竿见影的一招

OpenClaw 支持 prompt caching。核心思路:把系统提示词里不变的部分变化的部分分开,这样模型可以复用之前缓存的稳定部分,不需要每次都重新处理。

配置很简单,在你的 openclaw.json 里加一行:

agents:defaults:params:cacheRetention:"long"

就这么一下,token 消耗可能直接减半。

cacheRetention 有三个级别:

级别
效果
适用场景
none
不缓存
消息通知类 bot,每次都是新对话
short
短缓存(5分钟)
一般对话,但切换频繁
long
长缓存(1小时)
深度会话、连续使用

如果你用的是 Claude(Anthropic 直连),long 模式下 cache read 的单价远低于 input token 单价。 这意味着同样的对话场景,用缓存可能便宜好几倍。

如果你用的是 OpenAI,缓存也是自动生效的,但 OpenAI 不暴露 cache wirte 费用,所以你的账单上看不到缓存省了多少,但响应速度会明显变快。


招数 2:配置 Heartbeat 防止缓存过期

开了缓存之后,你可能碰到一个更尴尬的情况:跟 AI 聊着聊着吃了个饭回来,缓存过期了(1小时 TTL),下一条消息又要重新构建缓存,cache write 的 token 开销比你想象的还大。

怎么解决?让 OpenClaw 自己定期”拍一拍”缓存,续命:

agents:defaults:heartbeat:every:"55m"params:cacheRetention:"long"

把心跳间隔设为 55 分钟,略小于缓存 TTL 的 60 分钟。缓存永远不会过期,你每一次对话都能命中 cache read。

对于多 agent 场景,还可以按 agent 单独设置:

agents:list:-id:"research"heartbeat:every:"55m"-id:"alerts"params:cacheRetention:"none"# 消息通知不需要缓存

别小看这个配置。 一个不设心跳的 long 缓存,只要中间有一小时空档,前一小时的 cache write 就白烧了。


招数 3:限制 workspace 文件注入大小

OpenClaw 默认会往系统提示词里注入你工作目录下的很多文件:AGENTS.mdSOUL.mdTOOLS.mdUSER.md……有些文件你写得特别详细,几千字就进去了。

这些内容每次对话都在系统提示词里,而且是不变的——按理说应该被缓存,但缓存也是有上限的。

你可以控制注入文件的大小限制:

agents:defaults:bootstrapMaxChars:8000# 单个文件最多注入 8000 字符bootstrapTotalMaxChars:30000# 所有文件合计最多 30000 字符

两个关键参数:

  • bootstrapMaxChars:单个文件的截断上限,默认 12000
  • bootstrapTotalMaxChars:所有文件的合计上限,默认 60000

如果你的 skill 特别多或者文件特别大,把这俩值调小,系统提示词就瘦一圈。

想知道当前系统提示词到底有多大?聊天里输入:

/context list

会显示每个注入部分的具体大小,一目了然。


招数 4:控制图片 token 消耗

这是容易忽略的大头。如果你经常给 AI 发截图分析或者让它看图,图片的 token 消耗可能比你想象的大很多。

OpenClaw 默认会把图片缩放到最大 1200px 再传给模型,但你可以进一步压缩:

agents:defaults:imageMaxDimensionPx:800# 默认 1200,改成 800

值越小,视觉 token 的消耗越少。如果主要是看 UI 截图、代码截屏之类的,800px 完全够用。如果是 OCR 或者细粒度分析,再酌情调大。

视觉分析的 token 消耗通常是文字的好几倍。一张中等尺寸的图片可以吃掉 1000+ token。一张大图 2000+ token 也很正常。


招数 5:善用缓存过期裁剪(cache-ttl pruning)

缓存不是万能的。当你长期跟 AI 对话积累了大量上下文后,哪怕开了缓存,新消息的 prompt 也越来越大。缓存过期后重新写入的成本更高。

OpenClaw 提供了一个自动裁剪的机制:缓存 TTL 到期后自动裁剪会话历史,只保留关键上下文。

agents:defaults:contextPruning:mode:"cache-ttl"ttl:"1h"

这个 TTL 跟缓存的过期时间对齐为 1 小时。缓存一过,自动裁剪,下次请求时构建更小的新缓存。

效果是:长时间会话不会无限膨胀。 历史对话中的非关键信息会被裁剪掉,只有最近的上下文保留。


招数 6:切换模型——便宜模型能干的活别用好模型

这是最直白的一招。不是所有对话都需要 Sonnet 或 GPT-4o。

如果你的场景主要是:

  • 定时任务批量生成内容(比如公众号文章自动化)
  • 简单的信息检索和摘要
  • 代码 review 初筛

可以考虑在这些场景用 DeepSeek 或 Gemini 等更便宜的模型。OpenClaw 的多 agent 配置可以做到不同 agent 用不同模型:

agents:defaults:model:primary:"deepseek/deepseek-chat"# 默认用 DeepSeeklist:-id:"analyst"model:primary:"anthropic/claude-sonnet-4-6"# 复杂分析用 Sonnet

不同场景用不同模型,该省省该花花。

说到省钱,除了模型选对,跑 OpenClaw 的服务器本身也是成本。你总不能用几万块钱的 GPU 云主机跑个笔记本级别的 AI 网关吧?

如果连服务器都还没搞定,或者觉得自建太折腾——腾讯云最近有 OpenClaw 专属活动优惠,算下来比自己买服务器搭省不少。你在这上面省下来的钱,拿去用更好的模型不香么?

👉 腾讯云 OpenClaw 专属优惠,看看有多划算[1]


招数 7:用好 /usage 定期监控

最后但同样重要:你得知道 token 到底花在哪了。

OpenClaw 内置了使用量查询命令:

  • /status:显示当前会话 token 用量 + 预计费用
  • /usage tokens:每次回复底部显示 input/output token 数
  • /usage full:显示完整 token 明细(包括缓存命中)
  • /usage cost:汇总当前会话的 token 费用

建议先把 /usage tokens 打开跑几天,观察哪些场景消耗最大,再针对性优化。

命令行里也能看:

openclaw status --usage

会显示每个 provider 的配额使用情况,一目了然。


把这些串起来:一套完整的省钱配置

直接抄作业:

agents:defaults:model:primary:"deepseek/deepseek-chat"params:cacheRetention:"long"heartbeat:every:"55m"contextPruning:mode:"cache-ttl"ttl:"1h"bootstrapMaxChars:8000bootstrapTotalMaxChars:30000imageMaxDimensionPx:800

这套配置我跑了两个星期,token 开销降了大约 60%,除了第一次对话需要构建缓存稍微慢了点,后面响应反而更快了。


写在最后

OpenClaw 是个好东西,但它的 token 消耗确实是个隐形成本。好在官方文档提供了完整的优化体系,从缓存到裁剪到差异化模型配置,每一步都有对应的参数。

最关键的其实是三件事:

1️⃣ 开缓存(cacheRetention: “long”)2️⃣ 用心跳续命(heartbeat every: “55m”)3️⃣ 定期监控(/usage 走起来)

做完这三步,你的 OpenClaw 体验不会有任何下降,但账单会好看很多。

哦对了,如果你已经跑了上面这套配置但 token 消耗依然很高——去看看你的 Conversation History 有多长了,可能只是忘了 /new 开新对话。

(别问我怎么知道的。)

引用链接

[1]腾讯云 OpenClaw 专属优惠,看看有多划算: https://curl.qcloud.com/xXYMmcXE