言語を切り替える
テーマを切り替える

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ヶ月のコスト比較

最適化前の請求書の内訳

ある開発者の典型的な月間使用状況(コミュニティの実際のデータに基づく):

用途リクエスト数推定トークンモデル費用
日常会話800400kOpus 4.6$10.00
コード補助200600kOpus 4.6$18.00
ハートビート86,400172MOpus 4.6$860.00
ファイル操作15075kOpus 4.6$1.88
サブエージェント300450kOpus 4.6$13.50
合計$903.38

このハートビートチェックの費用が見えますか? $860。これが最大の元凶です。

最適化後の請求書

3層のルーティングを実施した後:

用途リクエスト数推定トークンモデル費用
日常会話800400kSonnet 4.5$1.60
コード補助200600kOpus 4.6$18.00
ハートビート86,400172MLlama 3 (ローカル)$0
ファイル操作15075kLlama 3 (ローカル)$0
サブエージェント300450kSonnet 4.5$1.80
合計$21.40

もちろん、これはかなり極端な例です——この方のハートビートの割合が高すぎたのです。実際の節約効果は通常70〜80%程度で、具体的なユースケースによって異なります。

シナリオ別の想定節約額

ユースケース元の月平均費用最適化後節約率
ライトユーザー(<100 メッセージ/日)$50-80$15-2570%
ミドルユーザー(100-500 メッセージ/日)$200-400$50-10075%
ヘビーユーザー(>500 メッセージ/日 + サブエージェント)$500-1000$100-25080%

回避ガイド:よくある問題と解決策

ローカルモデルが応答しない、またはエラーがでる

症状:

Error: Connection refused
またはモデルが空の内容を返す

トラブルシューティング手順:

  1. Ollamaが実行されているか確認する:ollama list
  2. ポートが正しいか確認する:curl http://127.0.0.1:11434/api/tags
  3. モデルがダウンロードされているか確認する:ollama pull qwen2.5:14b
  4. コンテキストウィンドウを増やす:一部のモデルはデフォルトで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"
]

品質の低下をどうするか?

ローカルモデルが特定のタスクを処理できないと気づいた場合:

  1. 段階的なアップグレード:ローカル → Haiku → Sonnet → Opus
  2. キーワードトリガー:プロンプトでタスクの複雑さを明示する
  3. 人間による再確認:重要なタスクについては、実行前に確認を求めることができます

まとめとアクションリスト

長くなりましたが、核心は以下の数点です:

  1. コストの大部分はハートビートと簡単なクエリから来ています。あなたが思っているような「大きなタスク」ではありません。
  2. ローカルモデルは日常的な雑事を十分に処理できます。Opusの枠を無駄にしないでください。
  3. Fallbackチェーンはプロバイダーをまたいで設定し、単一障害点を回避してください。
  4. 小さなことから始める:ハートビートをローカルモデルに切り替えるだけでも、明らかな節約効果が見られます。

今週できる3つのこと

  • Ollamaをインストールし、軽量モデル(llama3.2 または qwen2.5:7b)をプルする
  • ~/.openclaw/openclaw.json を変更し、デフォルトモデルをローカルに向ける
  • 1週間の請求額の推移を観察し、ルーティング戦略を微調整する

さらに進んだ探索

  • iblai-openclaw-router を試して、インテリジェントなタスクの階層化を実現する
  • Prompt Caching と組み合わせて、重複した呼び出しのコストをさらに削減する
  • 各モデルの成功率と応答時間を監視し、設定を継続的に最適化する

あなたはOpenClawの請求額を最適化したことがありますか?どのような戦略を使いましたか?皆様の経験をコメント欄で共有していただくか、設定に関する質問をお寄せください。できる限りお答えします。

FAQ

OpenClawのモデルルーティング設定は、応答の品質に影響を与えますか?
適切に設定していれば品質に影響はありません。重要なのはタスクの複雑さに応じた階層化です。ハートビートやファイル操作のような簡単なタスクにはローカルモデルで十分すぎます。複雑な推論やクリエイティブな執筆にのみ Claude Opus が必要です。自信をつけるために、簡単なタスクから徐々に移行していくことをお勧めします。
ローカルモデルにはどのようなハードウェア構成が必要ですか?
軽量タスク(llama3.2、qwen2.5:7b)の場合、8GBのメモリでスムーズに動きます。14bパラメーターのモデルには16GBのメモリを、32b以上のモデルを実行する場合は専用のグラフィックカード(GPU)を搭載することを推奨します。純粋なハートビートチェックであれば、3bクラスの超軽量モデルでも対応可能です。
Fallbackチェーンの順序にはどのような点に注意すべきですか?
コストとパフォーマンスのバランスに基づいて並べることをお勧めします:ローカルモデル → 軽量クラウド(Haiku)→ 標準クラウド(Sonnet/GPT-4o)→ 重量級モデル(Opus)。同時に、Anthropicでレート制限(帯域制限)がかかった時にチェーン全体が機能しなくなるのを避けるため、プロバイダーをまたいだ設定に注意してください。
最適化後、通常どのくらいのコストを節約できますか?
ユースケースによって異なりますが、節約率は70〜80%の間です。ライトユーザー(100メッセージ/日未満)の場合、月額費用は$50-80から$15-25に下がります。ヘビーユーザー(500メッセージ/日以上)の場合、$500-1000から$100-250に下がります。ハートビートの割合が高いほど、節約効果が明確になります。

4 min read · 公開日: 2026年2月26日 · 更新日: 2026年3月3日

コメント

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

関連記事