10 KiB
sidebar_position, title, description, hide_table_of_contents, displayed_sidebar
| sidebar_position | title | description | hide_table_of_contents | displayed_sidebar |
|---|---|---|---|---|
| 4 | DGX SparkでClaude Code + Qwen3-Coder-Nextをローカル実行する | Claude Codeを完全ローカル化!Qwen3-Coder-Next(80B MoE)で動かす方法を解説 | false | null |
DGX SparkでClaude Codeを完全ローカル化!Qwen3-Coder-Nextで動かしてみた
はじめに
Claude Code、使ってますか?
Anthropic公式のターミナルベースAIコーディングアシスタント。ファイルを読んで、コードを書いて、コマンドを実行して...まるで優秀なペアプログラマーがそばにいるような体験ができます。
ただ、1つ気になることが。
「自分のコード、全部クラウドに送ってるんだよな...」
企業の機密コードや、個人的なプロジェクトを扱うとき、ちょっと気になりませんか?
そこで今回は、Claude Codeを完全ローカルで動かす方法を紹介します。
Ollama Launchとの比較
Claude Codeをローカルで動かす方法は他にもあります。代表的なのがOllama Launch。
| 項目 | この記事の方法 | Ollama Launch |
|---|---|---|
| セットアップ | 複雑(vLLM + プロキシ) | 簡単 |
| 推論速度 | 速い(20-30 tok/s) | 遅め |
| 対応モデル | FP8量子化モデル | GGUF量子化モデル |
| コンテキスト長 | 200K対応 | モデル依存 |
| 必要スペック | 高(DGX Spark等) | 低〜中 |
:::tip どちらを選ぶ?
- 手軽に試したい → Ollama Launch
- 本格的に使いたい・速度重視 → この記事の方法 :::
この記事の方法はセットアップが複雑ですが、vLLMの最適化により推論速度が速く、200Kトークンの大規模コンテキストにも対応しています。
何ができるようになるの?
- ✅ プライバシー保護 - コードがクラウドに送られない
- ✅ API料金ゼロ - 月額課金から解放
- ✅ 200Kトークン対応 - 大規模なコードベースも一度に読める
- ✅ オフライン動作 - ネット環境がなくてもOK
必要なもの
今回使うのは NVIDIA DGX Spark。
:::note 同じ手順は他のNVIDIA GPU搭載マシンでも応用できます(VRAMは多めに必要)。 :::
DGX Sparkとは?
NVIDIAの「デスクトップAIワークステーション」です。
| スペック | 値 |
|---|---|
| GPU | NVIDIA GB10(Blackwell世代) |
| メモリ | 128GB統合メモリ |
| サイズ | Mac Studioくらい |
| 価格 | 約50万円〜 |
128GBの統合メモリがポイント。普通のGPUだとVRAM 24GBとかですが、DGX Sparkは128GB全部をモデルに使えます。
構成図
┌─────────────────────────────────────────────────────┐
│ あなたのPC / DGX Spark │
│ │
│ ┌─────────────┐ │
│ │ Claude Code │ ← いつものClaude Code │
│ │ (Terminal) │ │
│ └──────┬──────┘ │
│ │ Anthropic API形式 │
│ ▼ │
│ ┌──────────────────┐ │
│ │ claude-code-proxy│ ← API形式を変換 │
│ │ (port 8082) │ │
│ └────────┬─────────┘ │
│ │ OpenAI API形式 │
│ ▼ │
│ ┌──────────────────┐ │
│ │ vLLM │ ← 推論エンジン │
│ │ (port 8000) │ │
│ │ │ │
│ │ ┌──────────────┐ │ │
│ │ │Qwen3-Coder- │ │ ← 80Bパラメータの │
│ │ │ Next-FP8 │ │ コーディングモデル │
│ │ └──────────────┘ │ │
│ └──────────────────┘ │
└─────────────────────────────────────────────────────┘
なぜプロキシが必要?
Claude CodeはAnthropic独自のAPI形式を使います。一方、vLLMはOpenAI互換API。
この2つを繋ぐために claude-code-proxy を間に挟みます。
使用するモデル:Qwen3-Coder-Next
今回使うのは Qwen3-Coder-Next-FP8。
| 項目 | 値 |
|---|---|
| 開発 | Alibaba Cloud |
| パラメータ | 80B(総数)/ 3B(推論時アクティブ) |
| アーキテクチャ | MoE(Mixture of Experts) |
| 最大コンテキスト | 1Mトークン |
| 特徴 | コーディング特化 |
MoE(Mixture of Experts) がポイント。80Bパラメータでも、推論時は3Bしか使わないので高速です。
FP8量子化版を使うことで、メモリ使用量は約45GB。DGX Sparkの128GBなら余裕です。
ワンライナーで全自動セットアップ
curl -sL https://docs.techswan.online/scripts/dgx-spark-claude-code.sh | bash
これだけ!約10分待つと環境が整います。
以下は手動でやりたい人向けの解説です。
手動セットアップ
Step 1: vLLMでモデルを起動
docker run -d --name qwen3-coder-next-fp8 \
--gpus all \
-p 8000:8000 \
-v ~/.cache/huggingface:/root/.cache/huggingface \
--ipc=host \
nvcr.io/nvidia/vllm:25.11-py3 \
vllm serve Qwen/Qwen3-Coder-Next-FP8 \
--served-model-name qwen3-coder-next \
--max-model-len 200000 \
--max-num-seqs 8 \
--gpu-memory-utilization 0.85 \
--enable-auto-tool-choice \
--tool-call-parser qwen3_xml \
--trust-remote-code
重要なポイント
| オプション | 値 | 説明 |
|---|---|---|
--max-model-len |
200000 | 200Kトークンまで対応 |
--max-num-seqs |
8 | 同時リクエスト数(メモリ節約) |
--tool-call-parser |
qwen3_xml | ⚠️ これ超重要! |
:::danger tool-call-parserに注意
--tool-call-parser を間違えると、Claude Codeのファイル操作やコマンド実行が動きません。必ず qwen3_xml を指定してください。
:::
初回起動は約10分かかります(45GBのモデルをダウンロード&ロード)。
Step 2: claude-code-proxyを起動
# クローン
git clone https://github.com/fuergaosi233/claude-code-proxy.git
cd claude-code-proxy
# 依存関係インストール
pip install -r requirements.txt --user
.env ファイルを作成:
OPENAI_BASE_URL=http://localhost:8000/v1
OPENAI_API_KEY=dummy
BIG_MODEL=qwen3-coder-next
MIDDLE_MODEL=qwen3-coder-next
SMALL_MODEL=qwen3-coder-next
REQUEST_TIMEOUT=300
MAX_TOKENS_LIMIT=8192
プロキシを起動:
python start_proxy.py
Step 3: Claude Codeを起動
ANTHROPIC_BASE_URL=http://localhost:8082 \
ANTHROPIC_API_KEY=dummy \
claude
:::warning ANTHROPIC_AUTH_TOKEN
ANTHROPIC_AUTH_TOKEN は設定しないでください。両方設定するとエラーになります。
:::
便利なエイリアス設定
alias claude-local='ANTHROPIC_BASE_URL=http://localhost:8082 ANTHROPIC_API_KEY=dummy claude'
これで claude-local と打つだけでOK!
パフォーマンス
| 項目 | 値 |
|---|---|
| プロンプト処理 | ~2300 tokens/秒 |
| 生成速度 | ~20-30 tokens/秒 |
| 最大コンテキスト | 200K tokens |
| メモリ使用量 | 約84GB |
Anthropic APIに比べると生成速度は遅めですが、ローカルで完結する安心感は大きいです。
ハマったポイント
1. Tool Callingで止まる
最初、ファイル操作しようとすると固まりました。
原因: --tool-call-parser hermes を使っていた
解決: --tool-call-parser qwen3_xml に変更
Qwen3系モデルは独自のTool Callingフォーマットを使うので、専用のパーサーが必要です。
2. Auth conflictエラー
Auth conflict: Both a token (ANTHROPIC_AUTH_TOKEN) and an API key (ANTHROPIC_API_KEY) are set.
解決: ANTHROPIC_AUTH_TOKEN を設定しない(または unset ANTHROPIC_AUTH_TOKEN)
3. max_tokensエラー
入力が長すぎると、出力用のトークン枠がなくなってエラーに。
解決: vLLMの --max-model-len を増やす(今回は200Kに設定)
まとめ
DGX SparkでClaude Codeをローカル化できました!
ポイントまとめ:
- vLLM + Qwen3-Coder-Next-FP8 でモデルを動かす
- claude-code-proxy でAPI形式を変換
--tool-call-parser qwen3_xmlを忘れずに!ANTHROPIC_AUTH_TOKENは設定しない
セットアップは複雑ですが、一度動けば速くて安定。完全ローカルでClaude Codeが動く喜び、ぜひ体験してみてください。
参考リンク
この記事は2026年2月時点の情報です。