ローカルLLMについてここ1ヶ月で調べたことをまとめる。
推論エンジン
推論エンジンに関してはOllama,LMstudio,Llama.cppなど色々試してみたが
結論Llama.cppが一番だと思った。
理由は「安定性」と「設定の容易さ」。
OllamaはModelfileの設定が面倒で、LMstudioはパフォーマンス設定の最適化に時間がかかる。
Llama.cppはコマンドで実行できて編集が楽で、batファイルにしておけば起動も簡単。
これらの理由でLlama.cppに落ち着いた。
モデル
モデルに関してはQwen3.6-35BA3Bがコンテキスト長を多くとった上で速度がある程度出て(30~40token/s)コーディング知識も割と深く一番使いやすいと思った。
Qwen3.6-27Bは自分のハードでは速度が遅すぎて(5~10token/s)エージェントとして使うには厳しかった。gemma4-31BもQwen3.6-27Bと同様。
gemma4-26BA4Bについては速度は速く日本語能力も高いがコーディングが少し弱かった。
比較表(コンテキスト長:262144token)
| モデル | 速度 | 備考 |
|---|---|---|
| Qwen3.6-35BA3B | 35~50token/s | バランス良く最適 |
| Qwen3.6-27B | 5~10token/s | コンテキスト長を下げても10~15token/s |
| gemma4-26BA4B | 60~70token/s | 速度は最速・コーディング能力が若干弱いかも |
| gemma4-31B | token/s | Qwen3.6-27Bと同様 |
エージェント
ClaudeCode・GitHubCopilot・codexをLlama.cppに繋いで使用してきた。
ClaudeCodeはプラグインが豊富で開発フローが制御しやすく全体的に使いやすかった。
GitHubCopilotに関してはC#やvisualstudioなどの知識が多くwindowsFormAppのデザインやプログラムを書くのが得意なようだった。
codexは対応が弱いのかローカルLLMとの相性が悪く、接続に不具合がある上に、パフォーマンスが出ていないように思えた。後述するが、codexはLlama.cppとの不具合がありエラーになるためLMstudioを使用した。
環境
| カテゴリ | 項目 | 詳細スペック / 設定内容 |
|---|---|---|
| OS | オペレーティングシステム | Windows 11 Home |
| ハードウェア | GPU | NVIDIA GeForce RTX 3060 (VRAM 12GB)×2 |
| CPU | AMD Ryzen9 5900x | |
| メモリ (RAM) | 48GB | |
| 推論基盤 | 推論エンジン | Llama.cpp (server mode) |
| AIモデル | モデル名 | mudler/Qwen3.6-35B-A3B-APEX-GGUF |
| 量子化 | Qwen3.6-35B-A3B-APEX-Quality.gguf (ファイルサイズ: 約22.8GB) | |
| AIエージェント | ClaudeCode cli | |
| GithubCopilot cli | ||
| Codex cli |
手順
- llama.cpp導入とモデルロード
- 各AIエージェント設定
- ClaudeCode
- GithubCopilot
- codex(llma.cppは使用不可のためLMstudioの設定)
llama.cpp導入
以下gihubのURLからインストール
NVIDIA GPUなら以下の2つをクリックしてダウンロード(CUDA12の場合)
nvidia-smi
ダウンロードが完了すれば以下のディレクトリを作成して、このパスに展開する。
C:\Program Files\llama-cpp
環境変数に"C:\Program Files\llama-cpp"を追加して
コマンドプロンプトに以下のコマンドを実行してバージョン情報が表示されれば成功です。
llama-cli --version
ggml_cuda_init: found 1 CUDA devices (Total VRAM: 12287 MiB):
Device 0: NVIDIA GeForce RTX 3060, compute capability 8.6, VMM: yes, VRAM: 12287 MiB
load_backend: loaded CUDA backend from C:\Program Files\llama-cpp\ggml-cuda.dll
load_backend: loaded RPC backend from C:\Program Files\llama-cpp\ggml-rpc.dll
load_backend: loaded CPU backend from C:\Program Files\llama-cpp\ggml-cpu-haswell.dll
version: 8461 (cea560f48)
built with Clang 19.1.5 for Windows x86_64
LLMモデルのダウンロード
Qwen3.6-35B-A3BのAPEX-Qualityを使用するので、huggingfaceからダウンロードします。今回は手動でダウンロードしておく。
※APEX量子化は量子化を偏らせることで普通のビット量子化に比べて少ないメモリでより高い精度が出せるらしい。個人的にもQ4_K_Mよりも精度がいいような気がする。
Qwen3.6はマルチモーダルモデルのためモデル本体とマルチモーダル用のモデルをそれぞれダウンロードする。
画像を読み込ませないならマルチモーダルにしなくても使用できるため。VRAMの余裕がない場合は設定しないことを選択するのも良い。
Llama.cpp serverモードでの起動
コーディングエージェントとして使うにはある程度大きいコンテキスト長が必要であるため最大の262144に設定している。少なくとも131072以上を設定しないとコンテキスト圧縮の頻度が多くなりすぎて使い物にならないと思う。
llama-server ^
-m "{モデルのフルパス}" ^
--mmproj "{マルチモーダルモデルのフルパス}" ^
--port 8080 ^
--host 0.0.0.0 ^
--ctx-size 262144 ^
--cache-type-k q4_0 ^
--cache-type-v q4_0 ^
--threads 12 ^
--threads-batch 24 ^
--chat-template-kwargs "{\"enable_thinking\":false}" ^
--jinja ^
--temp 0.7 ^
--top-p 0.95 ^
--top_k 20 ^
--min_p 0.0 ^
--presence_penalty 1.5 ^
--no-mmap ^
各種エージェント設定
基本は環境変数にベースURL(v1有無はそれぞれ)とapikeyやモデル名を設定する。
ClaudeCode
ApiKeyはskから始まるdummyで可
| 変数名 | 変数値 |
|---|---|
| ANTHROPIC_BASE_URL | http://localhost:8080 |
| ANTHROPIC_API_KEY | sk-no-key-required |
GithubCopilot
COPILOT_MODELは適当な名前でOK
| 変数名 | 変数値 |
|---|---|
| COPILOT_PROVIDER_BASE_URL | http://localhost:8080/v1 |
| COPILOT_MODEL | customLLM |
codex
codexは.codex/config.tomlに以下を追加する。
model = "Qwen3.6-35B-A3B-APEX-Quality.gguf"の部分は
http://localhost:1234/v1/models
で確認したモデル名を設定すること
profile = "qwen36-35b"
[model_providers.lm_studio]
name = "lm_studio"
base_url = "http://localhost:1234/v1"
wire_api = "responses"
[profiles.qwen36-35b]
model = "Qwen3.6-35B-A3B-APEX-Quality.gguf"
model_provider = "lm_studio"
Llama.cppで設定すると認識はするがエラー400で使用できない。
詳しくはunslothのページ下部に記述がある。
参考サイト

