Claude Codeとローカルモデルの連携
2026年のローカルモデルは十分な性能を持っています。Claude Codeが日常的に処理するコード補完、リファクタリング、デバッグ、コードベースの説明などのタスクでは、適切に選択された量子化ローカルモデルが、トークンあたりのコストゼロ、レート制限なしで、実際のユースケースの大部分をカバーします。
はじめに
エージェント型コーディングセッションは高コストです。1回のClaude Codeセッション(ファイル読み取り、コード作成、テスト実行、反復処理)は、通常のチャット会話よりも10〜50倍多くのトークンを消費します。規模が大きくなると、コストは急速に蓄積されます。さらに、長時間のワークフローを中断する可能性のあるレート制限や、価格変更、ポリシー厳格化、ダウンタイムのリスクがあるサードパーティAPIへの依存を考慮すると、ローカル推論のメリットは明白です。
2026年のローカルモデルは十分な性能を持っています。Claude Codeが日常的に処理するコード補完、リファクタリング、デバッグ、コードベースの説明といったタスクでは、適切に選択された量子化ローカルモデルが、トークンあたりのコストゼロ、レート制限なしで、実際のユースケースの大部分をカバーします。本記事では、3つの推論バックエンド(Ollama、LM Studio、llama.cpp)と、それぞれをClaude Codeに接続するための環境変数と設定ファイル、実行する価値のあるモデルの厳選リスト、そして実際に遭遇する問題のトラブルシューティング方法を紹介します。
Claude Codeがローカルモデルに接続する仕組み
その仕組みは、ほとんどのガイドが考えるよりもシンプルです。Claude CodeはAnthropic Messages API形式でリクエストを送信します。デフォルトではこれらのリクエストはAnthropicのサーバーに送信されますが、ANTHROPIC_BASE_URLを設定することで、同じ形式を話す任意のサーバー(現在はOllama、LM Studio、llama.cppがネイティブサポート)にリダイレクトできます。
公式のClaude Code環境変数ドキュメントによると、このセットアップに関連する変数は次のとおりです:
- ANTHROPIC_BASE_URL:すべてのAPI呼び出しをAnthropicのサーバーから任意のURLにリダイレクトします。
- ANTHROPIC_API_KEY:リクエストヘッダーで送信されるAPIキー。ローカルサーバーは通常認証を無視するため、"local"や"ollama"などのプレースホルダ文字列を設定します。
- ANTHROPIC_AUTH_TOKEN:代替の認証ヘッダー。一部のローカルサーバーはAPIキーの代わりにこれをチェックします。同じプレースホルダを設定します。
- ANTHROPIC_DEFAULT_SONNET_MODEL、ANTHROPIC_DEFAULT_HAIKU_MODEL、ANTHROPIC_DEFAULT_OPUS_MODEL:Claude Codeはタスクに応じて異なるモデル階層を内部的に要求します。これらの3つの変数は、各階層をローカルモデルの名前にマッピングします。これらがないと、Claude Codeはローカルサーバーに対してclaude-sonnet-4-20250514のようなリクエストを送信し、ローカルにそのモデルが存在しないため拒否されます。
2026年1月、OllamaはAnthropic Messages APIのネイティブサポートを追加しました。これが、このワークフローを翻訳プロキシなしで実用的にした技術的変更です。LM Studioはバージョン0.4.1でネイティブの/v1/messagesエンドポイントを追加しました。llama.cppは以前から直接Anthropic APIをサポートしていました。現在、3つすべてがClaude Codeのネイティブプロトコルを話します。
バックエンド1:Ollama
Ollamaは正しい出発点です。モデル管理の複雑さ(重みのダウンロード、量子化、GPU/CPU割り当て、サービング)をシンプルなCLIで処理します。1つのコマンドでインストール、1つのコマンドでモデルをプル、いくつかの環境変数で設定。インストール後はバックグラウンドサービスとして実行されるため、手動でサーバーを起動する必要はありません。
前提条件
- macOS、Linux、またはWindows(WindowsではWSL2推奨)
- 実用には少なくとも16 GB RAM(推奨32 GB)
- GPU推論には8+ GB VRAM、または十分なRAMでのCPUのみ
- Anthropic Messages APIサポートにはOllama v0.14.0以降が必要
Ollamaのインストール
# macOSとLinux -- ワンコマンドインストール
curl -fsSL https://ollama.com/install.sh | sh
# バージョン確認 -- Claude Code互換性のために0.14.0+必須
ollama version
# 期待される出力:ollama version is 0.14.x or higher
# Windows:https://ollama.com からインストーラをダウンロードインストール後、Ollamaはポート11434でバックグラウンドサービスとして自動的に起動します。実行中か確認:
curl http://localhost:11434
# 期待される応答:Ollama is runningコーディングモデルのプル
# GLM-4.7-Flash -- 推奨される開始点、強力なツール呼び出し、128Kコンテキスト、8 GB VRAMに適合、Apache 2.0ライセンス
ollama pull glm-4.7-flash:latest
# Qwen3-Coder -- 強力なコード生成と指示追従、フルモデルには20+ GB VRAMが必要
ollama pull qwen3-coder
# Devstral-Small -- エージェント型コーディングワークフロー専用、コミュニティテスト済み、24B、16+ GB VRAM必要
ollama pull devstral-small-2:24b
# モデルがダウンロードされたか確認
ollama listClaude CodeをOllamaで使用する設定
オプション1:シェルエクスポート(現在のターミナルセッションのみ)
# Claude CodeをローカルのOllamaサーバーにリダイレクト
export ANTHROPIC_BASE_URL="http://localhost:11434"
export ANTHROPIC_API_KEY="ollama"
export ANTHROPIC_AUTH_TOKEN="ollama"
export ANTHROPIC_DEFAULT_SONNET_MODEL="glm-4.7-flash:latest"
export ANTHROPIC_DEFAULT_HAIKU_MODEL="glm-4.7-flash:latest"
export ANTHROPIC_DEFAULT_OPUS_MODEL="glm-4.7-flash:latest"
# Claude Codeを起動
claudeオプション2:~/.claude/settings.json(永続的、全セッションに適用)
~/.claude/settings.jsonを作成または編集:
{
"env": {
"ANTHROPIC_BASE_URL": "http://localhost:11434",
"ANTHROPIC_API_KEY": "ollama",
"ANTHROPIC_AUTH_TOKEN": "ollama",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "glm-4.7-flash:latest",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "glm-4.7-flash:latest",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "glm-4.7-flash:latest"
}
}オプション3:プロジェクトディレクトリに.envファイル(プロジェクトごとのオーバーライド)
# プロジェクトルートの.env
ANTHROPIC_BASE_URL=http://localhost:11434
ANTHROPIC_API_KEY=ollama
ANTHROPIC_AUTH_TOKEN=ollama
ANTHROPIC_DEFAULT_SONNET_MODEL=qwen3-coder
ANTHROPIC_DEFAULT_HAIKU_MODEL=qwen3-coder
ANTHROPIC_DEFAULT_OPUS_MODEL=qwen3-coder接続の確認
claude
# Claude Code内で:> What model are you running?
# ローカルモデルが応答し、Anthropic API呼び出しがないことを確認
# 詳細ログで確認:
claude --verbose
# localhost:11434へのリクエスト行を探すゼロからの完全な動作シーケンス:
curl -fsSL https://ollama.com/install.sh | sh
ollama pull glm-4.7-flash:latest
export ANTHROPIC_BASE_URL="http://localhost:11434"
export ANTHROPIC_API_KEY="ollama"
export ANTHROPIC_AUTH_TOKEN="ollama"
export ANTHROPIC_DEFAULT_SONNET_MODEL="glm-4.7-flash:latest"
export ANTHROPIC_DEFAULT_HAIKU_MODEL="glm-4.7-flash:latest"
export ANTHROPIC_DEFAULT_OPUS_MODEL="glm-4.7-flash:latest"
claudeバックエンド2:LM Studio
LM Studioは、ターミナルではなくグラフィカルインターフェースでモデルを参照および管理したい場合に適しています。バージョン0.4.1以降、Claude Codeが期待するパスとまったく同じ、ネイティブのAnthropic互換/v1/messagesエンドポイントが含まれているため、翻訳レイヤーやプロキシは不要です。
前提条件
- macOS、Windows、またはLinux
- 推奨GPU:6+ GB VRAM(CPUのみでも可能だが低速)
- lmstudio.aiからダウンロード、またはヘッドレスサーバー用のCLIインストーラ
LM Studioのインストールと設定
# GUIのないサーバーまたはVM上でのCLIインストーラ
curl -fsSL https://releases.lmstudio.ai/cli/install.sh | bash
# またはhttps://lmstudio.aiからデスクトップアプリをダウンロードGUI設定手順:
- LM Studioを開き、コーディングモデルを検索(例:「qwen coder」または「devstral」)。
- モデルをダウンロード。量子化は自動で処理されます。
- ローカルサーバータブ(左サイドバーのアイコン)に移動。
- コンテキストサイズを設定。少なくとも25,000トークンから開始し、結果に応じて増やすことを推奨。
- 「サーバーを開始」をクリック。
- ポート(デフォルト1234)をメモし、モデル名を正確にコピー。
Claude Codeの設定
export ANTHROPIC_BASE_URL="http://localhost:1234"
export ANTHROPIC_API_KEY="lm-studio"
export ANTHROPIC_AUTH_TOKEN="lm-studio"
export ANTHROPIC_DEFAULT_SONNET_MODEL="qwen2.5-coder-32b-instruct"
export ANTHROPIC_DEFAULT_HAIKU_MODEL="qwen2.5-coder-32b-instruct"
export ANTHROPIC_DEFAULT_OPUS_MODEL="qwen2.5-coder-32b-instruct"または~/.claude/settings.jsonで永続化:
{
"env": {
"ANTHROPIC_BASE_URL": "http://localhost:1234",
"ANTHROPIC_API_KEY": "lm-studio",
"ANTHROPIC_AUTH_TOKEN": "lm-studio",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "qwen2.5-coder-32b-instruct",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "qwen2.5-coder-32b-instruct",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "qwen2.5-coder-32b-instruct"
}
}実行手順
- GUIからLM Studioサーバーを起動(ローカルサーバータブ > サーバーを開始)。
- 環境変数を設定。
- Claude Codeを起動。
バックエンド3:llama.cpp
llama.cppは、推論パラメータ(量子化タイプ、KVキャッシュ構成、バッチサイズ、スレッド数)を直接制御する必要がある場合、またはサーバー上で最低限のオーバーヘッドで実行したい場合に適しています。ネイティブのAnthropic Messages APIをサポートしているため、プロキシや翻訳レイヤーは不要です。
前提条件
- GGUF形式のモデルファイル(Hugging Faceからダウンロード、任意のモデルの「GGUF」バージョンを検索)
- GPU推論にはCUDA対応GPU、またはCPUのみ(低速)
- ソースビルド用のCMakeとC++コンパイラ(Linux/CUDAではソースビルド推奨)
llama.cppのインストール
# macOS -- Homebrewが最も簡単
brew install llama.cpp
# Linux with CUDA -- 最高のGPUパフォーマンスを得るためにソースからビルド
git clone https://github.com/ggml-org/llama.cpp
cd llama.cpp
cmake -B build -DGGML_CUDA=ON
cmake --build build --config Release
# バイナリは./build/bin/
# Linux CPU-onlyビルド
cmake -B build
cmake --build build --config Release
# Windows -- プリビルドバイナリ:
# https://github.com/ggml-org/llama.cpp/releases
# ハードウェアに合ったCUDAまたはCPUバリアントをダウンロードGGUFモデルのダウンロード
# Hugging Face CLIをインストール(まだの場合)
pip install huggingface-hub
# Q4_K_XL量子化のGLM-4.7-Flashをダウンロード(約4.5 GB)
huggingface-cli download THUDM/glm-4-9b-gguf glm-4-9b-Q4_K_XL.gguf --local-dir ./models(以降の設定手順は記事が途中で切れていますが、他のバックエンドと同様の考え方です。)
結論
Claude Codeとローカルモデルの連携により、コストを大幅に削減し、サードパーティAPIへの依存を排除できます。本記事で紹介した3つのバックエンドを使用することで、開発者は自分のハードウェアと好みに最適なソリューションを選択し、簡単な環境変数設定でシームレスに統合できます。
*(注:この記事はKDnuggetsの記事に基づいており、内容は一部省略・再構成されています。)*