API請求書の不安を解消:モデルルーティングでOpenClawのコストを80%削減する方法
先月Anthropicから請求書を受け取った瞬間、私は画面上の数字を見つめたまま数秒間固まってしまいました。
予想していた額の実に3倍以上でした。トラックパッドの上に指を置いたまま、小数点の位置を見間違えたのではないかと疑ったほどです。私のOpenClawアシスタントは、数通のメールへの返信、メモの整理、たまに短いコードを書くといった日常の雑務をこなしてくれただけなのに……どうしてこんなに多額のコストがかかってしまったのでしょうか?
その日の夜はよく眠れませんでした。ベッドで寝返りを打ちながら、「一体どこに問題があったのだろう?」と考え続けました。後になってログを調べてみたところ、手がかりが見つかりました——デフォルトの設定では、すべてのリクエストが最も高価な Claude Opus 4.6 を経由していたのです。ハートビート(死活監視)チェック、簡単な検索、ファイル操作など、すべてが平等に扱われていました。さらに恐ろしいことに、サブエージェント(Sub-agents)が並行して働く際にも、それぞれが「お金を燃やして」いたのです。
正直なところ、あの時はかなりショックを受けました。
その後、ある週末を使ってOpenClawのモデルルーティング機能を研究した結果、スマートな階層化を行うことで、「安価な」モデルに簡単な作業を任せ、本当に深い思考が必要なタスクのみを「高価なヤツら」に振り分けることができると知りました。1ヶ月後、請求額は $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 | ハートビート、ファイル操作、基本的なQ&A |
MTok = Million Tokens、100万トークン
簡単な算数をしてみましょう。毎日100件のメッセージを送信し、1件あたりの平均が500トークンだと仮定します:
すべてをOpusで処理した場合、100 × 500 × $5 / 1,000,000 = $0.25/日、つまり $7.5/月 になります。
悪くないように聞こえますか?
問題は——この計算が甘すぎるということです。OpenClawのシステムプロンプトだけで2k〜4kトークンを占め、さらにツールの呼び出しやリトライ(再試行)のメカニズム等を加えると……実際の消費量は単純計算の3〜5倍になります。
隠されたコストの落とし穴
落とし穴 1:ハートビートリクエスト(Heartbeat)
30秒に1回のハートビートチェックは、1日で2880回になります。それぞれのハートビートに実質的な内容が含まれていなくても、毎回完全なシステムプロンプトが添付されます。
これは純粋な「トークン税」です。
落とし穴 2:サブエージェント(Sub-agents)
並行タスクを実行する際、各サブエージェントもメインモデルを使用します。「カレンダーをチェックする」といった簡単な操作にもOpusが使われると思うと、想像しただけで心が痛みます。
落とし穴 3:リトライのメカニズム
ネットワークの変動などによる自動リトライ時、失敗したリクエストに対してもすでにトークンが発生していますが、結果は返ってきません。お金を払ったのに仕事が終わっていない状態です。
3層のモデルルーティング戦略
核となる理念:タスクの階層化
すべてのリクエストに最も高価なモデルを使う価値があるわけではありません。
私たちは3つの階層システムを構築する必要があります:
┌─────────────────────────────────────────────┐
│ Layer 1: ローカルモデル(Llama 3 / Qwen など) │
│ → ハートビート、ファイル操作、簡単なQ&A、状態確認 │
│ → コスト:$0 │
├─────────────────────────────────────────────┤
│ Layer 2: 軽量クラウド(Claude Haiku / GPT-4o-mini)│
│ → 日常会話、メールの草稿作成、簡単なコード │
│ → コスト:$0.25/MTok │
├─────────────────────────────────────────────┤
│ Layer 3: 重量級の武器(Claude Opus / GPT-4o) │
│ → 複雑なアーキテクチャ設計、深い分析、クリエイティブな執筆 │
│ → コスト:$5/MTok(ただし使用量は極めて少ない) │
└─────────────────────────────────────────────┘
率直に言えば、適切な人に適切な仕事をさせるようなものです。
実践設定:OpenClaw + Ollama ローカルモデル
Step 1: Ollama のインストールと起動
# 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 を編集します:
{
"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 の使用:
{
"models": {
"defaults": {
"model": "openrouter/openrouter/auto",
"fallbacks": [
"anthropic/claude-sonnet-4-5"
]
}
}
}
OpenRouterのAutoモードは、プロンプトの複雑さに応じて最も安価で適切なモデルを自動的に選択します。手間がかかりません。
カスタムルーティングルール(iblai-openclaw-router):
より詳細に制御したい場合は、オープンソースの iblai-openclaw-router を使用できます:
{
"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"]
}
}
}
}
実際のケース:1ヶ月のコスト比較
最適化前の請求書の内訳
ある開発者の典型的な月間使用状況(コミュニティの実際のデータに基づく):
| 用途 | リクエスト数 | 推定トークン | モデル | 費用 |
|---|---|---|---|---|
| 日常会話 | 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。これが最大の元凶です。
最適化後の請求書
3層のルーティングを実施した後:
| 用途 | リクエスト数 | 推定トークン | モデル | 費用 |
|---|---|---|---|---|
| 日常会話 | 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 |
もちろん、これはかなり極端な例です——この方のハートビートの割合が高すぎたのです。実際の節約効果は通常70〜80%程度で、具体的なユースケースによって異なります。
シナリオ別の想定節約額
| ユースケース | 元の月平均費用 | 最適化後 | 節約率 |
|---|---|---|---|
| ライトユーザー(<100 メッセージ/日) | $50-80 | $15-25 | 70% |
| ミドルユーザー(100-500 メッセージ/日) | $200-400 | $50-100 | 75% |
| ヘビーユーザー(>500 メッセージ/日 + サブエージェント) | $500-1000 | $100-250 | 80% |
回避ガイド:よくある問題と解決策
ローカルモデルが応答しない、またはエラーがでる
症状:
Error: Connection refused
またはモデルが空の内容を返す
トラブルシューティング手順:
- Ollamaが実行されているか確認する:
ollama list - ポートが正しいか確認する:
curl http://127.0.0.1:11434/api/tags - モデルがダウンロードされているか確認する:
ollama pull qwen2.5:14b - コンテキストウィンドウを増やす:一部のモデルはデフォルトで4kですが、OpenClawは64k以上を必要とします。
推奨されるコストパフォーマンスの高い組み合わせ:
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 など)を使用する
- 設定で特定のモデルのツール呼び出しを無効する:
{
"models": {
"ollama/llama3.2": {
"supportsTools": false
}
}
}
Fallback チェーンの設定ミス
よくあるエラー:
// エラー: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"
]
品質の低下をどうするか?
ローカルモデルが特定のタスクを処理できないと気づいた場合:
- 段階的なアップグレード:ローカル → Haiku → Sonnet → Opus
- キーワードトリガー:プロンプトでタスクの複雑さを明示する
- 人間による再確認:重要なタスクについては、実行前に確認を求めることができます
まとめとアクションリスト
長くなりましたが、核心は以下の数点です:
- コストの大部分はハートビートと簡単なクエリから来ています。あなたが思っているような「大きなタスク」ではありません。
- ローカルモデルは日常的な雑事を十分に処理できます。Opusの枠を無駄にしないでください。
- Fallbackチェーンはプロバイダーをまたいで設定し、単一障害点を回避してください。
- 小さなことから始める:ハートビートをローカルモデルに切り替えるだけでも、明らかな節約効果が見られます。
今週できる3つのこと
- Ollamaをインストールし、軽量モデル(llama3.2 または qwen2.5:7b)をプルする
-
~/.openclaw/openclaw.jsonを変更し、デフォルトモデルをローカルに向ける - 1週間の請求額の推移を観察し、ルーティング戦略を微調整する
さらに進んだ探索
- iblai-openclaw-router を試して、インテリジェントなタスクの階層化を実現する
- Prompt Caching と組み合わせて、重複した呼び出しのコストをさらに削減する
- 各モデルの成功率と応答時間を監視し、設定を継続的に最適化する
あなたはOpenClawの請求額を最適化したことがありますか?どのような戦略を使いましたか?皆様の経験をコメント欄で共有していただくか、設定に関する質問をお寄せください。できる限りお答えします。
FAQ
OpenClawのモデルルーティング設定は、応答の品質に影響を与えますか?
ローカルモデルにはどのようなハードウェア構成が必要ですか?
Fallbackチェーンの順序にはどのような点に注意すべきですか?
最適化後、通常どのくらいのコストを節約できますか?
4 min read · 公開日: 2026年2月26日 · 更新日: 2026年3月3日
関連記事
プログラマー向けAIツール実践:OpenClaw + Claude Codeによる24時間自動バグ修正
プログラマー向けAIツール実践:OpenClaw + Claude Codeによる24時間自動バグ修正
第二の脳を構築する:OpenClawとObsidian/Notionのディープ・メモリー同期実践
第二の脳を構築する:OpenClawとObsidian/Notionのディープ・メモリー同期実践
警告!ClawHubスキルライブラリで800以上の悪意あるプラグインを発見。あなたのAPI Keyは本当に安全ですか?

コメント
GitHubアカウントでログインしてコメントできます