Apple Silicon 上の Ollama と MLX:ローカル LLM 推論の選び方

10 秒結論(Runbook)

Claude Code は常に Ollama(:11434)。MLX はオフライン計測とモデル検証のみ。

本記事の規範(Claude Code / Cursor ローカルモデル)では、選択はランタイム層だけ。既定かつ推奨は Ollama。第三の「公式ルート」はない。

Ollama vs MLX を聞く人の多くはランタイム層の話をしている。Claude Code ローカルモデルの答えは次のとおり。

覆らない結論

Claude Code のデフォルトスタックは Ollama だけ。 MLX は本記事の Agent ランタイム選定に参加しない(ベンチマーク・CI・研究のみ)。

  • ランタイム(Claude Code / ローカル API)Ollama のみ
  • オフライン(計測 / CI / 研究)MLX
  • M4 Mac Mini ローカル LLM · 16GB → まず 7B クラス、その後 ollama serve

一覧で見る違い(比較表はこれだけ)

M4 Mac Mini ローカル LLMClaude Code ローカルモデル(Ollama vs MLX) を見るとき、まず下の二行「致命次元」— MLX は「代替ランタイム」ではなく、Agent 経路に入れないツール。

次元OllamaMLX
Agent ランタイムになれるか(Claude Code / Cursor / tool loop)
Claude Code が追加胶水なしで使えるか(zero glue code) :11434 自前ゲートウェイ必須
組み込み HTTP 推論サービス❌(本記事では自前 GW 非推奨)
tok/s(8B、swap なし)基準おおよそ +3 % ~ +12 %(オフライン参考のみ)
チーム ollama serve✅ 標準❌ Agent 経路外

上二行が生死線。tok/s は 下文Claude Code ランタイム選定には使わない

核心的な誤解:9 割が間違った質問をする

Ollama vs MLX で「どちらが速い?」と聞く人が多いが、M4 Mac Mini ローカル LLM では誤った質問。

Claude Code ローカルモデル でも同じ。本当の問いは:

このモデルは本番ランタイムとして Agent に使えるか?

順序を間違えた(先に 7B/14B・メモリ)→ 文頭 特集ルート

MLX 派のよくある誤判断(転換の要点)

ベンチで Apple Silicon 推論 が MLX やや有利だから Claude Code の後ろに繋ぐ — 誤り

Claude Code のボトルネックは tok/s ではなく、たいてい:

  • 安定した HTTP serve:11434
  • 複数回の tool loop における遅延とタイムアウト
  • context / モデル tag の管理とチーム共有

Claude Code / Cursor にとって MLX はランタイムバックエンドにしない。FastAPI で HTTP を包むのは自前実装の胶水層で、運用コストは多くの場合 Ollama 直結より高い。

Claude Code ランタイムの三層(選択は中間層だけ)

Claude Code ローカルモデル の正しいモデルは「Ollama と MLX の二択」ではなく三層分担:

内容選択?
アプリ層Claude Code、Cursor、Agent tool loopいいえ(ここで作業)
ランタイム層Ollama(本記事の唯一の推奨) · HTTP :11434はい — 本規範は Ollama 固定
計算層MLX · オフライン計測 / CI / 研究いいえ(Claude Code 主経路外)

選択はランタイム層だけ。計算層ではない。 Claude Code ローカルモデル向け読者にとって、MLX が速くてもランタイム結論は変わらない。

三層:Claude Code → Ollama ランタイム → Apple Silicon;MLX はオフライン枝のみ
図 1 · アプリ層 → ランタイム層(Ollama)→ ハードウェア;MLX は Agent 主経路に入らない

Claude Code でローカルモデル(実践)

Claude Code ローカルモデル のデフォルト:ANTHROPIC_BASE_URL → ローカル Ollama :11434。MLX はこのチェーンに入らない。

brew install ollama
ollama pull qwen2.5-coder:7b
ollama serve
export ANTHROPIC_BASE_URL=http://127.0.0.1:11434
export ANTHROPIC_AUTH_TOKEN=ollama
export ANTHROPIC_API_KEY=

設定後 Claude Code はローカルモデル経由。または ollama launch claude --model qwen2.5-coder:7b。課金・チーム → Claude Code + Ollama 実測

16GB M4 Mac Mini では強く推奨

  • 7B モデル(例 qwen2.5-coder:7b
  • 14B + Chrome + IDE でメモリを常時圧迫しない
  • MLX に替えても swap は「最適化」されない

MLX が速いことがある理由(ランタイム判断は変わらない)

以下の数字は Ollama vs MLXApple Silicon 推論 計測差の説明のみ — 「Claude Code → Ollama のみ」は変わらない

  • MLX:Metal カーネル直叩き + 配列計算
  • Ollama:llama.cpp + HTTP + ランタイムのサービス層

MLX はサービス殻が薄い — 差は通常小さい:

  • 16GB:おおよそ 0 %~5 %
  • 24GB:おおよそ 5 %~8 %
  • 48GB:おおよそ 8 %~12 %

注: 区間は Macstripe Lab 傾向(Llama-3.1-8B 4-bit、2026 年 6 月)、選定には使わない。16GB Ollama 約 27–31、MLX 約 28–32 tok/s;48GB Ollama 約 72–78、MLX 約 80–88 tok/s。手法 → Hub 実測

Claude Code に Ollama しかない理由

M4 Mac Mini ローカル LLM の日常開発で、Claude Code が気にするのは生成速度だけではない:

指標Agent にとって
tok/s
API の安定性
tool loop 遅延極めて高
保守性(pull / serve / 共有)極めて高

Agent の接続方法 ≫ 数ポイントの推論差。

実際に起きた失敗(16GB · M4 Mac Mini ローカル LLM)

Claude Code ローカルモデル の日常負荷で同時実行:Claude Code · Ollama qwen2.5-coder:14b · Chrome(約 15 タブ)· VS Code(m4-16gb-lab-01、2026-05-28)。

  • メモリ圧力:赤
  • swap:8GB 超
  • tok/s:約 28–31 → 一桁
  • Claude Code:タイムアウト

結論: MLX / Ollama の問題ではなく、メモリ段階とモデルサイズの選び間違い。→ 7B vs 14B

2026 推奨モデル組み合わせ(実践)

シナリオ推奨
Claude Codeqwen2.5-coder:7b
汎用 AgentQwen3 8B(ollama pull qwen3:8b
推論向けDeepSeek-R1 distill
計測対照Llama 3.1 8B

M4 Mac Mini ローカル LLM チーム:1 台で ollama serve、全員の Claude Code を同一 :11434 へ;MLX はそのマシンで夜間計測のみ、Agent には接続しない。

最終ルール(本記事 Runtime Spec)

Claude Code / Cursor / 標準 Agent tool loop では、ローカルモデルは HTTP 推論ランタイム を持つ層へ — 本規範では OllamaMLX は計算層ツールで、Agent ランタイムは箱から出ない;本記事は 「MLX + 自前 HTTP」 を Claude Code の推奨構成に載せない

エンジニアリング留保: ごく稀な 自社 Agent ランタイム(Claude Code / Cursor 以外、自前 GW と SLA)では MLX + 自前 HTTP もあり得る — 本記事の範囲外で、Claude Code ローカルモデルへの上記結論は変わらない。

FAQ

MLX で HTTP を自前構築して Claude Code に繋げる?

Claude Code 向け:非推奨。 技術的には可能だが、互換層・モデル管理・安定性を背負う — 多くの場合 Ollama 直結より重い。自社 Agent 基盤(Claude Code 以外)は MLX+HTTP もあり得るが、本記事では推奨構成にしない留保条項参照)。

MLX は Ollama を置き換えられる?

本規範ではいいえ。 Claude Code / Cursor の推奨ランタイムは Ollama;MLX はオフライン計測用で、Agent 接続の 代替にならない

Ollama は遅い?

swap なし・同一モデル計測では Ollama が数ポイント遅いこともある。日常のコーディング・Agent では ほぼ体感できない — ボトルネックは接続とメモリ。

24GB と 48GB の選び方?

24GB:7B / 8B、個人または軽量 Agent。48GB:14B、複数人共有、長い num_ctx。マシン更新の効果は Ollama↔MLX より大きいことが多い。

MLX が必須になるのはいつ?

ベンチマーク、CI 回帰、研究スクリプト(夜間 tok/s、新量子化、mlx-community 検証)のみ。Claude Code ランタイムには入れない;同一 Mac に MLX があっても Agent は Ollama のみ。

意思決定パス(まとめ)

詳細 → 最終ルール。設定 → Claude Code + OllamaStep ④)。

メモリノード(必然の導出、主観の推奨ではない)

前提(固定):ランタイム = Ollama(Claude Code ローカルモデル規範)

負荷:Claude Code(Ollama)+ 14B + 複数人 tool loop + ollama serve

唯一のボトルネック:ユニファイドメモリ — 重み + KV + コンテキスト + IDE/ブラウザが同一プール

結論(導出):24GB / 48GB 専有 M4 推論ノードが必要 — 「MLX を選ぶ」ではなく メモリ段階不足

16GB は個人 7B + ローカル Ollama;14B 共有に入ると変数は「Ollama vs MLX」から「ユニファイドメモリは足りるか」へ → Macstripe 24GB/48GB + ollama serve クラスタ

24GB / 48GB 専有 M4 を申し込む(Ollama serve クラスタ)→ · クラスタ構成

最終結論

Apple Silicon 上で Ollama vs MLX は対等な選択ではない:Agent は Ollama、計測は MLX;本当に止めるのは M4 Mac Mini ローカル LLMメモリ段階とモデルサイズ

関連記事