Уровень сложности текста:
Уровень: Простой Простой
Уровень: Сложный Сложный
Уровень: Программирование Программирование
Уровень: Сложное программирование Сложное программирование

Strict Data-Only (антигалюциноген)

Галлюцинации нейросетей — это когда модель уверенно выдаёт информацию, которой у неё на самом деле нет. Нейросеть так устроена, что в любом случае будет подбирать токены (слова и фрагменты текста), чтобы сформировать хоть какой-то ответ.

Многие думают, что можно решить эту проблему, поиграв с настройками вроде «температуры» (параметра, который влияет на случайность ответов). Но это не так. Температура влияет только на то, насколько креативным будет ответ, но не отключает саму возможность генерации. Если данных нет, нейросеть всё равно будет что-то придумывать, просто более предсказуемо.

Единственный надёжный способ — это явно запретить модели придумывать. Например, добавить в промпт жёсткое условие:

Промпт:

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

Не надейтесь на настройки — явно запрещайте нейросети фантазировать. Один чёткий запрет в промпте работает лучше всех технических ухищрений.

Нюансы:

  • Даже с запретом возможны галлюцинации — в сложных случаях, где граница между "знанием" и "незнанием" размыта
  • Формулировка имеет значение — например, "Если информация недостоверна..." работает хуже, чем "Если точных данных нет..."
  • Модели по-разному реагируют на запреты — некоторые версии GPT, например, могут начать оправдываться вместо чёткого "нет данных"
  • Есть компромисс между безопасностью и полезностью — слишком жёсткие ограничения могут заставить модель отказываться от ответов, которые она могла бы дать
  • Контекст влияет на результат — в длинной «беседе» модель может "забыть" первоначальный запрет, поэтому повторяйте его в критичных промптах

Для баланса можно использовать мягкую формулировку: "Если точных данных нет, ответь максимально осторожно и укажи на возможную неточность". Это уменьшит галлюцинации, не превращая диалог в череду "нет данных".