掘金热榜前三全在聊 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 轮 | 800 | 200 | 理解任务 |
| 第 5 轮 | 3,500 | 300 | 上下文膨胀 |
| 第 10 轮 | 8,200 | 400 | ls + 分类决策 |
| 第 15 轮 | 14,000 | 500 | 移动文件确认 |
| 合计 | ~50,000 | ~5,000 | 一个任务就吃了 55k token |
如果你默认用的是 Claude 或 GPT-4o,55k token 大概是 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% |
| 平均每任务 token | 55,000 | 18,000 | -67% |
| 月预估费用 | ~$200 | ~$36 | -82% |
| 任务完成质量 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | 略降但够用 |
质量确实有一丢丢下降,因为简单任务换了便宜模型。但说实话日常使用几乎感知不到。
最后说两句
OpenClaw 是真的好用,我现在每天还在用它自动化各种重复任务。但 Agent 类工具的 token 消耗确实是个大坑,不优化的话月费能上几百刀。
三条核心建议:
- 模型路由:重活 Claude / GPT-4o,轻活 DeepSeek / mini 系列
- API 统一管理:多模型场景下用聚合平台省配置省心智
- 设上限:给每个任务设 token 预算,防止循环失控
OpenClaw + 合理的 API 配置,真的能变成一个很能打的生产力工具。关键是别让它无脑烧钱就行 😎
觉得有帮助的点个赞呗 👍 有问题评论区聊~