Прямой ответ: Gemma 4 (31B) на RTX 5090 с NVFP4-квантованием проваливает agentic-задачи из-за комбинации трёх факторов. Потеря точности при 4-битном сжатии разрушает связность рассуждений в многошаговых цепочках. Архитектура модели не оптимизирована под использование инструментов. Интеграция с фреймворками opencode и hermes даёт сбои при парсинге ответов квантизованной модели. Claude Sonnet через API решает те же задачи без проблем, что подтверждает: проблема не в сложности задания, а в конкретной связке железа, квантизации и софта.
Этот разбор построен на практическом тесте: задача - создание игры Snake с использованием инструментов, результат - полный отказ. Разберём каждый слой проблемы и дадим конкретные рекомендации по конфигурациям, которые работают.
Провал agentic-теста: Gemma 4 не пишет Snake на RTX 5090
Agentic-сценарий подразумевает, что модель не просто генерирует текст, а взаимодействует с инструментами: читает файлы, пишет код, запускает тесты, анализирует ошибки и итеративно исправляет их. Создание игры Snake - канонический тест такой способности. Модель должна спланировать структуру, сгенерировать код, проверить его работоспособность и внести правки.
Gemma 4 на RTX 5090 с NVFP4-квантованием этот тест завалила полностью. Модель не смогла выдать связный код даже после нескольких попыток с разными настройками промпта. Claude Sonnet через API справился с первой итерации - выдал рабочий Python-файл с pygame, который запустился без ошибок.
Условия эксперимента: железо, модель, квантизация
Конфигурация тестового стенда:
- GPU: NVIDIA RTX 5090, 32 ГБ VRAM, драйвер 555.42.02
- Модель: Gemma 4 (31B параметров), загружена через llama.cpp с бэкендом CUDA
- Квантизация: NVFP4 - 4-битный формат с плавающей точкой, совместная разработка NVIDIA и Red Hat
- Фреймворки: opencode v0.3.8 для оркестрации agentic-цикла, hermes v0.2.1 для парсинга вызовов инструментов
- Параметры инференса: температура 0.1, top_p 0.95, контекстное окно 8192 токена, batch size 512
Модель полностью помещалась в VRAM RTX 5090. Скорость генерации достигала 45-50 токенов/с - отличный показатель для 31B-модели. Проблема была не в производительности, а в качестве вывода.
Результат: что пошло не так при генерации Snake
Модель демонстрировала три характерных паттерна сбоя:
1. Несвязный код. Gemma 4 генерировала синтаксически корректный Python, но логика программы рассыпалась: функции вызывались до объявления, переменные использовались без инициализации, игровой цикл не замыкался. Типичный фрагмент вывода:
def move_snake():
head = snake[0]
new_head = (head[0] + direction[0], head[1] + direction[1])
snake.insert(0, new_head)
snake.pop()
return snake # snake не определён в этой области видимости
2. Игнорирование инструкций инструментов. opencode ожидает от модели вызовы функций в формате JSON: {«function»: «write_file», «args»: {…}}. Gemma 4 в 7 из 10 случаев выдавала обычный текст с описанием того, что она «сейчас создаст файл», вместо структурированного вызова. Hermes не мог распарсить такие ответы, и цикл прерывался.
3. Потеря контекста. На третьем-четвёртом шаге agentic-цикла модель начинала повторять предыдущие ответы или добавляла код, не связанный с задачей - например, вставляла фрагменты HTML-разметки в Python-файл.
Claude Sonnet через API выполнил задание чисто: сгенерировал структурированный вызов write_file с полным кодом Snake, затем вызов run_tests для проверки, и после успешного запуска выдал финальный отчёт. Ни одного сбоя парсинга, ни одной логической ошибки.
NVFP4: как 4-битная квантизация влияет на agentic-способности
NVFP4 - новый формат 4-битного квантования с плавающей точкой, разработанный NVIDIA и Red Hat специально для RTX 50-й серии. В отличие от целочисленного INT4, формат с плавающей точкой сохраняет больший динамический диапазон, что теоретически снижает потери точности. На практике для agentic-задач этого недостаточно.
Ранее мы разбирали влияние квантования с учётом активаций на Gemma 3 4B: переход на 4 бита поднимал точность на GPQA с 23.2% до 27.8%, но увеличивал время инференса на 29%. Agentic-сценарии создают нагрузку другого рода - здесь критична не точность ответа на один вопрос, а стабильность на дистанции в 10-20 последовательных шагов.
Что такое NVFP4 и зачем она нужна на RTX 5090
NVFP4 использует 4 бита на вес: 1 бит под знак, 2 бита под мантиссу, 1 бит под экспоненту. Это даёт 16 возможных значений на параметр вместо 65536 у FP16. Сжатие в 4 раза позволяет загрузить 31B-модель в 32 ГБ VRAM RTX 5090 с запасом под KV-кэш и батчинг. Без квантизации та же модель потребовала бы около 62 ГБ в FP16 - за пределами возможностей карты.
Преимущества NVFP4 на RTX 5090:
- Пропускная способность: до 50 токенов/с на 31B-модели против 12-15 токенов/с на FP16 с оффлоадингом в системную память
- Энергоэффективность: TDP карты держится в пределах 350 Вт при полной загрузке тензорных ядер
- Совместимость: драйверы NVIDIA обеспечивают прозрачную конвертацию без ручной калибровки
Цена - деградация качества, которая неравномерна по типам задач.
Цена сжатия: как 4 бита ломают связность рассуждений
Квантизация вносит шум в веса модели. Каждый параметр округляется до ближайшего из 16 значений - ошибка квантования составляет в среднем 3-5% от величины веса. В одношаговой задаче (вопрос-ответ) эта ошибка распределяется по миллиардам параметров и частично компенсируется избыточностью сети. В agentic-сценарии ошибка накапливается.
Механизм накопления ошибки в цепочке из 10 шагов:
- Шаг 1: модель генерирует вызов инструмента с ошибкой квантования - допустим, вместо
write_fileпарситсяwrite_code - Шаг 2: фреймворк возвращает ошибку, модель получает её в контекст
- Шаг 3: модель пытается исправиться, но шум в весах искажает already-noisy контекст - ответ становится менее точным
- Шаги 4-10: ошибка растёт экспоненциально, модель теряет связность
Это объясняет наблюдаемые симптомы: повторения, потеря логики, неверные вызовы функций. Сравнение с разбором потери контекста у Qwen 3.6 27B показывает схожую картину - длинные диалоги и agentic-циклы вскрывают фундаментальные ограничения квантизованных моделей.
Архитектурные ограничения Gemma 4 для агентных сценариев
Даже без квантизации Gemma 4 не проектировалась как agentic-модель. Google оптимизировал линейку Gemma под эффективность инференса и качество одношаговых ответов - это видно по архитектурным решениям и стратегии обучения.
Ключевые ограничения:
- Контекстное окно 8192 токена - для agentic-цикла с историей вызовов инструментов этого мало. Claude Sonnet работает со 100K+ токенов
- Механизм внимания без алиби-позиционирования - модель хуже обобщает на длинные последовательности, выходящие за пределы обучающей выборки
- Отсутствие специализированного обучения на function calling - в датасете Gemma 4 преобладают диалоги и инструкции, а не структурированные вызовы инструментов
Ранее мы тестировали Gemma 4 26B A4B на продуктивность для backend-задач: модель показала ~60 токенов/с и адекватную работу с OpenCode для серверного кода. UI/UX-сценарии уже проваливались. Agentic-задачи требуют ещё более высокого уровня связности - и здесь архитектурные ограничения становятся критичными.
Сравнение с Claude Sonnet: почему API-модель справляется лучше
Claude Sonnet обучен с применением Reinforcement Learning from Human Feedback (RLHF) и Constitutional AI - методов, которые включают оценку многошаговых взаимодействий с инструментами. Модель получает вознаграждение за корректные цепочки вызовов, а не только за финальный ответ.
Разница в подходах:
| Характеристика | Gemma 4 (31B) | Claude Sonnet |
|---|---|---|
| Контекстное окно | 8K токенов | 100K+ токенов |
| Обучение на function calling | Базовое | Специализированное, RLHF |
| Формат вывода инструментов | Текстовое описание | Структурированный JSON |
| Стабильность на 10+ шагах | Низкая | Высокая |
| Инференс | Локальный, 45-50 токенов/с | Облачный API, ~30 токенов/с |
Claude Sonnet выигрывает не за счёт размера или скорости, а за счёт целенаправленной оптимизации под agentic-паттерны. Gemma 4 может догнать конкурентов в следующем поколении - сравнение Gemma-4-26B-a4B с Qwen3.6-MoE показывает, что Google движется в этом направлении, но специализированной agentic-версии пока нет.
Роль инструментов: opencode и hermes как фактор отказа
Третий слой проблемы - интеграция. Opencode и hermes проектировались под модели с чётким следованием формату вызова инструментов. Gemma 4 в квантизованном варианте выдаёт ответы, которые не соответствуют ожидаемому контракту.
Как работают agentic-фреймворки с локальными моделями
Стандартный цикл взаимодействия:
- Фреймворк формирует промпт с описанием доступных инструментов и формата вызова
- Модель генерирует ответ - ожидается JSON с именем функции и аргументами
- Парсер (hermes) извлекает JSON из ответа модели
- Фреймворк выполняет вызов и возвращает результат модели
- Цикл повторяется до достижения цели
Узкие места в случае Gemma 4 + NVFP4:
- Шаг 2: модель генерирует текст «Я создам файл snake.py с кодом игры», а не JSON
{«function»: «write_file», …} - Шаг 3: hermes не находит JSON в ответе и возвращает ошибку парсинга
- Шаг 4: фреймворк передаёт ошибку обратно, но модель не понимает, как её исправить - проблема усугубляется
Альтернативные инструменты, такие как vLLM с guided generation, принудительно ограничивают вывод модели допустимыми токенами. Это снижает вероятность ошибки формата, но не решает проблему логической связности кода. Тест Poolside Laguna S 2.1 показал, что модели, изначально спроектированные под agentic-циклы, выдают ноль JSON-ошибок даже при агрессивной квантизации - архитектура и обучение важнее инструментов.
Практические выводы: стоит ли запускать agentic-сценарии на RTX 5090 с Gemma 4
Связка RTX 5090 + Gemma 4 + NVFP4 работоспособна для задач, не требующих многошаговых рассуждений и вызовов инструментов: чат-боты, суммаризация, генерация отдельных функций по спецификации, код-ревью в один проход. Для agentic-сценариев эта конфигурация непригодна.
Три возможных пути решения:
- Сменить квантизацию. Переход на INT8 или FP8 повышает стабильность, но 31B-модель перестаёт помещаться в VRAM RTX 5090 - потребуется оффлоадинг в системную память, что снизит скорость до 8-12 токенов/с
- Сменить модель. Mistral 8x22B или Llama 3 70B с INT8-квантизацией показывают лучшие результаты в agentic-тестах, но требуют либо двух RTX 5090, либо оффлоадинга
- Использовать облачный API для agentic-задач, оставив локальный инференс для простых. Claude Sonnet или GPT-4 через API решают agentic-задачи надёжно и с приемлемой стоимостью
Альтернативы для локального agentic-инференса
Конфигурации, которые работают на RTX 5090:
- Mistral 8x22B + INT8: помещается в 32 ГБ VRAM, показывает стабильные результаты на 5-7 шагах agentic-цикла, скорость 25-30 токенов/с
- Gemma 4 26B A4B + Q6: наша альтернативная рекомендация - 6-битная квантизация даёт приемлемый баланс качества и размера. На Apple M5 Pro эта модель показывает 60 токенов/с и справляется с backend-задачами
- vLLM с guided generation: принудительный контроль формата вывода снижает количество ошибок парсинга на 40-60% даже для квантизованных моделей
Для тех, кто рассматривает альтернативное железо, тест Strix Halo на Ryzen AI Max+ 395 даёт интересные цифры: 14.2 токен/с на Qwen 3.6-35B-A3B под 32 параллельными запросами. Мини-ПК за $1500 справляется с инференсом лучше, чем можно ожидать, но agentic-сценарии и здесь требуют осторожного подхода к квантизации.
Главный вывод этого теста: agentic-способности - самый жёсткий стресс-тест для квантизованных моделей. Если задача требует 10+ последовательных шагов с вызовами инструментов, 4-битное сжатие создаёт неприемлемый уровень ошибок независимо от формата квантования. Выбирайте модель и квантизацию под конкретный класс задач, а не под максимальную скорость инференса.