CLAUDE LABEN
FORK — Claude Code 2.1.212で/forkの挙動が変わりました。会話を新しいバックグラウンドセッションへ複製し、作業を続けたまま並走できます。従来のセッション内サブエージェントは/subtaskに移りましたLIMITS — WebSearchの呼び出しがセッション単位で既定200回に制限されました。サブエージェントの起動も既定200回が上限で、暴走した検索・委譲のループを止められますMCPBG — 2分を超えるMCPツール呼び出しは自動的にバックグラウンドへ移り、セッションが固まらなくなりました。しきい値はCLAUDE_CODE_MCP_AUTO_BACKGROUND_MSで調整できますPLANFIX — プランモードがtouchやrmといったファイルを変更するBashコマンドを、許可プロンプトもcanUseToolコールバックも通さずに実行してしまう不具合が修正されましたSONNET5 — Claude Sonnet 5は導入価格として入力100万トークンあたり2ドル、出力10ドルで提供中です。8月31日を過ぎると3ドルと15ドルに戻りますIPO — Anthropicが早ければ10月の株式公開を視野に、引受銀行が投資家との面談を組み始めたと報じられていますFORK — Claude Code 2.1.212で/forkの挙動が変わりました。会話を新しいバックグラウンドセッションへ複製し、作業を続けたまま並走できます。従来のセッション内サブエージェントは/subtaskに移りましたLIMITS — WebSearchの呼び出しがセッション単位で既定200回に制限されました。サブエージェントの起動も既定200回が上限で、暴走した検索・委譲のループを止められますMCPBG — 2分を超えるMCPツール呼び出しは自動的にバックグラウンドへ移り、セッションが固まらなくなりました。しきい値はCLAUDE_CODE_MCP_AUTO_BACKGROUND_MSで調整できますPLANFIX — プランモードがtouchやrmといったファイルを変更するBashコマンドを、許可プロンプトもcanUseToolコールバックも通さずに実行してしまう不具合が修正されましたSONNET5 — Claude Sonnet 5は導入価格として入力100万トークンあたり2ドル、出力10ドルで提供中です。8月31日を過ぎると3ドルと15ドルに戻りますIPO — Anthropicが早ければ10月の株式公開を視野に、引受銀行が投資家との面談を組み始めたと報じられています
記事一覧/Claude Code
Claude Code/2026-05-05中級

Claude Code × Ollama でコストを抑える — ローカルLLM 使い分け

Claude Code のAPI コストが気になる方へ。Ollama(ローカルLLM)と litellm プロキシを組み合わせてコストを抑える設定手順と、どのタスクをどちらに振るかの判断軸を実践的に解説します。

claude-code129ollamalocal-llmcost-optimization25litellmworkflow24

Claude Code を本格的に使い始めると、月末の請求額に一度は驚くのではないでしょうか。私自身、複数サイトの自動化ワークフローで Claude Code を酷使していたとき、思ったより早くコストが膨らんでいくのを感じました。

そこで試してみたのが「ローカル LLM との使い分け」です。すべてのタスクを Claude に任せるのではなく、定型的・繰り返し系のタスクは手元の GPU で動く Ollama に振ります。複雑な設計や判断が必要なタスクだけ Claude Sonnet/Opus にお願いします。この棲み分けで、私の環境では API コストを体感で 50〜60% 程度削減できました。

なぜローカル LLM × Claude Code なのか

Claude Code は強力ですが、リクエスト単価が安くはありません。Sonnet で入力 $3/1M トークン、Opus で $15/1M トークン(2026年5月時点)。ちょっとしたファイル整形や定型コメント生成が積み重なると、じわじわコストがかさみます。

一方、Ollama はローカルマシンで LLM を動かすためのランタイムです。一度モデルをダウンロードしてしまえば、それ以降は完全無料。GPU がなくても CPU で動きますし、M シリーズ Mac なら Apple Silicon の恩恵で思ったより快適に使えます。

ポイントは「全部ローカルにしよう」ではなく「使い分け」です。Ollama で動く中規模モデル(Gemma 3 27B や Qwen 2.5 Coder など)は、Claude Sonnet と比べると複雑な推論や長いコンテキスト処理では見劣りします。ここを正直に理解したうえで、得意領域に集中させるのが肝です。

環境構築:Ollama + litellm プロキシ

Claude Code はリクエスト先として ANTHROPIC_BASE_URL 環境変数を参照します。ここを litellm プロキシに向けることで、Claude Code からのリクエストを Ollama に中継できます。

1. Ollama をインストール

# macOS(curl インストール)
curl -fsSL https://ollama.com/install.sh | sh
 
# Homebrew の場合
brew install ollama
 
# サービス起動
ollama serve &
 
# モデルをダウンロード(コーディング用途なら Qwen2.5-Coder または Gemma 3)
ollama pull qwen2.5-coder:32b
# GPU メモリが少ない場合は 14B か 7B に
# ollama pull qwen2.5-coder:14b

ollama run qwen2.5-coder:32b で動作確認しておきましょう。「Hello, how are you?」など簡単な質問を投げて返答が返れば OK です。

2. litellm をインストール

litellm は、Anthropic・OpenAI・Ollama などの異なる API フォーマットを統一的に扱えるプロキシです。Claude Code は Anthropic Messages API フォーマットでリクエストを投げますが、litellm がそれを Ollama 用のフォーマットに変換してくれます。

pip install 'litellm[proxy]'

3. litellm の設定ファイルを作成

~/.claude-local/litellm_config.yaml を作成します:

# Claude Code → litellm → Ollama のルーティング設定
model_list:
  # Claude Code が claude-sonnet-4-6 を要求したとき、Ollama の Qwen に振る
  - model_name: claude-sonnet-4-6
    litellm_params:
      model: ollama_chat/qwen2.5-coder:32b
      api_base: http://localhost:11434
 
  # より軽量な処理は小さいモデルに振る設定(オプション)
  - model_name: claude-haiku-4-5-20251001
    litellm_params:
      model: ollama_chat/qwen2.5-coder:14b
      api_base: http://localhost:11434
 
litellm_settings:
  port: 4000
  set_verbose: false

注意: Ollama は Anthropic Messages API に完全準拠しているわけではないため、ツール使用(tool_use)など高度な機能は litellm 側で互換処理が行われます。機能によっては動作しない場合もありますので、実際の利用前に確認しておくと安心です。

4. litellm プロキシを起動

litellm --config ~/.claude-local/litellm_config.yaml
 
# バックグラウンドで動かしたい場合
nohup litellm --config ~/.claude-local/litellm_config.yaml > /tmp/litellm.log 2>&1 &

起動すると http://localhost:4000 でリクエストを待ち受けます。

Claude Code を litellm プロキシに向ける

環境変数を設定するだけです:

# .zshrc や .bashrc に追記(ローカル LLM モードを使いたいとき)
export ANTHROPIC_BASE_URL=http://localhost:4000
export ANTHROPIC_API_KEY=local-dev-key  # litellm はキーの値を検証しないがフィールドは必要
 
# claude コマンドで動作確認
claude "この関数の引数名をよりわかりやすい名前に変えてください"

切り替えをスムーズにするために、シェルエイリアスを用意しておくと便利です:

# .zshrc に追記
 
# Claude API(本番)モード
alias cc-cloud='unset ANTHROPIC_BASE_URL && export ANTHROPIC_API_KEY=your_real_api_key'
 
# ローカル LLM(節約)モード
alias cc-local='export ANTHROPIC_BASE_URL=http://localhost:4000 && export ANTHROPIC_API_KEY=local-dev-key'

cc-local と打つだけでローカルモードに切り替えられます。プロンプトに現在のモードを表示しておくのもおすすめです:

# .zshrc のプロンプト設定
# ANTHROPIC_BASE_URL が設定されている場合は黄色表示で知らせる
RPROMPT='%F{yellow}${ANTHROPIC_BASE_URL:+[LOCAL]}%f'

どのタスクをローカルに振るか — 判断軸

「何でもかんでもローカルに振ればいい」というわけではありません。私が実際に使って感じた境界線をご紹介します。

ローカル LLM が得意なタスク(コスト節約ゾーン):

  • ファイル名・変数名・関数名のリネーム
  • JSDoc やコメントの追加・修正
  • テンプレートコードの生成(単純な CRUD など)
  • ログ出力の追加
  • import 文の整理・並べ替え
  • 軽微なバグ修正(スタックトレースが明確なもの)
  • コードフォーマットの修正

Claude Sonnet/Opus が必要なタスク(クラウドに任せるゾーン):

  • アーキテクチャ設計の相談や提案
  • 複数ファイルにまたがる複雑なリファクタリング
  • セキュリティ要件を考慮した実装
  • 長いコンテキストを読んだ上でのデバッグ
  • 新機能の設計から実装まで
  • 自然言語の要件から仕様を起こす作業

判断に迷ったら「この作業、AI が間違えたとき自分ですぐ気づけるか?」を基準にしています。気づけるなら → ローカル、複雑すぎて間違えても気づきにくい → Claude Sonnet、という整理です。

よくある落とし穴と対策

落とし穴 1: Ollama サーバーが落ちていてエラーになる

Claude Code 起動前に Ollama が動いているか確認するのを忘れがちです。起動スクリプトを用意しておきましょう:

#!/bin/bash
# ~/bin/start-local-claude.sh
 
# Ollama が起動していなければ起動
if ! pgrep -x "ollama" > /dev/null; then
  echo "Ollama を起動します..."
  ollama serve &
  sleep 3
fi
 
# litellm が起動していなければ起動
if ! curl -s http://localhost:4000/health > /dev/null 2>&1; then
  echo "litellm プロキシを起動します..."
  nohup litellm --config ~/.claude-local/litellm_config.yaml > /tmp/litellm.log 2>&1 &
  sleep 2
fi
 
echo "✅ ローカル Claude Code モード準備完了"
cc-local

chmod +x ~/bin/start-local-claude.sh で実行権限を付けておきます。

落とし穴 2: tool_use が期待通りに動かない

Claude Code は内部的にファイル操作や検索を tool_use として実装しています。ローカル LLM がこの形式に対応していない場合、エラーや予期せぬ挙動が起きることがあります。特にファイル編集を伴う複雑な操作では、ローカルモードが途中で詰まることがあります。そういった場合は素直に cc-cloud でクラウドに切り替えるのが最善です。

落とし穴 3: ローカルモードのまま本番作業をしてしまう

プロンプトへのモード表示(前述の RPROMPT 設定)と、作業前の echo $ANTHROPIC_BASE_URL 確認を習慣にすることをおすすめします。

API コストの実際の変化

コスト削減の効果は使い方によって大きく変わります。私の場合、1日に Claude Code を 4〜6 時間使うセッションで、以前は月 $40〜60 かかっていたものが $20〜30 前後まで下がりました。特に、記事生成補助やコード整形などの反復作業をローカルに振ったのが効いています。

litellm を使ったより高度なマルチプロバイダー設定については、Claude API × litellm マルチプロバイダー AI ゲートウェイ完全ガイドで詳しく解説しています。

全体を振り返って — まず 1 つのタスクをローカルに振るところから

「Claude Code + ローカル LLM」の設定は、一度動かしてしまえば使い分けが自然と身につきます。最初の一歩として、Ollama に qwen2.5-coder:14b(軽めのモデル)をダウンロードして、コメント追加だけをローカルに振るところから始めてみてください。

重要なのは「完全移行」ではなく「使い分けの習慣」です。複雑な設計判断はやはり Claude の方が質が高い。ローカル LLM はその補佐として使う — この役割分担が、コストと品質を両立させる現実的な答えだと感じています。

実装現場でやってよかった3つの判断

シェア

お読みいただきありがとうございます

Claude Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

もしこの記事がお役に立ちましたら、チップ(¥150)で応援いただけると大変励みになります。広告なしでの運営を続けるため、皆さまのご支援が大きな力になっています。

関連記事

Claude Code2026-06-18
Claude Code に /cd が来た — キャッシュを温存したまま複数リポジトリを横断する運用設計
Claude Code に追加された /cd で作業ディレクトリを移すと、プロンプトキャッシュを作り直さずにセッションを別リポジトリへ運べます。複数リポジトリを順に処理する運用での設計判断と落とし穴をまとめました。
Claude Code2026-05-06
複数のリポジトリをClaude Codeで並行開発するコツ — 3プロジェクトを同時に動かして学んだこと
複数のリポジトリをClaude Codeで同時に進めると、コンテキストの混乱やコスト増加が起きやすい。CLAUDE.mdの設計、セッション管理、--add-dirの活用など、3プロジェクト並行で機能した設定と習慣をまとめました。
Claude Code2026-05-04
Claude Code のコンテキスト上限に実用的に対処する5つのアプローチ
長時間セッションや大規模コードベースでClaude Codeが「コンテキスト上限に近づいています」と警告を出し始めたときに取れる実践的な5つの対処法を解説します。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →