Ollama vs MLX: локальный LLM-инференс на Apple Silicon

Вердикт за 10 секунд (runbook)

Claude Code всегда через Ollama (:11434). MLX — только офлайн-бенчмарки и проверка моделей.

В этом гайде (Claude Code / Cursor, локальная модель) выбор делается только на уровне runtime — по умолчанию и рекомендуется Ollama. Третьего «официального» пути нет.

Многие сравнивают Ollama vs MLX на уровне runtime; для локальной модели Claude Code ответ на этой странице такой.

Необратимый вывод

У Claude Code один стек по умолчанию: Ollama. MLX не участвует в выборе Agent-runtime в этой статье — только бенчмарк, CI, исследования.

  • Runtime (Claude Code / локальный API) → только Ollama
  • Офлайн (бенчмарк / CI / исследования)MLX
  • Локальный LLM M4 Mac Mini · 16GB → сначала класс 7B, затем ollama serve

Различия с первого взгляда (единственная таблица)

В сценарии локальный LLM на M4 Mac Mini для локальной модели Claude Code (Ollama vs MLX) сначала смотрите две «критические» строки — MLX не запасной runtime: его нельзя ставить на путь Agent.

ИзмерениеOllamaMLX
Может быть Agent-runtime (Claude Code / Cursor / tool loop)
Claude Code без glue-кода (zero glue code) :11434 нужен свой шлюз
Встроенный HTTP-сервис инференса❌ (свой шлюз в этом гайде не рекомендуем)
tok/s (8B, без swap)эталонпримерно +3 % – +12 % (только офлайн)
Командный ollama serve✅ стандарт❌ вне пути Agent

Первые две строки решают исход; tok/s — ниже, не для выбора runtime Claude Code.

Главное заблуждение: 90 % задают неверный вопрос

При Ollama vs MLX спрашивают: «кто быстрее?» — в локальном LLM на M4 Mac Mini это неверный вопрос.

То же для локальной модели Claude Code. Правильный вопрос:

Можно ли использовать эту модель как production-runtime для Agent?

Неверный порядок (сначала 7B/14B, объём RAM) → маршрут в начале статьи.

Типичная ошибка стороны MLX (ключ к конверсии)

Увидеть в бенчмарке, что MLX чуть быстрее на Apple Silicon, и повесить его за Claude Codeошибка.

У Claude Code узкое место редко tok/s, чаще:

  • Стабильный HTTP serve (:11434)
  • Задержки и таймауты в tool loop
  • Управление context / тегами модели и общий доступ команды

Для Claude Code / Cursor: не использовать MLX как runtime-backend; обёртка HTTP на FastAPI — самописный glue, эксплуатация обычно дороже прямого Ollama.

Слои runtime Claude Code (выбор только в середине)

Локальная модель Claude Code — не «Ollama или MLX», а три слоя:

СлойЧтоВыбор?
ПриложениеClaude Code, Cursor, Agent tool loopНет (здесь вы работаете)
RuntimeOllama (единственная рекомендация) · HTTP :11434Да — в этом гайде зафиксирован Ollama
ВычисленияMLX · офлайн-бенч / CI / исследованияНет (вне основного пути Claude Code)

Выбор только на runtime, не на вычислениях. Для локальной модели Claude Code скорость MLX не меняет вывод по runtime.

Три слоя: Claude Code → Ollama runtime → Apple Silicon; MLX только офлайн-ветка
Рис. 1 · Приложение → runtime (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.

M4 Mac Mini 16GB: настоятельно

  • Модель 7B (напр. qwen2.5-coder:7b)
  • Не держать постоянно 14B + Chrome + IDE с забитой RAM
  • Смена на MLX не «лечит» swap

Почему MLX иногда быстрее (не меняет решение по runtime)

Цифры ниже объясняют разрыв Ollama vs MLX в бенчмарках Apple 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), не для выбора. 16GB Ollama ~27–31, MLX ~28–32 tok/s; 48GB Ollama ~72–78, MLX ~80–88 tok/s. Методика → хаб с тестами.

Почему у Claude Code один путь — Ollama

В повседневной работе с локальным LLM на M4 Mac Mini для Claude Code важнее не только скорость генерации:

МетрикаВажность для Agent
tok/sнизкая
Стабильность APIвысокая
Задержка tool loopочень высокая
Сопровождение (pull / serve / общий доступ)очень высокая

Как подключён Agent ≫ несколько процентов инференса.

Реальный провал (16GB · локальный LLM M4 Mac Mini)

Под нагрузкой локальной модели 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 — неверный объём RAM и размер модели. → 7B vs 14B

Рекомендуемые связки моделей 2026

СценарийРекомендация
Claude Codeqwen2.5-coder:7b
Универсальный AgentQwen3 8B (ollama pull qwen3:8b)
РассуждениеDeepSeek-R1 distill
Эталон бенчмаркаLlama 3.1 8B

Локальный LLM на M4 Mac Mini в команде: один хост ollama serve, все Claude Code на один :11434; MLX только ночные бенчмарки, не Agent.

Финальное правило (Runtime Spec этой статьи)

В Claude Code / Cursor / стандартном Agent tool loop локальная модель идёт через слой HTTP-инференса — в этом гайде Ollama. MLX — инструмент вычислений, не готовый Agent-runtime; «MLX + свой HTTP» для Claude Code не рекомендуем.

Инженерная оговорка: в редких собственных Agent-runtime (не Claude Code/Cursor, свой шлюз и SLA) возможны MLX + HTTPвне этой статьи, без изменения выводов для локальной модели Claude Code.

FAQ

Собрать HTTP на MLX и подключить Claude Code?

Для Claude Code: не рекомендуем. Технически можно, но совместимость, модели и стабильность на вас — обычно хуже Ollama. Своя платформа Agent (не Claude Code): MLX+HTTP возможен, здесь не рекомендуемая архитектура (см. оговорку).

MLX заменяет Ollama?

В рамках этого гайда: нет. Claude Code/Cursor → Ollama; MLX для офлайн-бенчмарка, не заменяет Ollama у Agent.

Ollama медленнее?

Без swap, та же модель: Ollama может быть на несколько процентов медленнее. В работе почти незаметно — узкое место в подключении и RAM.

24GB vs 48GB?

24GB: 7B/8B, solo или лёгкий Agent. 48GB: 14B, общий доступ команды, длиннее num_ctx. Апгрейд железа часто важнее Ollama↔MLX.

Когда MLX обязателен?

Только бенчмарк, регрессия CI, исследовательские скрипты. Не в runtime Claude Code; MLX может стоять на том же Mac, Agent только на Ollama.

Путь решения (итог)

Подробнее → финальное правило. Настройка → Claude Code + Ollama (шаг ④).

Узел памяти (логический вывод, не реклама)

Предпосылка (зафиксирована): runtime = Ollama (спека локальной модели Claude Code)

Нагрузка: Claude Code (Ollama) + 14B + командный tool loop + ollama serve

Единственное узкое место: объединённая память — веса + KV + контекст + IDE/браузер в одном пуле

Вывод: нужен выделенный M4 24GB / 48GB — не «ещё MLX», а не хватает RAM

16GB: solo 7B + локальный Ollama; при 14B и команде «Ollama vs MLX» схлопывается в «хватает ли unified memory» → Macstripe 24GB/48GB + кластер ollama serve.

Арендовать M4 24GB / 48GB (кластер ollama serve) → · Топология кластера

Итог

На Apple Silicon Ollama vs MLX — не равнозначный выбор: Agent → Ollama, бенчмарк → MLX; реально упираетесь в объём RAM и размер модели при локальном LLM на M4 Mac Mini.

Читать далее