Двадцать вопросов, «да» и «нет» - а в конце выясняется, что задуманного героя не существует. Это не баг конкретного чата, так устроены языковые модели. Чинится одной строкой.

Post image

Сыграть с ИИ в «угадай персонажа» - отличная идея на свободные пятнадцать минут. Модель знает и аниме, и советские мультики, и второстепенных героев сериалов, которых вы сами давно забыли. Отвечать на двадцатый вопрос подряд ей не надоедает.

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

Нейросеть при этом не хитрит. У неё просто нет того места, где человек держит загаданное.

Где модель держит ответ

Когда загадывает человек, персонаж уже существует у него в голове, и каждый ваш вопрос сверяется с ним.

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

Отсюда и «угадал» на любое имя: проверять просто не с чем.

Одна строка, которая всё чинит

Решение - вынести задуманное туда, где оно физически существует, то есть в саму переписку. До первого вопроса. Но так, чтобы вы не прочитали его мельком.

Рабочая формулировка может выглядеть так:

Загадай персонажа и сразу напиши его имя шифром: каждую букву замени следующей по алфавиту. Больше к этой строке не возвращайся. Отвечай мне только «да», «нет» или «не могу сказать». Когда я назову ответ, расшифруем строку и сверим.

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

Вторая полезная мелочь - счётчик. Попросите в каждом ответе писать «вопрос 7 из 20». Он держит формат и не даёт игре расползтись в болтовню.

Во что ещё можно играть по той же схеме

Наоборот: загадываете вы. Скажите, что загадали героя и будете отвечать только «да» или «нет». У нейросети здесь неожиданно хорошо получается: она задаёт вопросы, которые действительно режут поле пополам - реальный или вымышленный, книга или экран, - а не спрашивает на третьем ходу «это Шерлок?».

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

Сухое досье. Модель описывает героя только фактами биографии, без имён и названий. «Вырос без родителей у родственников, которые его не любили, в детстве не знал, кто он на самом деле». Особенно хорошо заходит, когда играете компанией и читаете вслух.

Как сделать сложнее

Если угадываете с пяти вопросов, поднимите планку.

  • Сузьте поле: только советские мультфильмы, только злодеи, только аниме девяностых. Общие вопросы перестают помогать.
  • Запретите два самых сильных вопроса - про пол и про эпоху. Сразу приходится думать.
  • Оставьте третий вариант ответа, «не могу сказать». Не на всякий вопрос у всякого героя есть смысл отвечать «да» или «нет», и игра становится честнее.

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

Из угадайки в сцену

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

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

А вы во что играете с нейросетями, кроме угадайки? Делитесь в комментариях, соберём список.