OpenClaw 跑了一周,API 账单直接裂开,分享 3 个省 token 的骚操作

11 阅读1分钟

掘金热榜前三全在聊 OpenClaw,我上周手痒也跟风装了一个。

说实话,刚跑起来的时候是真的爽。让它帮我整理本地文件,自动归档,顺带把 Google Calendar 和 Notion 给串起来了。那一刻我觉得自己已经活在 2030 年了 🚀

然后……三天后我打开 API 账单。

$47。三天。

我的笑容逐渐消失 😐

OpenClaw 为什么这么烧 token?

如果你没了解过,简单说:OpenClaw 是最近 GitHub 上最火的开源项目(star 数直奔 15w),本质是一个本地运行的自主 AI Agent。它可以操作你的电脑、管理文件、连接各种工具,全程自然语言交互。

听起来很美好对吧?但有个核心问题——

每一步操作都要消耗 API token。

它不像 ChatGPT 那种「你问一句我答一句」的对话模式。OpenClaw 是自主决策循环

观察环境 → 思考计划 → 调用工具 → 检查结果 → 重新观察 → 继续思考...

一个简单的「帮我整理桌面文件」任务,背后可能跑了 20+ 轮 API 调用。每轮都带着完整的上下文,token 用量指数级增长。

我抓了一下日志,一个文件整理任务的实际消耗:

步骤输入 token输出 token说明
第 1 轮800200理解任务
第 5 轮3,500300上下文膨胀
第 10 轮8,200400ls + 分类决策
第 15 轮14,000500移动文件确认
合计~50,000~5,000一个任务就吃了 55k token

如果你默认用的是 Claude 或 GPT-4o,55k token 大概是 0.30.5。一天跑个十几次任务,一周下来就是我那0.3-0.5。一天跑个十几次任务,一周下来就是我那 47 的账单 💸

省 token 方案一:模型路由——重活用好模型,轻活用便宜的

这是最直接的思路。OpenClaw 默认所有任务都用同一个模型,但其实 80% 的操作根本不需要最强模型。

比如:

  • 列目录、读文件内容 → 这种工具调用,用 GPT-4o-mini 或 DeepSeek 就够
  • 复杂决策(要不要删这个文件?怎么重命名更合理?)→ 上 Claude 或 GPT-4o

OpenClaw 的 config 里可以配多个模型端点。我的配置长这样:

# ~/.openclaw/config.yaml
models:
  # 重活用好模型
  primary:
    model: claude-sonnet-4-20250514
    base_url: https://api.ofox.ai/v1
    api_key: ${OFOX_API_KEY}
  # 轻活用便宜模型
  secondary:
    model: deepseek-chat
    base_url: https://api.ofox.ai/v1
    api_key: ${OFOX_API_KEY}

routing:
  # 工具调用和简单任务 → 便宜模型
  tool_calls: secondary
  file_operations: secondary
  # 规划和决策 → 强模型
  planning: primary
  complex_reasoning: primary

光这一步,我的 token 费用就砍了 60% 左右。

省 token 方案二:用 API 聚合平台统一管理

这里有个实际问题:如果你同时用 Claude、GPT、DeepSeek,按传统方式你得注册 3 个平台、管理 3 套 API key。

更烦的是——每家的计费标准不一样,你想对比成本还得拿计算器换算 😤

我后来的做法是直接用 API 聚合平台。所有模型走同一个 endpoint,一个 key 搞定:

from openai import OpenAI

client = OpenAI(
    api_key="your-key",
    base_url="https://api.ofox.ai/v1"
)

# Claude — 处理复杂推理
resp = client.chat.completions.create(
    model="claude-sonnet-4-20250514",
    messages=[{"role": "user", "content": "分析这段代码的安全漏洞"}]
)

# DeepSeek — 快速轻量任务
resp = client.chat.completions.create(
    model="deepseek-chat",
    messages=[{"role": "user", "content": "把这个 JSON 转成 CSV 格式"}]
)

# GPT-4o — 多模态
resp = client.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": "描述这张截图的内容"}]
)

同一个 client 对象,切模型就改一个字符串参数。代码量少了不说,关键是账单在一个地方看,哪个模型花了多少钱一目了然。

对 OpenClaw 这种场景特别友好——因为它本来就需要频繁切换模型,统一 endpoint 省了大量配置工作。

省 token 方案三:限制上下文长度

这个是我踩了坑之后才想明白的。

OpenClaw 的 Agent 循环会不断积累上下文——每轮的工具调用结果都会 append 到消息列表里。跑到第 15 轮的时候,输入 token 已经膨胀到 1.4w 了。

但实际上,前几轮的工具输出(比如某个目录的 ls 结果)在后面已经没用了。

解决方案:在 OpenClaw 的 config 里限制上下文窗口:

agent:
  # 只保留最近 N 轮对话
  max_context_turns: 8
  # 工具输出超过 500 字就截断
  tool_output_max_chars: 500
  # 总 token 预算
  max_tokens_per_task: 30000

设了 max_tokens_per_task: 30000 之后,到 budget 就自动停,不会无限循环烧钱。

优化前 vs 优化后

指标优化前优化后降幅
日均 API 费用$6.7$1.2-82%
平均每任务 token55,00018,000-67%
月预估费用~$200~$36-82%
任务完成质量⭐⭐⭐⭐⭐⭐⭐⭐⭐略降但够用

质量确实有一丢丢下降,因为简单任务换了便宜模型。但说实话日常使用几乎感知不到。

最后说两句

OpenClaw 是真的好用,我现在每天还在用它自动化各种重复任务。但 Agent 类工具的 token 消耗确实是个大坑,不优化的话月费能上几百刀。

三条核心建议:

  1. 模型路由:重活 Claude / GPT-4o,轻活 DeepSeek / mini 系列
  2. API 统一管理:多模型场景下用聚合平台省配置省心智
  3. 设上限:给每个任务设 token 预算,防止循环失控

OpenClaw + 合理的 API 配置,真的能变成一个很能打的生产力工具。关键是别让它无脑烧钱就行 😎


觉得有帮助的点个赞呗 👍 有问题评论区聊~