Gemma 4 в Codex CLI: локальный запуск оказался рабочим, но пока слабее облака
Gemma 4 уже можно запускать локально в Codex CLI для реальных задач по коду, но до облачных моделей она пока не дотягивает. В тесте на генерацию Python-функции

Локальная Gemma 4 уже способна работать в Codex CLI как агент для повседневного кодинга: читать файлы, писать патчи и запускать тесты. Но эксперимент с двумя разными стендами показал, что сам факт запуска — только половина успеха. По надежности, аккуратности кода и качеству результата с первой попытки облачная GPT-5.
4 пока остается заметно впереди. Автор теста хотел проверить не абстрактную «локальную ИИ-разработку», а вполне приземленный сценарий: может ли модель заменить облачный API в ежедневной работе с Codex CLI. Мотивация понятна: стоимость токенов, требования к приватности и зависимость от внешних сервисов.
Для проверки собрали две конфигурации. Первая — MacBook Pro с чипом M4 Pro и 24 ГБ памяти, где запускали Gemma 4 26B MoE в квантизации Q4_K_M через llama.cpp.
Вторая — Dell Pro Max GB10 с 128 ГБ unified memory и NVIDIA Blackwell, где использовали Gemma 4 31B Dense через Ollama 0.20.5.
В обоих случаях модель подключали в Codex CLI как кастомного провайдера в режиме responses API. Поднять локальный стек оказалось не так просто. На Mac версия Ollama ломалась на tool calling из-за багов со стримингом и зависала на длинных промптах, а для Codex CLI это критично: один системный промпт там занимает около 27 тысяч токенов.
Рабочим вариантом в итоге стал llama.cpp с ручной настройкой флагов, отключенным web_search и контекстом 32 768 токенов. На GB10 тоже не все завелось с первого раза: vLLM уперся в несовместимость PyTorch и CUDA-сборок для Blackwell, а собранный вручную llama.
cpp неадекватно обрабатывал часть типов инструментов. В результате самым практичным решением снова оказался не «идеальный» стек, а тот, который просто заработал — Ollama. Бенчмарк проводился 12 апреля 2026 года на Codex CLI v0.
120.0. Через codex exec --full-auto всем трем конфигурациям дали одну и ту же задачу — написать Python-функцию parse_csv_summary с обработкой ошибок, затем подготовить тесты и прогнать их.
Облачная GPT-5.4 с высоким reasoning effort справилась лучше всех: выдала аккуратный код с type hints, нормальной цепочкой исключений и прошла все пять тестов с первой попытки за 65 секунд. Локальная Gemma 4 31B на GB10 тоже дала рабочий результат с первого прохода, но проще по качеству: без type hints и без распознавания булевых значений.
Зато все пять тестов тоже прошли сразу, а на выполнение ушло около семи минут и три tool call. Самым проблемным оказался Mac с 26B MoE: модель оставляла мертвый код, несколько раз заново переписывала тестовый файл и делала нелепые опечатки вроде сломанного имени переменной или некорректной строки encoding. В итоге задача заняла 4 минуты 42 секунды, но потребовала 10 tool call и пяти неудачных попыток записать тесты.
Интереснее всего, что по «сырой» скорости Mac неожиданно обошел более мощный GB10. В llama-bench 26B MoE на Mac выдавал около 52 токенов в секунду против 10 токенов у 31B Dense на GB10, а по обработке промпта на контексте 8K машины шли почти вровень — 531 против 548 токенов в секунду. Объяснение в архитектуре Mixture of Experts: у MoE на каждом шаге активируется только часть параметров, поэтому объем данных, который нужно тянуть из памяти на токен, резко меньше.
Но этот выигрыш почти не помог в реальной задаче, потому что основное время съели не вычисления, а ошибки модели, повторные tool call и лишние правки по ходу работы. Главный вывод здесь двойной. С одной стороны, Gemma 4 действительно сдвинула локальное агентное кодирование из категории «ломается почти всегда» в категорию «с этим уже можно жить»: автор напоминает, что на tau2-bench показатель function calling у Gemma 3 был 6,6%, а у Gemma 4 31B — 86,4%.
С другой стороны, в практической разработке важнее не рекорд по токенам в секунду, а надежность с первой попытки. Поэтому локальный режим уже выглядит реалистичным для приватных задач, быстрых итераций и работы без постоянных расходов на API, но в сложных сценариях облачные модели пока остаются сильнее. Наиболее разумным выводом из теста выглядит гибридный режим: локальная модель для части задач, облако — как основной инструмент там, где цена ошибки выше скорости или приватности.