跑 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 网关

相关推荐
Shockang4 小时前
AI 编码智能体生产化工程
人工智能
jay神5 小时前
深度学习确定baseline之后怎么做改进?
人工智能·深度学习·yolo·计算机视觉·分类
acrel75 小时前
安科瑞Acrel-1000变电站综合自动化系统在合肥某新材料公司35kV综合自动化项目中的应用分析
大数据·人工智能
UWA5 小时前
隐藏视频变“常驻刺客”,VideoPlayer与“N/A”纹理该怎么查
人工智能·性能优化·音视频·memory·cpu·游戏开发
V哥AI增长5 小时前
小红书笔记在生成式AI引擎中的可见性机制解析:从抓取原理到GEO工程化实践
大数据·人工智能·笔记
ajassi20006 小时前
AI语音智能体开发日记(十二)GX8006 固件定制指南——从双唤醒词到 UART 音频传输
人工智能·ai·ai编程
大模型momo6 小时前
告别单体 Agent:多智能体设计模式(Multi-Agent Patterns)深度实战手册
人工智能·agent·multi-agent·多agent
DisonTangor6 小时前
【SeeDream开源平替】MiniMax H3 重磅开源:全模态视频生成新标杆,2K 画质 + 原生立体声,15 秒大片一键生成!
人工智能·ai作画·开源·aigc·音视频
很楠爱上6 小时前
(附上相关学习资源)适合新手做的第一个agent项目*ovo*Dify Agent 全栈实战:从智能选车顾问到新能源汽车之家的端到端开发
人工智能·汽车·agent·项目·开发笔记
IT智慧客07316 小时前
2026年7月前端面试高频考点与趋势分析(面20个前端后的总结)
人工智能