📘

Claude CodeでローカルLLMが使えるらしいので試してみた【Ollama連携】

に公開

Claude CodeでローカルLLMが使えるらしいので試してみた【Ollama連携】

目的

  • 普段:Claude Code を Subscription/ログインで クラウドClaude として利用
  • 必要な時だけ:Ollama の ローカルLLM に向けて Claude Code を動作
  • いつでも 簡単に元へ戻せる(環境変数を消すだけ)

⚠️ 試してみた結果
実際にローカルLLM(3Bモデル)で試したところ、会話やコード生成(テキスト出力)はできましたが、ファイル作成などの指示をしてもJSON形式の文字列が返ってくるだけで実行されませんでした。詳細は「7. 試してみた結果まとめ」を参照。

事実根拠


0. 前提

  • Windows 10/11
  • PowerShell が使えること
  • ローカルで動かすためのPCリソース(RAM/GPUなど)はモデルに依存

1. Ollama をインストール(Windows)

1-1. ダウンロード

  1. Ollama公式ダウンロードページへ
  2. 「Download for Windows」からインストーラーをダウンロードし実行

1-2. バージョン確認(重要)

PowerShell を開いて実行:

ollama --version

2. Claude Code をインストール(Windows)

Claude Code 公式:

2-A. WinGet(おすすめ)

winget install Anthropic.ClaudeCode

更新は:

winget upgrade Anthropic.ClaudeCode

2-B. PowerShell スクリプト(公式)

irm https://claude.ai/install.ps1 | iex

2-C. インストール確認

claude --version

3. ローカルで使うモデルを取得(Ollama)

Ollama公式の Claude Code 連携ページ:

3-1. おすすめモデル(qwen2.5-coder)

タグ サイズ 必要RAM おすすめ用途
qwen2.5-coder:0.5b 398MB ~2GB テスト用
qwen2.5-coder:1.5b 986MB ~4GB 低スペックPC・CPU向け
qwen2.5-coder:3b 1.9GB ~6GB CPU向けバランス型(推奨)
qwen2.5-coder:7b 4.7GB ~10GB GPU向け・デフォルト
qwen2.5-coder:14b 9.0GB ~16GB 高性能GPU向け
qwen2.5-coder:32b 20GB ~32GB 最高性能・要ハイスペック

3-2. モデルのダウンロード

CPU前提(GPU無し)の場合:

ollama pull qwen2.5-coder:3b

GPU搭載の場合:

ollama pull qwen2.5-coder:7b

3-3. ダウンロード時のエラー対処(IPv6問題)

以下のようなエラーが出る場合:

Error: pull model manifest: ... wsarecv: An existing connection was forcibly closed by the remote host.

原因:IPv6接続の不安定さ

解決方法:管理者権限のPowerShellで以下を実行してからリトライ

netsh interface ipv6 set prefixpolicy ::ffff:0:0/96 46 4

その後、再度ダウンロード:

ollama pull qwen2.5-coder:3b

3-4. 確認

ollama list

4. Ollama サーバ(localhost:11434)の確認

Ollamaはインストール後、通常は自動で常駐起動しています。以下のコマンドで動作確認できます:

ollama list

5. Claude Code を “ローカルOllama” に切り替える(PowerShell一時切替:推奨)

重要:この方法は そのPowerShellウィンドウだけ切り替わります。
ウィンドウを閉じるか環境変数を消せば すぐクラウドに戻せます

Ollama公式(Manual setup):

5-1. 環境変数をセット(このウィンドウだけ有効)

$env:ANTHROPIC_AUTH_TOKEN="ollama"
$env:ANTHROPIC_API_KEY=""
$env:ANTHROPIC_BASE_URL="http://localhost:11434"

補足:各環境変数の役割

環境変数 目的
ANTHROPIC_AUTH_TOKEN "ollama" Ollamaモードを有効化するトリガー
ANTHROPIC_API_KEY "" (空) 既存のクラウド用APIキーを無効化(干渉防止)
ANTHROPIC_BASE_URL http://localhost:11434 接続先をローカルOllamaに変更

※ ローカルOllamaはAPIキー認証が不要なため、ANTHROPIC_API_KEYは空で問題ありません。

5-2. Claude Code を起動(ローカルモデルを指定)

# CPU向け(3Bモデルの場合)
claude --model qwen2.5-coder:3b

# GPU向け(7Bモデルの場合)
claude --model qwen2.5-coder:7b

6. 普段のSubscription(クラウドClaude)に戻す方法

6-1. そのPowerShellで環境変数を削除

Remove-Item Env:ANTHROPIC_AUTH_TOKEN -ErrorAction SilentlyContinue
Remove-Item Env:ANTHROPIC_API_KEY    -ErrorAction SilentlyContinue
Remove-Item Env:ANTHROPIC_BASE_URL   -ErrorAction SilentlyContinue

その後、通常どおり起動:

claude

6-2. もっと簡単な方法

  • $env: はセッション限定なので、PowerShellを閉じて開き直すだけでもクラウド運用に戻ります。

7. 試してみた結果まとめ

7-1. 実際に試してみてできたこと・できなかったこと

今回 qwen2.5-coder:3b で試してみた結果です:

機能 クラウドClaude 今回の結果 (3Bモデル)
会話・質問応答 ✅ できた
コード生成(テキスト出力) ○ できた(品質は劣る)
ファイル読み書き ❌ できなかった
コマンド実行(Bash) ❌ できなかった
MCPツール使用 ❌ できなかった
エージェント機能全般 ❌ できなかった

7-2. 何が起きたか

ファイル作成を指示したところ、実際にファイルが作成されるのではなく、JSON形式の文字列がそのまま出力されるだけでした。

期待していた動作:
  「index.htmlを作成して」→ ファイルが作成される

実際に起きたこと:
  「index.htmlを作成して」→ JSONっぽいテキストが表示されるだけ → ファイルは作成されない

どうやらローカルLLMがClaude Codeのツール呼び出し形式を正しく扱えていないようです。

7-3. ローカルLLMで現実的にできそうなこと

今回の結果から、ローカルLLMは以下のような使い方が現実的だと感じました:

  • ✅ コードの説明を聞く
  • ✅ 簡単なコード生成(コピペで使用)
  • ✅ オフラインでの軽い相談
  • ✅ プライバシー重視の作業(コードを外部に送信したくない場合)

7-4. ファイル操作などが必要な場合

選択肢 説明
クラウドClaude(Subscription) 最も確実。すべての機能が動作
ollama-mcp-bridge ローカルLLM + MCPツール連携ができるらしい(未検証)
https://github.com/patruff/ollama-mcp-bridge
より大きなモデル 14B以上だと改善する可能性もあるかも?(未検証)

※ ollama-mcp-bridgeを使えばローカルファイル操作なども可能になるかもしれませんが、今回は試していません。


参考リンク

Accenture Japan (有志)

Discussion