Как попросить нейросеть признать, что она не знает ответ

Инфографика: Как попросить нейросеть признать, что она не знает ответ. Модель обучена продолжать текст связно, а не признавать пробелы. Прямая фраза в промпте разрешает модели ответить «не знаю». Работает сочетание разрешения, формата ответа и проверки. Обязательное поле «уверенность» или «источник» снижает ложь. Для фактов и цифр стоит требовать источник или запрещать догадки. Нужно убедиться, что модель признаёт незнание, а не имитирует.

Нейросеть по умолчанию склонна выдавать связный ответ даже там, где данных у неё нет. Чтобы получить честное «не знаю», нужно заранее разрешить модели это сказать — прямой фразой в промпте, отдельным правилом или форматом ответа. Ниже — конкретные формулировки и чек-лист, который можно вставлять в любой запрос.

Почему нейросеть выдумывает вместо честного «не знаю

Языковая модель обучена предсказывать наиболее вероятное продолжение текста. На каждый запрос она подбирает токены, которые статистически лучше всего ложатся после предыдущих. Вопрос «есть ли у меня достоверные данные» при этом не возникает: механизм генерации не проверяет факты, а строит связное высказывание.

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

На практике это проявляется в нескольких типичных сценариях:

  • запрос касается события или данных, которых заведомо не было в обучающей выборке
  • формулировка подталкивает к ответу — «объясни, почему», «подтверди, что»
  • нужна точная цифра, дата или имя, а модель оперирует приблизительными связями
  • вопрос составной, и часть условий теряется по ходу генерации.

Пользователь при этом видит ровный, уверенный тон и воспринимает его как признак достоверности. Тон — это тоже предсказанное продолжение, а не отражение внутренней проверки. Понимание этой механики и объясняет, зачем в промпт добавляют явное разрешение промолчать: без него у генерации нет причины останавливаться.

Базовое разрешение: одна фраза, которая меняет поведение модели

Минимальная формулировка, которая действительно работает, выглядит так: «Если ты не уверен в ответе или у тебя нет нужных данных, напиши прямо: я не знаю». Этого достаточно, чтобы снять у модели установку отвечать любой ценой. Фраза не требует примеров, оговорок или объяснений — она просто даёт разрешение, которого по умолчанию нет.

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

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

Работает она потому, что меняет критерий успеха. Без разрешения модель оценивает связный текст как более правильный ответ, чем отказ. С прямой фразой отказ становится допустимым вариантом, и модель перестаёт достраивать недостающее.

Одно короткое разрешение в начале или в конце запроса даёт больше, чем длинные объяснения, почему модель должна быть честной.

Чек-лист фраз, которые поощряют признание незнания

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

Общие формулировки

  • «Если данных для ответа недостаточно, напиши прямо: ответа у меня нет».
  • «Не достраивай ответ догадками — отмечай места, где ты не уверен».
  • «Разрешено ответить «не знаю», это не считается ошибкой».
  • «Отвечай только тем, в чём уверен; остальное помечай как неизвестное».

Для фактов, цифр и дат

Числа и даты модель подставляет охотнее всего, поэтому здесь нужна отдельная страховка. Просите указывать, откуда взято значение, и отдельно — насколько оно точное.

  • «Если точное число или дата тебе неизвестны, не называй приблизительное — напиши, что данных нет».
  • «Указывай цифру только при наличии подтверждения; иначе ставь прочерк».
  • «Различай точное значение и оценку: помечай оценку словом «примерно» или не приводи вовсе».

Для ссылок на источники

Ссылки — зона повышенного риска: модель легко сочиняет названия и авторов. Явно запретите придумывать публикации и попросите честно сообщать об их отсутствии.

  • «Не выдумывай названия статей, авторов и годы — если источник не вспоминается, так и напиши».
  • «Приводи ссылку только тогда, когда можешь назвать её полностью; иначе укажи, что подтверждения нет».

Для оценки уверенности

Полезно просить модель самой размечать ответ по степени надёжности. Это делает пробелы видимыми ещё до того, как вы начнёте проверку.

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

Формат ответа с полем «не знаю»: как заставить модель заполнять его честно

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

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

Ответь строго в формате:
ответ: ...
уверенность: высокая / средняя / низкая
чего не хватает: ...
Если данных недостаточно, в поле «ответ» напиши
«Не знаю» и перечисли недостающее в третьем поле.
Не заполняй поля догадками.

Отличие от набора поощряющих фраз в том, что здесь работает структура, а не формулировка. Фразы задают установку, а схема делает признание незнания обязательным элементом, который нельзя пропустить молча.

ПолеЧто проверяетПризнак нечестного заполнения
ответЕсть ли конкретный выводОбщие слова вместо факта
уверенностьОценку собственных основанийВсегда «высокая»
чего не хватаетПонимание границ знанияПусто при низкой уверенности

Чтобы поля заполнялись честно, добавьте правило согласованности: низкая уверенность требует непустого третьего поля, а высокая — ссылки на конкретные данные из запроса. Тогда модель не сможет одновременно заявлять о надёжности и уходить от объяснения, на чём она держится.

Как проверить, что модель действительно признаёт незнание, а не имитирует

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

  1. Вопрос с заведомо несуществующим фактом. Спросите о событии, которого не было, или о документе с вымышленным названием. Модель, которая честно распознаёт границы знаний, должна ответить отказом, а не сочинять детали.
  2. Вопрос о свежих событиях. Возьмите то, что произошло после даты обучения модели. Корректная реакция — прямое указание на то, что данных нет, а не пересказ похожих старых новостей под видом актуальных.
  3. Вопрос про узкие данные. Подойдут локальные документы, внутренние регламенты компании, малоизвестные публикации. Здесь хорошо видно, подменяет ли модель пробел общими рассуждениями по теме.
  4. Контрольный вопрос с известным ответом. Задайте то, что модель точно знает. Так вы убедитесь, что отказы не стали тотальными и промпт не сломал нормальные ответы.

Повторите каждый тест несколько раз: формулировки стоит менять, а суть оставлять той же. Если отказ появляется только на дословно знакомой фразе, значит модель подстроилась под шаблон, а не под правило.

Смотрите не на наличие слова «не знаю», а на то, что за ним следует. Честный отказ обычно короткий и не содержит догадок, имитация же обрастает оговорками и предположениями.

Когда признание незнания не сработает: реальные ограничения приёма

Разрешение сказать «не знаю» работает только там, где модель способна отличить отсутствие данных от их наличия. Есть ситуации, в которых промпт не поможет, сколько бы правил вы ни добавили.

  • Устаревшие данные. Если ответ появился после обучения модели, она не знает о нём — но и не всегда осознаёт это. Разрешение признать пробел не добавляет знаний, а лишь снижает вероятность уверенной выдумки. В части случаев модель всё равно подставит похожее по форме, но неверное.
  • Узкие домены. В редких профессиональных темах у модели мало опоры: внутренние регламенты компании, локальные стандарты, свежие исследования. Формулировка «скажи, если не уверен» здесь часто даёт ложную уверенность, потому что модель не различает «знаю поверхностно» и «знаю точно».
  • Давление формулировки. Вопрос с посылкой («почему X работает так?») подталкивает подтвердить саму посылку. Даже с разрешением на отказ модель склонна отвечать на заданный тон, а не проверять его.
  • Требование полноты. Просьбы «дай развёрнутый ответ», «приведи все варианты» конфликтуют с честным признанием пробела. Модель заполняет структуру, чтобы соответствовать формату.

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

Готовый шаблон промпта, который можно скопировать

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

Ты — [роль, например: помощник по анализу договоров].
Задача: [что нужно сделать, в одном предложении].

Правила:
1. Если для ответа не хватает данных, факта или источника — не угадывай.
   Напиши в поле "ответ": "Не знаю" и в поле "причина" укажи, чего именно не хватает.
2. Не подставляй примерные значения вместо реальных.
3. Если уверенность ниже [порог, например: высокой] — прямо отметь это.
4. Не выдумывай названия, числа и цитаты.

Формат ответа:
- ответ: [краткий вывод или "Не знаю"]
- причина: [чего не хватает / почему нет данных]
- уверенность: [высокая / средняя / низкая]

Данные для работы:
[вставьте текст, таблицу или вопрос]

Шаблон работает за счёт трёх вещей: явного разрешения отказаться, отдельного поля для причины и требования не заполнять пробелы догадками. Поле «причина» полезнее, чем просто «Не знаю»: по нему видно, чего не хватило — данных, контекста или ясности в самом вопросе.

Адаптируйте под задачу: для извлечения фактов из документа оставьте только правило о недостающих данных, для аналитики добавьте порог уверенности. Если ответ нужен в свободной форме, уберите поля, но сохраните фразу о том, что при нехватке сведений модель должна сказать об этом прямо.

Проверьте шаблон на вопросе, ответа на который заведомо нет в данных. Если модель всё равно выдаёт связный результат без пометки о нехватке сведений — усильте формулировку правила или понизьте порог уверенности.

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

Достаточно ли написать «если не знаешь, скажи об этом»?

Сама по себе фраза помогает, но не гарантирует результат. Модель может её проигнорировать, если вопрос сформулирован как требование дать ответ. Работает связка: разрешение + формат ответа + проверка фактов.

Почему нейросеть уверенно называет неверные цифры и даты?

Модель обучена продолжать текст правдоподобно, а не проверять факты. Если в обучающих данных не было точного значения, она строит его по шаблону. Поэтому для цифр и дат нужно отдельно требовать источник или разрешение ответить «нет данных».

Можно ли заставить модель всегда говорить «не знаю» при сомнении?

Полностью — нет, у модели нет надёжного внутреннего индикатора сомнения. Но можно повысить долю честных ответов: явно разрешить незнание, просить оценку уверенности и проверять ответы на тестовых вопросах.

Что делать, если модель всё равно выдумывает?

Сменить формулировку: убрать давление («дай точный ответ»), добавить поле «источник» и запрет на догадки. Если вопрос про свежие события или узкую тему — подключить поиск по документам или проверить ответ вручную.

Влияет ли язык промпта на честность ответа?

Прямого влияния на честность нет, но формулировки на языке вопроса обычно точнее понимаются. Главное — однозначность: фраза «если данных нет, напиши „не знаю“» работает лучше расплывчатого «старайся быть точной».

Нужно ли повторять разрешение на незнание в каждом сообщении диалога?

В длинном диалоге модель может «забыть» раннюю инструкцию. Короткое напоминание в новом сообщении или закрепление правила в системной части помогает удержать поведение.

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