Все статьи
5 августа 2026 г.·4 мин чтения

llama.cpp, Ollama и LM Studio: чем движок отличается от обёртки

Почему llama.cpp — это движок, а Ollama и LM Studio — надстройки над ним, чем Llama отличается от llama.cpp, и что из этого выбрать под свою задачу на домашнем ПК.

Спор «llama.cpp или Ollama» построен на неверной посылке. Это не два конкурирующих продукта, а два уровня одной стопки: llama.cpp считает модель, Ollama делает это удобным. Выбирать между ними примерно так же осмысленно, как выбирать между двигателем и автомобилем.

Заодно станет понятно, почему на одинаковом железе разницы в скорости ты, скорее всего, не заметишь, что бы ни обещали заголовки сравнений.

Сначала о путанице: Llama и llama.cpp — разные вещи

Это самый частый вопрос по теме, и он справедливый: названия почти совпадают.

Llama — семейство моделей от Meta. Это то, что думает: файл с весами, обученный на текстах.

llama.cpp — программа на C и C++, которая эти веса запускает. Это то, что считает. Название историческое: проект начинался как способ гонять первую Llama на обычном ноутбуке. С тех пор он давно перерос исходную задачу и запускает почти всё, что выходит в формате GGUF, — Qwen, DeepSeek, Gemma, GigaChat и десятки других семейств.

Поэтому фраза «я запускаю llama.cpp» ничего не говорит о модели, а «я скачал Llama» ничего не говорит о том, чем ты её запустил.

Что такое llama.cpp

Движок вывода: берёт .gguf-файл, раскладывает его по памяти, считает на процессоре, видеокарте или на обоих сразу. Внутри — тензорная библиотека ggml, тот самый низкий уровень, где происходит арифметика.

Наружу llama.cpp торчит несколькими программами. Основные две: llama-cli для запуска в терминале и llama-server, который поднимает HTTP-сервер с OpenAI-совместимыми эндпоинтами и простым веб-интерфейсом в браузере.

Что такое GGUF и что означают метки вроде Q4_K_M, разобрано в отдельной статье.

Кто на нём стоит

Ollama — демон, который висит в фоне и управляется командами. В списке поддерживаемых бэкендов у него значится llama.cpp. Сверху добавлены реестр моделей (ollama pull qwen3), автоматическая выгрузка неиспользуемых моделей из памяти и свой REST API.

LM Studio — настольное приложение с окном, чатом и кнопками. Запускает llama.cpp напрямую, а на Apple Silicon умеет ещё и MLX. Сверху — поиск моделей на Hugging Face прямо в интерфейсе, панель настроек загрузки и переключатель локального сервера.

Отсюда простой вывод: скорость генерации у всех трёх сопоставима, потому что считает одно и то же. Если кто-то обещает «в два раза быстрее, чем Ollama», речь почти всегда о разных настройках или разной квантизации, а не о самом движке.

Проверяется это за минуту. Возьми один и тот же .gguf-файл, один и тот же промпт и сравни токены в секунду. Расхождение в пределах пары процентов — это шум, а не преимущество инструмента.

Где разница действительно есть

Она в контроле и в цене этого контроля.

В llama.cpp ты сам задаёшь размер контекста, число слоёв на видеокарте, параметры сэмплирования и вид KV-кэша. Обёртки часть этих ручек прячут ради простоты, а часть выставляют за тебя. Там же, в движке, первыми появляются новые архитектуры моделей: в день, когда их принимают в проект. Обёртки подтягивают их, когда обновят свою версию llama.cpp, и разрыв обычно составляет от нескольких дней до пары недель.

Платишь за это временем на старте. Ollama ставится одной командой, LM Studio открывается как обычное приложение, а llama.cpp требует выбрать сборку под своё железо, положить рядом модель и разобраться с ключами запуска. Ничего страшного, но вечер уйдёт.

Есть и менее очевидная плата. В llama.cpp легко случайно запустить модель целиком на процессоре, посмотреть на два токена в секунду и сделать вывод, что локальные модели вообще не работают. Обёртки такие вещи разруливают за тебя, и в этом их основная ценность.

Что выбрать

СитуацияРазумный выбор
Нужен локальный API для своего кода, минимум лишнегоOllama
Хочется посмотреть на модели, сравнить их в чатеLM Studio
Нужна новая архитектура, которую обёртки ещё не подтянулиllama.cpp
Нужны редкие ключи запуска и точная настройка памятиllama.cpp
Нужен результат работы, а не модельни то, ни другое — см. ниже

Про выбор между двумя обёртками есть подробный разбор с адресами эндпоинтов и лицензиями: Ollama или LM Studio. Запуск llama.cpp на Windows без сборки из исходников — здесь, а вызов модели из своего кода — в статье про llama-cpp-python.

Отдельно стоит четвёртый движок, vLLM. Его регулярно советуют как самый быстрый, но он рассчитан на Linux и серверную видеокарту: почему дома он не нужен, разобрано в отдельной статье.

Чего не делает ни один из трёх

Все три инструмента решают одну задачу: заставить модель отвечать. Дальше начинается то, ради чего локальную модель обычно и ставят, — и вот тут стопка заканчивается.

Ни llama.cpp, ни Ollama, ни LM Studio не откроют твою папку с договорами, не соберут из них таблицу, не запустят тесты в проекте и не сделают это в семь утра по расписанию. Они отдают текст в ответ на текст. Всё остальное ты пишешь сам: клиент, логику шагов, обработку файлов, проверку результата.

Дока занимает как раз этот уровень выше. Это агент: он работает с файлами и терминалом, подключает MCP-серверы, умеет расписания и ведёт задачу до результата, а не до ответа в чате. Модель при этом остаётся локальной — GGUF-файл скачивается прямо в приложении, отдельно поднимать движок не нужно.

Так что честная формулировка выбора выглядит не как «llama.cpp против Ollama», а так: если тебе интересно само устройство инференса — бери движок и собирай стопку руками. Если нужен выполненный результат — ставь Доку и не собирай ничего.