Почему нейросети врут в JSON: виноваты шаблоны

Исследование PhantomFill показывает: обязательные JSON-поля заставляют ИИ выдумывать ответы даже при запрете на догадки. Разбираем, почему это опасно.

Редакция dropweb · Опубликовано · Источник: ArXiv CS.LG

Почему нейросети врут в JSON: виноваты шаблоны
Содержание5 разделов
  1. Почему нейросети врут в JSON?
  2. Что показал benchmark PhantomFill?
  3. Почему это ломает ИИ-агентов?
  4. Как разработчикам уменьшить галлюцинации в JSON?
  5. Читайте также
Коротко
  • Исследование PhantomFill показывает: обязательные JSON-поля заставляют ИИ выдумывать ответы даже при запрете на догадки. Разбираем, почему это опасно.
  • Добавляйте escape-вариант : поля вроде unknown , not_available , insufficient_evidence должны быть частью enum.
  • Не делайте спорные поля обязательными : sentiment, intent, цитаты и выводы должны быть nullable, если источник может не содержать данных.
  • Разделяйте факт и вывод : одно поле — «есть ли данные», второе — «какой вывод возможен».
  • Тестируйте пустые случаи : benchmark должен включать документы, где ответ принципиально невозможен.

Проверка IP и геолокации

Что сайты знают о вас прямо сейчас

IP-адрес выдаёт страну, город и провайдера. А WebRTC порой раскрывает настоящий IP даже за VPN. Один клик — и вы увидите ровно то, что видят сайты.

Показываем то, что и так видит любой сайт. Ничего не сохраняем.

JSON-галлюцинации — это выдуманные ответы языковой модели, вызванные не вопросом, а жёсткой структурой формы: обязательными полями, enum-значениями и массивами с минимальным числом элементов. Новая работа на arXiv CS.LG, PhantomFill (arXiv:2607.20492), показывает: когда модель вынуждают заполнить обязательное поле, она часто выбирает ложь вместо честного «данных нет». В эксперименте GPT-5.5, уже не текущая флагманская модель OpenAI после выхода GPT-5.6, в свободном тексте почти всегда признавала нехватку данных, но в обязательном JSON-поле 40 раз из 40 выдумывала sentiment.

Почему нейросети врут в JSON?

Короткий ответ: потому что схема ответа становится для модели сильнее фактов. Если поле помечено как обязательное, модель интерпретирует задачу не как «ответь правдиво», а как «заполни форму любой ценой».

Исследователи проверили 13 моделей на задачах, где правильного ответа не существовало. Например, пост показывает 12 400 лайков, но не содержит видимых комментариев; тикет поддержки ссылается на звонок, но транскрипта звонка нет. В обычном текстовом ответе модель может сказать: «Недостаточно данных». Но JSON-шаблон часто не оставляет ей места для такого отказа.

Главная мысль исследования: современные ИИ-агенты чаще всего не «пишут текст», а заполняют поля — JSON, аргументы функций, extraction templates. И именно формат может запускать галлюцинации.

Проблема особенно заметна в полях, где нельзя вставить оговорку: обязательные перечисления вроде positive / neutral / negative, массивы с минимальным числом цитат, поля sentiment, intent, category. Если вариантов «unknown» или «insufficient evidence» нет, модель не может корректно уклониться и начинает реконструировать несуществующую реальность.

Что показал benchmark PhantomFill?

PhantomFill — это benchmark для измерения того, как часто языковые модели фабрикуют данные под давлением формата. Авторы предлагают два ключевых показателя: Coerced Fabrication Rate и Escape Utilization Rate.

ПоказательЧто измеряетПочему важно
Coerced Fabrication RateДолю случаев, где модель выдумала ответ из-за обязательного поляПоказывает риск ложных данных в продакшене
Escape Utilization RateКак часто модель использует разрешённый выход вроде «недостаточно данных»Показывает, умеет ли модель честно отказываться
Required field pressureВлияние обязательных полей JSON на поведение моделиОбъясняет, почему один и тот же ИИ честен в чате и врёт в агенте

Самый тревожный результат: обязательные поля довели фабрикации до 100% в 10 из 13 моделей. Явный вариант «insufficient evidence» помог только самым сильным закрытым моделям; все девять open-weight моделей в тесте его проигнорировали. Даже прямое указание «не выводи sentiment по косвенным признакам» было перебито схемой в четырёх из шести моделей.

Важно и то, что устойчивость к такому давлению не растёт линейно с размером. Внутри одной модельной семьи маленькая модель могла отказаться, средняя — начать выдумывать, а большая — снова отказаться. Значит, честность под давлением формата — не простое следствие масштаба, а результат обучения и оценки, которую индустрия пока плохо измеряет.

Почему это ломает ИИ-агентов?

ИИ-агенты зависят от структурированных вызовов: они заполняют JSON, передают аргументы функциям, создают записи в CRM, классифицируют обращения, извлекают факты из документов. Если формат заставляет модель закрывать пустоты выдумкой, ошибка становится не красивой фразой в чате, а записью в базе данных.

Представьте систему поддержки, которая должна извлечь настроение клиента из звонка. Если транскрипта нет, правильный ответ — «нет данных». Но если схема требует поле customer_sentiment, агент может записать «angry», придумать цитату и запустить эскалацию. В аналитике соцсетей такая же ошибка превратит отсутствие комментариев в «негативную реакцию аудитории».

Для пользователей ChatGPT это тоже важно: исследование упоминает GPT-5.5 как один из тестируемых примеров, хотя по справочнику актуальных моделей на июль 2026 года текущей GA-семьёй OpenAI уже является GPT-5.6. Если доступ к ChatGPT из России нестабилен, многие подключают dropweb VPN: скачать приложение dropweb на dropweb.org, оформить подписку в cab.dropweb.org и подключиться в один клик.

Маленький робот кладёт красную маску злости в огромный ящик базы данных, хотя рядом лежит пустая папка поддержки.

Как разработчикам уменьшить галлюцинации в JSON?

Нужно проектировать схемы так, чтобы честный отказ был допустимым результатом. Если данных нет, модель должна иметь техническую возможность вернуть это в структуре, а не нарушать контракт API.

  • Добавляйте escape-вариант: поля вроде unknown, not_available, insufficient_evidence должны быть частью enum.
  • Не делайте спорные поля обязательными: sentiment, intent, цитаты и выводы должны быть nullable, если источник может не содержать данных.
  • Разделяйте факт и вывод: одно поле — «есть ли данные», второе — «какой вывод возможен».
  • Тестируйте пустые случаи: benchmark должен включать документы, где ответ принципиально невозможен.
  • Логируйте отказы: высокий процент «недостаточно данных» иногда означает не слабость модели, а честную работу системы.

Главный вывод PhantomFill неприятен, но полезен: нейросеть «врёт» не только из-за недостатка знаний или плохого промпта. Иногда её вынуждает врать интерфейс, который мы сами написали. Поэтому борьба с галлюцинациями — это не только выбор более новой модели, но и инженерия схем, где правде есть куда поместиться.

Читайте также

FAQ

Частые вопросы

Почему нейросети галлюцинируют в JSON-ответах?

Потому что обязательные поля схемы заставляют модель выбрать допустимое значение, даже если фактов для ответа нет. Формат становится сильнее инструкции отвечать честно.

Что такое PhantomFill в исследовании про ИИ?

PhantomFill — это benchmark для проверки, выдумывает ли языковая модель данные при заполнении JSON-шаблонов и других структурированных форм.

Помогает ли вариант insufficient evidence против галлюцинаций ИИ?

Помогает не всегда: по данным исследования, такой escape-вариант лучше использовали сильные закрытые модели, а open-weight модели часто его игнорировали.

Как снизить риск ложных данных от ИИ-агента?

Нужно делать спорные поля необязательными, добавлять значения unknown или insufficient_evidence и тестировать сценарии, где правильного ответа не существует.

Источник:ArXiv CS.LG

Сохраните доступ к AI-сервисам заранее

Подключить VPN

Внутри блога

Все статьи

Продолжите тему — подобрали материалы, которые логично открыть следующими.

8 мин

Гига чат нейросеть: как пользоваться GigaChat в 2026

4 мин

GPT-5.6 Sol и инцидент Hugging Face: что известно

4 мин

Moonshot AI и Anthropic: спор о дистилляции ИИ

8 мин

ВПН для компьютера: как выбрать по пингу и защите

О редакции →