# Может ли локальная LLM надёжно отдавать строгий JSON? Измерено по квантам, бэкендам и моделям

> Строгий JSON — несущая стена локальной автоматизации, но его надёжность обычно утверждают, а не измеряют. На одной коробке: квантизация её не сдвинула, бэкенд не сдвинул, режим размышлений не сдвинул — сдвинула смена семейства моделей.

- Published: 2026-08-20
- Evidence level: lab_repeated
- Funding: Собственное финансирование, внутреннее исследование
- Canonical: https://agmind.ai/ru/reports/local-llm-json-reliability/

Короткий измеренный ответ: на этой коробке надёжность строгого JSON не
была функцией квантизации, бэкенда или режима размышлений — каждая из этих
замен оставила успех задач без изменений. Она была функцией модели. Одно
семейство прошло начисто в каждой конфигурации, которую мы гоняли; другое
роняло ответы на тех же задачах. Если ваш пайплайн зависит от парсящегося
вывода, бенчмаркайте модель, а не настройки.

Ворклоад за каждой цифрой: детерминированные короткие задачи автоматизации
с закрытыми наборами меток, оценка от начала до конца — вывод должен
распарситься как JSON и совпасть с ground truth по каждому ключу.
Отказавшие запросы остаются в знаменателе. Одна коробка на Ryzen AI
Max+ 395, llama.cpp запинен по digest, по три повторных прогона на ячейку.

## Ломает ли квантизация JSON-вывод?

Нет — не между этими двумя квантами, на этой модели. Q4_K_M прошёл на
**100.0 % of requests** ([strix.qwen36.structured.c1.task-success-nothink](https://agmind.ai/claims/strix.qwen36.structured.c1.task-success-nothink/)),
Q8_0 — на **100.0 % of requests** ([strix.qwen36q8.vulkan.c1.task-success](https://agmind.ai/claims/strix.qwen36q8.vulkan.c1.task-success/)) на
тех же задачах. Популярный страх, что именно на меньшем кванте ваш JSON
начинает ломаться, поддержки здесь не нашёл — а раз меньший квант ещё и
[декодирует быстрее](https://agmind.ai/ru/reports/q8-0-vs-q4-k-m-strix-halo/), надёжность —
не причина платить за Q8_0 на этом ворклоаде.

## Важен ли бэкенд?

Нет. Сборка ROCm прошла на
**100.0 % of requests** ([strix.qwen36q4.rocm.c1.task-success](https://agmind.ai/claims/strix.qwen36q4.rocm.c1.task-success/)) на тех же
задачах, где сборка Vulkan держит чистый лист. Бэкенды двигают
[скорость](https://agmind.ai/ru/compare/llamacpp-vulkan-vs-rocm-strix-halo/), а не
корректность — в этой конфигурации это пути исполнения, а не разные умы.

## Помогает ли режим thinking?

Не на задачах с жёстким правильным ответом. Включённый reasoning набрал
**100.0 % of requests** ([strix.qwen36.structured.c1.task-success-think4k](https://agmind.ai/claims/strix.qwen36.structured.c1.task-success-think4k/)) против
того же чистого листа с выключенным — заплатив
[на порядок больше времени](https://agmind.ai/ru/reports/should-you-disable-thinking-local-llm/).
Для структурной автоматизации блок размышлений — чистая задержка.

## Переменная, которая сдвинула результат: модель

Та же коробка, та же дисциплина рантайма, тот же контракт ворклоада:
gemma-4-26B-A4B прошла на
**93.8 % of requests** ([strix.gemma4.structured.c1.task-success](https://agmind.ai/claims/strix.gemma4.structured.c1.task-success/)) там, где
Qwen3.6-35B-A3B держал идеальный лист во всех конфигурациях выше. Не
катастрофа: большинство запросов парсятся нормально. Но для пайплайна без
присмотра разрыв между «парсится каждый ответ» и «парсится большинство» —
это разрыв между cron-джобой и пейджером. Полная картина замен моделей,
включая места, где gemma выигрывает, — в
[отчёте о заменах](https://agmind.ai/ru/reports/model-quant-backend-strix-halo/).

## Насколько быстр надёжный JSON-ответ?

С выключенным reasoning, от начала до конца до полного проверенного
ответа: **844 ms** ([strix.qwen36.structured.c1.e2e-nothink](https://agmind.ai/claims/strix.qwen36.structured.c1.e2e-nothink/)).
Достаточно быстро, чтобы модель перестала быть бутылочным горлышком
большинства автоматизаций — с ростом очереди важнее становится
[поведение под конкурентностью](https://agmind.ai/ru/reports/concurrency-capacity-strix-halo/).

## Чего это НЕ говорит

- **Грамматически ограниченное декодирование не использовалось.** Это
  результаты уровня промпта; grammar-режим llama.cpp может механически
  обеспечить парсируемость, хотя не корректность по ключам, и был выключен
  намеренно — мы измеряли модели, а не смирительную рубашку.
- **Закрытые наборы меток, короткие задачи.** Длинные свободные
  JSON-документы с вложенной структурой — более трудная задача, которую
  этот ворклоад не щупает.
- **Два семейства моделей, одна коробка.** Вывод, что подвижная часть —
  модель, ровно та причина, по которой мы не экстраполируем его на модели,
  которых не гоняли.

У каждой цифры выше есть постоянная страница со скоупом, ограничениями и
сырыми прогонами: [реестр клеймов](https://agmind.ai/ru/claims/).

---

Machine-readable claim registry: https://agmind.ai/claims.json · llms.txt: https://agmind.ai/llms.txt
