跑 OpenClaw 一周烧了 300 块,我是怎么砍到 180 的

给 OpenClaw 配了 4 个 agent,跑了一周后看账单,300 块没了。逐项扒拉才发现,默认配置有太多隐形浪费。

先说结论

改了 6 个配置项,token 消耗降了 40%。不用换模型,不用砍功能,纯粹是堵上默认配置的漏洞。

说实话之前我以为 OpenClaw 的默认配置已经够合理了。直到我用 /context detail 看了一眼单次请求的 token 构成:

erlang 复制代码
Bootstrap(系统提示):  35,000 tokens  28%
Context replay(历史回放): 65,000 tokens  52%
工具结果:              18,000 tokens  15%
模型输出:               6,000 tokens   5%

52% 花在历史消息回放上。意思是,每一轮对话,OpenClaw 都把之前说的所有话重新发给模型。对话越长,这个数字越恐怖。

第一刀:给上下文加个上限

默认没有 contextTokens 限制。我用的 DeepSeek 有 200K 上下文窗口,OpenClaw 就真的往 200K 塞。

加一行配置:

json 复制代码
"contextTokens": 100000

超过 100K 就自动压缩。其实 90% 的场景 100K 绰绰有余,之前那些超出的部分基本是无用的历史消息在占位。

省了多少:长对话场景下 input tokens 直接砍半。

第二刀:旧数据别赖着不走

contextPruning 默认保留 7 天的工具调用结果。一个 web_fetch 动辄 5000-10000 tokens,7 天下来......

json 复制代码
"contextPruning": {
  "mode": "cache-ttl",
  "ttl": "6h",
  "keepLastAssistants": 3
}

6 小时前的 web 抓取结果你还用得上吗?大概率不会。keepLastAssistants: 3 保留最近 3 轮完整回复就够了。

第三刀:心跳别用贵的模型

这个坑我踩了好久才发现。OpenClaw 每 4 小时发一次心跳------用的是你的主模型。

我的主模型是 DeepSeek-R1,每次心跳注入完整 bootstrap(37,500 tokens)。算下来一天 6 次心跳,纯粹为了告诉系统"我还活着",每月白花 20 块。

json 复制代码
"heartbeat": {
  "every": "4h",
  "model": "你最便宜的模型",
  "lightContext": true
}

lightContext: true 是关键------只注入 HEARTBEAT.md,跳过那些大文件。token 从 37,500 降到 3,000。

第四刀:压缩也不需要聪明脑子

上下文压缩(compaction)就是把长对话总结成摘要。默认用主模型做这事。但总结摘要真的不需要旗舰模型。

json 复制代码
"compaction": {
  "mode": "safeguard",
  "model": "你的便宜模型"
}

第五刀:系统提示瘦身

这是最容易被忽视的。Bootstrap 文件(CLAUDE.md + 所有 skills + memory)在每一次 API 调用中重新发送。

json 复制代码
"bootstrapMaxChars": 10000,
"bootstrapTotalMaxChars": 75000

默认是 20000/150000。我砍到一半,实际使用完全没感觉。

另外检查一下你有多少 skill 被加载了:

bash 复制代码
ls ~/.openclaw/skills/ | wc -l

我有 30+ 个 skill,其中一半几乎不用。每个 skill 至少占 24 tokens。禁掉不用的省一点是一点。

第六刀:图片分辨率调低

我的 agent 经常截图分析网页。默认 1200px,实际 800px 就够看了。

json 复制代码
"imageMaxDimensionPx": 800

Vision token 按像素面积算,800 vs 1200 省 55%。

隐藏大招:让 agent 学会"记笔记"

以上是减少浪费。还有一个思路是避免重复------让 agent 主动存记忆。

没有记忆的 agent 每次都从零开始:读文件、搜代码、抓网页,一通操作 20000 tokens。

有记忆的 agent 直接调出上次的结论,500 tokens 搞定。

OpenClaw 的记忆就是 workspace 下的 Markdown 文件,session 启动时自动加载。关键是配好 memoryFlush

json 复制代码
"compaction": {
  "memoryFlush": {
    "enabled": true,
    "softThresholdTokens": 4000
  }
}

这会在 session 接近压缩时提醒 agent 把重要信息写到文件里。下次新 session 自动读取,不用重新探索。

ROI:500 tokens 存一条记忆 → 省掉 10 次 × 5000 tokens 的重复探索 = 100 倍回报。

最终效果

指标 优化前 优化后
单次请求平均 input ~124K ~72K
心跳成本/月 ¥20 ¥0.03
日均 token ~280 万 ~160 万
周费用 ¥300 ¥180

40% 的降幅,没砍任何功能。

还能再省吗?

能。最大的杠杆其实是模型选择------简单任务用便宜模型,复杂任务才上旗舰。但手动切模型太麻烦。

我现在的做法是用统一 API 网关,在一个入口里配好不同场景用不同模型。心跳用 Flash Lite,日常用 DeepSeek,复杂任务才调 Claude。网关自动路由,不用改代码。

我用的是 TheRouter,一个 key 调 30+ 模型,支持按需切换,国内直连也没问题。有类似需求的可以看看 therouter.ai


TheRouter (therouter.ai) --- 多模型统一 API 网关

相关推荐
汽车仪器仪表相关领域1 分钟前
Kvaser Memorator R SemiPro:双通道CAN总线记录仪,汽车与工业测试的高性价比之选
大数据·网络·人工智能·功能测试·汽车·安全性测试
天天爱吃肉82182 分钟前
空间智能上车:新能源OEM决胜「第三空间」的底层技术革命|研发工程师深度解析
大数据·人工智能·嵌入式硬件·汽车
初圣魔门首席弟子2 分钟前
深度学习 欠拟合、过拟合讲透
人工智能
开开心心就好3 分钟前
支持批量添加水印的实用工具推荐
人工智能·游戏·ci/cd·docker·音视频·语音识别·媒体
毕胜客源码3 分钟前
卷积神经网络的手势识别系统(有技术文档)深度学习 图像识别 卷积神经网络 Django python 人工智能
人工智能·python·深度学习·cnn·django
戏言zare5 分钟前
基于改进EfficientNet的植物性状预测系统设计
人工智能
Elastic 中国社区官方博客8 分钟前
通过受管控的控制平面加速商品陈列优化
大数据·数据库·人工智能·elasticsearch·搜索引擎·平面·ai
CoderJia程序员甲10 分钟前
GitHub 热榜项目 - 日榜(2026-04-28)
人工智能·ai·大模型·github·ai教程
我是大聪明.13 分钟前
大模型Tokenizer原理:BPE、WordPiece与子词编码的核心机制深度解析
人工智能·线性代数·算法·机器学习·矩阵
hhhhhh_we14 分钟前
再定义“皮肤人格”:从Baumann 16型分型到预颜美历的AI时序人格
前端·图像处理·人工智能·python·aigc