[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"glossary-json-mode::ru":3,"gloss-cluster-json-mode::ru":20,"gloss-next-json-mode::ru":9},{"slug":4,"category":5,"name":6,"definition":7,"meta_desc":8,"faq":9,"schema_markup":9,"related":10},"json-mode","prompt-eng","Режим JSON","Режим JSON — это параметр API времени инференса, предлагаемый большинством крупных провайдеров LLM (response_format: {type: \"json_object\"} у OpenAI, структурированный вывод на основе использования инструментов у Anthropic, responseMimeType у Google Gemini), который ограничивает генерацию токенов моделью так, чтобы её вывод гарантированно был синтаксически валидным JSON — устраняя целый класс продакшен-багов, когда ответ модели включает разговорное вступление («Конечно, вот запрошенный JSON:»), завершающий комментарий или едва заметно некорректный синтаксис (пропущенная закрывающая скобка, неэкранированная кавычка), который ломает наивный вызов JSON.parse() ниже по цепочке. До появления режима JSON как отдельной функции разработчики полностью полагались на инструкции в промпте («отвечай только валидным JSON») плюс защитный код парсинга (извлечение через регулярные выражения, циклы повторных попыток при ошибке парсинга), чтобы справиться с тем, что модели время от времени непредсказуемо отклонялись от запрошенного формата — постоянный источник нестабильных продакшен-багов. Режим JSON исправляет синтаксическую валидность на уровне API, но, что важно, сам по себе не гарантирует, что JSON соответствует конкретной схеме (правильные имена полей, типы, вложенность) — для полного применения схемы большинство провайдеров дополнительно предлагают структурированный вывод, ограниченный схемой (иногда реализуемый под капотом через вызов функций\u002Fинструментов), где вы предоставляете JSON Schema, а API гарантирует как валидный синтаксис JSON, так и соответствие вашей точной схеме. Для разработчиков SaaS режим JSON (или полный структурированный вывод там, где он доступен) должен быть выбором по умолчанию для любой ИИ-функции, чей вывод напрямую поступает в логику приложения, запись в базу данных или отрисовку интерфейса — оставляя генерацию свободного текста для по-настоящему разговорных, ориентированных на человека функций, где жёсткая структура не является целью. Стоит отметить, что режим JSON сам по себе — необходимая, но не достаточная инженерия надёжности: приложения всё равно должны валидировать распарсенный JSON на соответствие ожидаемым типам\u002Fдиапазонам и корректно обрабатывать (теперь редкие) сбои на уровне API. Разобранный пример: конечная точка API для ИИ-категоризации расходов вызывает Claude со структурированным выводом, запрашивающим фиксированную схему: {\"category\": string enum, \"confidence\": number, \"flagged_for_review\": boolean}. До внедрения структурированного вывода примерно 2% ответов не парсились из-за дрейфа форматирования (лишнее предложение, баг с экранированной кавычкой) — небольшой процент, который, тем не менее, вызывал заметные ошибки в масштабе тысяч ежедневных транзакций. После перехода на режим JSON, ограниченный схемой, этот показатель отказов падает фактически до 0%, потому что API механически не может вернуть ответ, нарушающий схему, устраняя целую категорию продакшен-инцидентов без каких-либо изменений формулировок промпта. Стоит также учитывать компромисс по стоимости: ограниченная генерация может иногда немного увеличивать задержку вывода по сравнению с неограниченной генерацией (движок инференса выполняет дополнительную работу, проверяя каждый кандидатный токен на соответствие схеме на каждом шаге) — это небольшая, обычно приемлемая цена для команд, чей приоритет — устранение сбоев парсинга, хотя для крайне чувствительных к задержке функций стоит замерить реальное влияние режима JSON на задержку для вашей конкретной схемы, а не считать его пренебрежимо малым.","Режим JSON — настройка API, заставляющая вывод модели быть синтаксически валидным JSON, устраняя сбои парсинга из-за некорректных ответов.",null,[11,14,17],{"slug":12,"name":13},"output-formatting","Форматирование вывода",{"slug":15,"name":16},"prompt-engineering","Инженерия промптов (Prompt Engineering)",{"slug":18,"name":19},"structured-output","Структурированный вывод",[21,25,28,31,35,38,41,44,47,50,53,56],{"slug":22,"category":5,"name":23,"updated_at":24},"analogical-prompting","Analogical Prompting","2026-08-24T02:46:37+00:00",{"slug":26,"category":5,"name":27,"updated_at":24},"automatic-prompt-optimization","Автоматическая оптимизация промптов",{"slug":29,"category":5,"name":30,"updated_at":24},"chain-of-density","Цепочка плотности (CoD)",{"slug":32,"category":5,"name":33,"updated_at":34},"chain-of-thought-prompting","Chain-of-thought-промптинг (промптинг с цепочкой рассуждений)","2026-08-24T02:46:36+00:00",{"slug":36,"category":5,"name":37,"updated_at":24},"chain-of-verification","Chain-of-Verification",{"slug":39,"category":5,"name":40,"updated_at":34},"chunking","Чанкинг (Chunking)",{"slug":42,"category":5,"name":43,"updated_at":34},"constrained-decoding","Ограниченное декодирование (Constrained Decoding)",{"slug":45,"category":5,"name":46,"updated_at":34},"context-stuffing","Переполнение контекста (Context Stuffing)",{"slug":48,"category":5,"name":49,"updated_at":34},"delimiter","Разделитель (Delimiter)",{"slug":51,"category":5,"name":52,"updated_at":24},"directional-stimulus-prompting","Directional Stimulus Prompting",{"slug":54,"category":5,"name":55,"updated_at":24},"emotion-prompting","Emotion Prompting",{"slug":57,"category":5,"name":58,"updated_at":34},"few-shot-prompting","Few-shot-промптинг (промптинг с примерами)"]