🎯 はじめに
Claude Code は本来 Anthropic のクラウドモデルを使うが、
Ollama を使えばローカル LLM を Claude Code の UI から扱える。
この記事では、
RTX 5060 Ti 16GB を搭載したローカル GPU マシンを "Claude Code サーバー" にする方法
をまとめる。
LAN 内の別 PC(WSL)から VS Code の Claude Code 拡張を使い、
推奨モデル(Qwen3‑Coder / GLM‑4.7 / GPT‑OSS)でコード生成を比較する。
https://docs.ollama.com/integrations/claude-code
ollamaがうごくGPUマシンはwindows11、メインメモリDDR4 32G でややcorei5 9500とやや古いPCにRTX5060ti16Gを載せています。そのためCPUオフロードが発生すると途端に速度が落ちる環境です。
1. Ollama(GPU マシン側)の準備
Ollama v0.15以降がインストール済みである前提。
■ 推奨モデルをまとめて取得
Claude Code が推奨するモデルをすべて pull する:
ollama pull qwen3-coder
ollama pull glm-4.7-flash
ollama pull gpt-oss
これでローカルで使えるモデルが揃う。
2. Ollama を LAN 公開する設定
デフォルトでは localhost バインドなので、
LAN 内の別 PC からアクセスできるようにする。
PowerShell(管理者)で:
setx OLLAMA_HOST "0.0.0.0"
その後、Ollama サービスを再起動:
net stop ollama
net start ollama
■ 動作確認
別 PC(WSL)から:
curl http://<あなたのOllamaサーバーIP>:11434/api/tags
モデル一覧が返れば成功。
3. WSL(クライアント側)で Claude Code をローカル LLM に向ける
WSL のターミナルで環境変数を設定:
export ANTHROPIC_API_KEY="ollama"
export ANTHROPIC_BASE_URL="http://<あなたのOllamaサーバーIP>:11434"
※ API キーはダミーでよい
※ ターミナルを閉じると消えるので、必要なら .bashrc に追記
4. Claude Code を起動してローカルモデルを使う
WSL の任意のプロジェクトフォルダで:
claude --model qwen3-coder
他のモデルも同様:
claude --model glm-4.7-flash
claude --model gpt-oss
Claude Code の UI が立ち上がり、
ローカル LLM をクラウドモデルのように扱える。
5. 推奨モデルの動作比較(RTX 5060 Ti 16GB)
RTX 5060 Ti 16GB という"現実的な VRAM 容量"で
どこまで快適に動くかを検証した。
● Qwen3‑Coder(30B)
- 賢い
- しかし VRAM 16GB では Ollama 標準の量子化でも収まりきらず CPU オフロードが発生
- 推論速度が CPU に引きずられ極めて遅い
- タイムアウトも発生。この環境では実用不可
● GLM‑4.7‑flash(30B)
- こちらも 30B クラスで標準量子化では VRAM 16GB に収まらない
- タイムアウトも発生。この環境では実用不可
● gpt‑oss:20B(最も快適)
- VRAM 16GB で最もバランス良く動作
- CPU オフロードが少なく軽快
- 実用ラインとして最適
- ollama標準の30B クラスより現実的な選択肢
6. 実験:HTML 単体で動くテトリスを各モデルに生成させて比較
比較用プロンプト例:
HTML + CSS + JavaScript の単一ファイルで動作するテトリスを実装してください。
外部ライブラリは使わず、1 ファイルで完結させてください。
このプロンプトで各モデルをテストした結果、
gpt‑oss:20B のみが実用的に完走し、
30B クラスのモデルは推論が間に合わずタイムアウトしました。
● さらなる検証:修正依頼への対応
生成されたテトリスに対して修正依頼を出したところ、
gpt‑oss:20B は修正をうまくこなせませんでした。
おそらく Claude Code の機能とモデルの動作のマッチングが合わず、
ループ状態に陥るという結果になりました。
新規コード作成はこなしてくれるが、修正作業は不具合が出る
というのが gpt‑oss:20B の限界です。
■ 比較ポイント
| モデル | サイズ | 生成速度 | 新規作成 | 修正作業 | 実用性 | コメント |
|---|---|---|---|---|---|---|
| Qwen3‑Coder | 30B | 極めて遅い | × | × | × | タイムアウト多発で実用不可 |
| GLM‑4.7‑flash | 30B | 極めて遅い | × | × | × | タイムアウト多発で実用不可 |
| gpt‑oss | 20B | 速い | ○ | × | △ | 新規作成のみ実用的 |
※ 30B モデルは CPU オフロードにより推論が間に合わず、Claude Code のタイムアウトに引っかかる
※ gpt‑oss:20B は新規コード生成はできるが、修正依頼でループ状態に陥る
7. 実測結果から見えた課題と今後の展望
今回のテストでは、Claude Code 推奨モデルのうち
gpt‑oss:20B だけが実用的に動作し、他のモデルはタイムアウトという結果になりました。
さらに検証を進めた結果、gpt‑oss:20B でも修正作業は不具合という限界が見えました。
● 16GB VRAM では 20B が実用上の限界
Qwen3‑Coder(30B)や GLM‑4.7(30B)は CPU オフロードが発生し、
推論が間に合わずタイムアウトしました。
VRAM 16GB に収まる Ollama 推奨モデルは gpt‑oss:20B のみですが、
これも新規コード生成は可能でも、修正依頼には対応できませんでした。
● Claude Code との相性問題
gpt‑oss:20B はテトリスの修正依頼をうまくこなせず、
おそらく Claude Code の機能とモデルの動作のマッチングが合わず、ループ状態に陥ります。
新規作成は問題なくても、反復的な修正作業が必要なタスクでは実用に耐えないという結果でした。
● ローカル LLM はプロンプト依存度が高い
クラウドモデルのように「雑に投げても何とかしてくれる」強さはなく、
出力量や構造を丁寧に制御する必要があります。
また、Claude Code のような高度な UI との統合では、
モデル側が UI の期待する動作パターンに最適化されている必要があります。
● クラウドとの使い分けが現実的
- 小規模な新規コード生成 → ローカル(20B)
- 修正作業や複雑な推論 → クラウド(Claude / GPT)
というハイブリッド運用が最も現実的です。
● 今後の展望:Claude Code 向け最適化モデルに期待
現状のローカルモデルは汎用的な用途を想定しており、
Claude Code のようなエージェント型 UI に特化した最適化がされていません。
今後、以下のようなモデルの出現に期待します:
- Claude Code の動作パターンに最適化されたモデル
- 修正作業やマルチターン対話に強いモデル
- 16GB VRAM で動作する 20B クラスの高性能モデル
IQ3_S 量子化などの技術進化により、
30B モデルが 16GB VRAM でも快適に動く可能性もあります。
ローカル LLM の選択肢は今後さらに広がっていくでしょう。
8. 結論
- RTX 5060 Ti 16GB では gpt‑oss:20B のみが実用ライン
- 30B クラスは Ollama 標準の量子化では CPU オフロードで実用不可
- VRAM 16GB に収まる Ollama 推奨モデルは gpt‑oss:20B のみ
- Qwen3‑Coder、GLM‑4.7 はタイムアウトが多発
- gpt‑oss:20B は新規コード生成はできるが、修正作業は不具合
- Claude Code の機能とモデルの動作がマッチせず、修正依頼でループ状態になる
- ローカル LLM はプロンプト設計が重要で、クラウドほどの柔軟性はない
- 新規作成はローカル、修正や複雑な作業はクラウドというハイブリッド運用が必須
- LAN 内 GPU サーバーとして運用すると非常に快適
ローカル LLM の進化は速く、
Claude Code のような UI と組み合わせると
クラウド級の開発体験が自宅で完結する時代になった。
ただし VRAM 容量とモデルサイズの兼ね合いは重要 で、
16GB 環境では 20B が現実的な上限という結果になりました。
また、Claude Code のようなエージェント型 UI との相性も重要で、
現状のローカルモデルは新規作成には使えても、
反復的な修正作業には対応できないという限界があります。
今後、Claude Code 向けに最適化されたモデルの出現や、
量子化技術の進化により、さらに実用的な環境が整うことを期待しています。