省下的就是净利润:手把手教你用模型路由砍掉 80% 的 OpenClaw 账单

上个月收到 Anthropic 账单的那一刻,我盯着屏幕上的数字愣了好几秒。

比我预期的整整高出三倍。手指悬在触控板上,我甚至怀疑是不是看错了小数点。我的 OpenClaw 助手明明只是帮我处理了一些日常琐事------回复几封邮件、整理笔记、偶尔写点代码片段......怎么就烧掉了这么多?

那天晚上我没睡好。躺在床上翻来覆去地想:问题出在哪?后来翻日志才发现端倪------默认配置下,所有请求都走最昂贵的 Claude Opus 4.6。心跳检查、简单查询、文件操作,一视同仁。更可怕的是子代理并行工作时,每个都在"烧钱"。

说实话,当时挺崩溃的。

后来我花了一个周末研究 OpenClaw 的模型路由功能,发现原来可以通过智能分层,让"便宜货"处理简单工作,只把真正需要深度思考的任务交给"expensive guys"。一个月后,账单降到了 $68。

理解 OpenClaw 的成本黑洞

为什么默认配置这么贵?

先来看一组触目惊心的数字:

模型 输入价格 ($/MTok) 输出价格 ($/MTok) 适用场景
Claude Opus 4.6 $5.00 $25.00 复杂推理、长文档分析
Claude Sonnet 4.5 $0.80 $4.00 一般任务、代码生成
Claude Haiku 3.5 $0.25 $1.25 简单查询、快速响应
Llama 3 (本地) $0 $0 心跳、文件操作、基础问答

MTok = Million Tokens,100 万 token

做个简单的算术题。假设每天发送 100 条消息,平均每条 500 tokens:

全用 Opus 的话,100 × 500 × 0.25/天,也就是 $7.5/月

听起来还行?

问题是------这算法太天真了。OpenClaw 的系统提示词就占 2k-4k tokens,加上工具调用、重试机制......实际消耗是裸计算的 3-5 倍。

隐藏的成本陷阱

陷阱 1:心跳请求(Heartbeat)

每 30 秒一次心跳检查,一天就是 2880 次。每次心跳即使没实质内容,也要带上完整的系统提示词。

这就是纯纯的"token 税"。

陷阱 2:子代理(Sub-agents)

并行任务时,每个子代理都用主模型。"查一下日历"这种简单操作也走 Opus,想想就肉疼。

陷阱 3:重试机制

网络波动时的自动重试,失败请求的 token 已经产生,但不会返回结果。钱花了,事没办成。

三层模型路由策略

核心理念:任务分层

不是每个请求都值得用最贵的模型。

我们要建立三层体系:

bash 复制代码
┌─────────────────────────────────────────────┐
│  Layer 1: 本地模型(Llama 3 / Qwen 等)      │
│  → 心跳、文件操作、简单问答、状态检查        │
│  → 成本:$0                                 │
├─────────────────────────────────────────────┤
│  Layer 2: 轻量云端(Claude Haiku / GPT-4o-mini)│
│  → 日常对话、邮件起草、简单代码              │
│  → 成本:$0.25/MTok                         │
├─────────────────────────────────────────────┤
│  Layer 3: 重型武器(Claude Opus / GPT-4o)   │
│  → 复杂架构设计、深度分析、创意写作          │
│  → 成本:$5/MTok(但用量极少)              │
└─────────────────────────────────────────────┘

说白了,就是让合适的人干合适的活。

配置实战:OpenClaw + Ollama 本地模型

Step 1: 安装并启动 Ollama

bash 复制代码
# macOS/Linux
curl -fsSL https://ollama.com/install.sh | sh

# Windows 下载安装包后
ollama serve

# 拉取适合的模型
ollama pull llama3.2:latest      # 轻量级,适合简单任务
ollama pull qwen2.5:14b          # 更强一些,支持工具调用

Step 2: 配置 OpenClaw 使用本地模型

编辑 ~/.openclaw/openclaw.json

json 复制代码
{
  "models": {
    "defaults": {
      "model": "ollama/qwen2.5:14b",
      "fallbacks": [
        "anthropic/claude-sonnet-4-5",
        "anthropic/claude-opus-4-6"
      ]
    },
    "providers": {
      "ollama": {
        "type": "openai-compatible",
        "baseUrl": "http://127.0.0.1:11434/v1",
        "apiKey": "ollama"
      }
    }
  }
}

几个关键点:

  • baseUrl: Ollama 默认运行在 11434 端口
  • context window: OpenClaw 需要至少 64k 上下文,选模型时注意
  • tool calling: 不是所有本地模型都支持,推荐 qwen2.5 或 mistral-nemo

高级路由:基于任务类型的智能分配

使用 OpenRouter Auto Model

json 复制代码
{
  "models": {
    "defaults": {
      "model": "openrouter/openrouter/auto",
      "fallbacks": [
        "anthropic/claude-sonnet-4-5"
      ]
    }
  }
}

OpenRouter 的 Auto 模式会自动根据 prompt 复杂度选择最便宜的合适模型。省事。

自定义路由规则(iblai-openclaw-router)

对于更精细的控制,可以用开源的 iblai-openclaw-router:

json 复制代码
{
  "routing": {
    "enabled": true,
    "tiers": {
      "free": {
        "models": ["ollama/llama3.2"],
        "keywords": ["heartbeat", "status", "ping", "check"]
      },
      "cheap": {
        "models": ["anthropic/claude-haiku-3-5"],
        "maxCostPerRequest": 0.001
      },
      "standard": {
        "models": ["anthropic/claude-sonnet-4-5"]
      },
      "premium": {
        "models": ["anthropic/claude-opus-4-6"],
        "keywords": ["architect", "design", "analyze deeply", "complex"]
      }
    }
  }
}

真实案例:一个月的成本对比

优化前的账单构成

某开发者的典型月度使用(来自社区真实数据):

用途 请求次数 估算 Token 模型 费用
日常对话 800 400k Opus 4.6 $10.00
代码辅助 200 600k Opus 4.6 $18.00
心跳检查 86,400 172M Opus 4.6 $860.00
文件操作 150 75k Opus 4.6 $1.88
子代理任务 300 450k Opus 4.6 $13.50
总计 $903.38

看到这个心跳检查的费用了吗?$860。这就是最大的罪魁祸首。

优化后的账单

实施三层路由后:

用途 请求次数 估算 Token 模型 费用
日常对话 800 400k Sonnet 4.5 $1.60
代码辅助 200 600k Opus 4.6 $18.00
心跳检查 86,400 172M Llama 3 (本地) $0
文件操作 150 75k Llama 3 (本地) $0
子代理任务 300 450k Sonnet 4.5 $1.80
总计 $21.40

<StatHighlight

stats={[

{ value: '97.6%', label: '节省比例' }

]}

/>

当然,这是个比较极端的例子------那位老哥的心跳占比实在太高了。实际节省通常在 70-80%,取决于具体使用场景。

不同场景的预期节省

使用场景 原月均费用 优化后 节省比例
轻度用户(<100 消息/天) $50-80 $15-25 70%
中度用户(100-500 消息/天) $200-400 $50-100 75%
重度用户(>500 消息/天 + 子代理) $500-1000 $100-250 80%

避坑指南:常见问题与解决方案

本地模型不响应或报错

症状:

javascript 复制代码
Error: Connection refused
或者模型返回空内容

排查步骤:

    1. 确认 Ollama 正在运行:ollama list
    1. 检查端口是否正确:curl http://127.0.0.1:11434/api/tags
    1. 确认模型已下载:ollama pull qwen2.5:14b
    1. 增加上下文窗口:某些模型默认 4k,OpenClaw 需要 64k+

推荐的高性价比组合:

bash 复制代码
ollama pull qwen2.5:14b-instruct    # 支持工具调用,中文友好
ollama pull mistral-nemo:latest     # 性能均衡
ollama pull glm-4.7-flash           # 轻量级,速度快

工具调用失败

原因:不是所有本地模型都支持 function calling。

解决:

  • • 使用明确标注支持 tool use 的模型(如 qwen2.5、mistral-nemo)
  • • 在配置中关闭特定模型的工具调用:
json 复制代码
{
  "models": {
    "ollama/llama3.2": {
      "supportsTools": false
    }
  }
}

Fallback 链配置错误

常见错误:

json 复制代码
// 错误:Anthropic 被限流时,Sonnet 和 Opus 可能同时不可用
"fallbacks": [
  "anthropic/claude-sonnet-4-5",
  "anthropic/claude-opus-4-6"
]

// 正确:跨供应商 fallback
"fallbacks": [
  "anthropic/claude-sonnet-4-5",
  "openai/gpt-4o",
  "google/gemini-pro"
]

质量下降怎么办?

如果发现本地模型处理不了某些任务:

    1. 逐步升级:本地 → Haiku → Sonnet → Opus
    1. 关键词触发:在 prompt 中明确标注任务复杂度
    1. 人工复核:重要任务可以要求确认后再执行

总结与行动清单

说了这么多,核心就几点:

    1. 成本主要来自心跳和简单查询,不是你以为的"大任务"
    1. 本地模型完全可以胜任日常琐事,别浪费 Opus 的额度
    1. Fallback 链要跨供应商配置,避免单点故障
    1. 从小处开始:先让心跳走本地模型,就能看到明显节省

进阶探索

  • • 尝试 iblai-openclaw-router 实现智能任务分级
  • • 结合 Prompt Caching 进一步降低重复调用的成本
  • • 监控各模型的成功率和响应时间,持续优化配置

本文首发自个人博客

相关推荐
爱吃的小肥羊3 小时前
2026 Claude Design 完整指南:功能介绍+使用教程+Claude会员订阅方法
aigc·ai编程
带你去学习3 小时前
codex app每次打开重连5次Reconnecting问题解决
ai·ai编程
麦哲思科技任甲林3 小时前
大懒人AI结对工作模式——驾驭AI编程的进阶指南
人工智能·ai编程·结对编程·工作模式·ai赋能
HashTang4 小时前
我用 Cloudflare Workers + GitHub Actions 做了个 2.5 刀/月的 AI 日报,代码开源了
前端·ai编程·aiops
张涛酱1074564 小时前
Subagent Orchestration 深入解析:多Agent协作的层级架构
spring·设计模式·ai编程
码农BookSea5 小时前
Hermes 深度解析:自我进化的 AI 智能体新范式
后端·ai编程
量子位5 小时前
20亿美金苏度科技具身首秀即大招!0真机数据,zero-shot,跑出98%首次抓取成功率
llm·aigc
老马95275 小时前
opencode4-在已有项目中增加修改功能
java·后端·ai编程
量子位5 小时前
Mythos架构被22岁小伙“逆推”开源了!MoE和注意力借鉴DeepSeek
ai编程·deepseek