koide 8c109a1d9a
All checks were successful
Deploy Docusaurus Site / deploy (push) Successful in 28s
Add: OGPバナー画像自動生成 (node-canvas) + 全記事一括生成
2026-02-28 01:03:39 +00:00

9.9 KiB
Raw Blame History

sidebar_position, title, description, hide_table_of_contents, displayed_sidebar, image
sidebar_position title description hide_table_of_contents displayed_sidebar image
4 DGX SparkでClaude Code + Qwen3-Coder-Nextをローカル実行する Claude Codeを完全ローカル化Qwen3-Coder-Next80B MoEで動かす方法を解説 false null ./banner.png

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 遅め
対応モデル 様々 GGUF量子化モデル
コンテキスト長 200K対応 モデル依存
必要スペック DGX Spark等 低〜中

:::tip どちらを選ぶ?

  • 手軽に試したい → Ollama Launch
  • 本格的に使いたい・速度重視 → この記事の方法 :::

この記事の方法はセットアップが複雑ですが、vLLMの最適化により推論速度が速く、並列稼働も可能になります。

何ができるようになるの?

  • プライバシー保護 - コードがクラウドに送られない
  • API料金ゼロ - 月額課金から解放
  • 200Kトークン対応 - 大規模なコードベースも一度に読める
  • オフライン動作 - ネット環境がなくてもOK

必要なもの

今回使うのは NVIDIA DGX Spark

:::note 同じ手順は他のNVIDIA GPU搭載マシンでも応用できますVRAMは多めに必要。 :::

DGX Sparkとは

NVIDIAの「デスクトップAIワークステーション」です。

スペック
GPU NVIDIA GB10Blackwell世代
メモリ 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推論時アクティブ
アーキテクチャ MoEMixture of Experts
最大コンテキスト 1Mトークン
特徴 コーディング特化

MoEMixture 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をローカル化できました

ポイントまとめ

  1. vLLM + Qwen3-Coder-Next-FP8 でモデルを動かす
  2. claude-code-proxy でAPI形式を変換
  3. --tool-call-parser qwen3_xml を忘れずに!
  4. ANTHROPIC_AUTH_TOKEN は設定しない

セットアップは複雑ですが、一度動けば速くて安定。完全ローカルでClaude Codeが動く喜び、ぜひ体験してみてください。

参考リンク


この記事は2026年2月時点の情報です。