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なら余裕です。
ワンライナーで全自動セットアップ
```bash curl -sL https://docs.techswan.online/scripts/dgx-spark-claude-code.sh | bash ```
これだけ!約10分待つと環境が整います。
以下は手動でやりたい人向けの解説です。
手動セットアップ
Step 1: vLLMでモデルを起動
```bash title="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を起動
```bash
クローン
git clone https://github.com/fuergaosi233/claude-code-proxy.git cd claude-code-proxy
依存関係インストール
pip install -r requirements.txt --user
設定ファイル作成
cat > .env << 'EOF' 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 EOF
起動
python start_proxy.py ```
Step 3: Claude Codeを起動
```bash ANTHROPIC_BASE_URL=http://localhost:8082 \ ANTHROPIC_API_KEY=dummy \ claude ```
:::warning ANTHROPIC_AUTH_TOKEN `ANTHROPIC_AUTH_TOKEN` は設定しないでください。両方設定するとエラーになります。 :::
便利なエイリアス設定
```bash title="~/.bashrc に追加" 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月時点の情報です。