JSON — не тарабарщина, а контракт с нейросетью
Если вы просите ИИ выдать вам список, а он выдаёт поэму в прозе — вы просто не сказали ему на каком языке выдавать.
Здесь работает эволюционный принцип: любой организм (и нейросеть — не исключение) стремится к минимуму затрат. Если вы даёте нечёткий запрос, ИИ выбирает самый вероятный, средний по длине ответ — тот, на котором его тренировали. А тренировали его на миллиардах текстов, где люди объясняют, а не выдают сухие данные. Поэтому по умолчанию он — болтливый экстраверт.
Как это исправить? Не заклинаниями, а контрактом. Вы говорите: «Ответь мне в формате JSON». Для ИИ это не магия, это — переключение режима с «литератор» на «бухгалтер». Он вдруг понимает, что от него требуют не красоты слога, а строгости полей. И знаете что? Он выдаёт ровно то, что вы просите, без «как вы и просили» и «надеюсь, это поможет».
Я проверял на себе: прошу у ChatGPT «план обеда на неделю с КБЖУ» в свободной форме — получаю три страницы рассуждений о пользе брокколи. Прошу тот же план, но с условием: {"day": "…", "meals": [{"name":"…", "kcal": …}], "total_protein": …}\ — и вуаля. Вся вода испаряется, остаётся сухой остаток данных. Я копирую это в любой парсер (бесплатный онлайн-конвертер JSON в таблицу) — и у меня Excel-файл за 5 секунд.
Главное — три правила, без шаманства: 1. В конце промпта пишите строго: «Ответь ТОЛЬКО в JSON. Без пояснений». 2. Сами продиктуйте структуру: какие ключи, что в них — строки, числа, массивы. 3. Добавьте запрет: «Никакого текста вне JSON». ИИ послушается, потому что это для него проще, чем генерировать длинный ответ.
Сравните: ❌ «Составь список покупок» → «1. Молоко (2 л), 2. Хлеб (лучше ржаной)…» — и вы это не скопируете в приложение. ✅ «Составь список из 10 продуктов. JSON: [{"name":"…", "qty":"…", "category":"…"}]» — и вы получаете массив, который можно отправить в API доставки.
Пример рабочего промпта (возьмите и пользуйтесь): > «Ты — ассистент. Сделай график полива комнатных растений на 7 дней. Для каждого дня укажи 3 растения и объём воды в мл. Ответь ТОЛЬКО JSON: {"week": [{"day":1, "plants":[{"name":"…", "ml":…}, ...]}]}. Без вступлений и итогов. Только JSON.»
Почему это работает? Потому что нейросеть оценивает длину ответа. Чем короче — тем меньше риска ошибиться. И она с радостью выдаст вам сухой код, а не эссе.
Итог: просить JSON — это не стать программистом. Это просто сказать ИИ: «заткнись и дай факты». И он заткнётся. Рациональность побеждает магию.
А вы всё ещё вырезаете ножницами данные из ответов? Или уже перешли на структуру?