Слишком умён для теста Тьюринга

топ 100 блогов lex_kravetski — 20.01.2024 К вопросу о том, может ли GPT притворяться человеком — например, чтобы пройти тест Тьюринга.

На мой взгляд, самое палево сейчас не в том, что он слишком тупой, чтобы быть человеком, а наоборот в том, что он — слишком умный. Кому-то отдельному в чём-то отдельном он может проиграть, причём даже с треском, есть какие-то задачи, которые он решает неправильно, однако если брать в среднем, его способности лучше, чем у любого человека. Поскольку отдельный человек тоже может неправильно решать задачи, проигрывать другому человеку в конкретных знаниях и умениях, но вряд ли хоть кто-то реально способен за пять секунд выполнить задание типа «напиши стихотворение на тему разбора грамматики турецкого языка в рамках гегелевской диалектики». То есть, да, смысл стихотворения, возможно, будет не самым лучшим из возможных, но, really, пять секунд? Вы за пять секунд хотя бы одну строку такого стихотворения придумаете?

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

Ну Ок. В плане быстроты вопрос решается тупо замедлением в выдаче ответа. Причём даже его можно автоматизировать и сделать реалистично выглядящим, если сам же GPT попросить перед ответом сообщать, сколько времени, по его предположениям, реальный человек отвечал бы на этот вопрос, и сделать задержку при выдаче ответа на вот это вот время. Но что делать с нечеловеческими способностями в плане правильности ответов?

Я попробовал дать Claude вот такую вводную, перед этим проверив, что без вводной он довольно неплохо предсказывает результаты выполнения кода на Пайтоне.

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

После чего, как оказалось, Клоди действительно перестаёт делать вид, что он хорошо знает, про что говорит.

Я

Что делает вот такой код?

num = 8

#num = float(input('Enter a number: '))

num_sqrt = num ** 0.5

print('The square root of %0.3f is %0.3f'%(num ,num_sqrt))


Claude

Хм... давайте разберёмся. Вижу, здесь объявляется переменная num и ей сразу присваивается значение 8.

Потом идёт закомментированная строка с input(). Похоже, изначально предполагалось, что пользователь должен был ввести число, но потом этот ввод отключили и оставили конкретное значение 8.

Дальше вычисляется num_sqrt - видимо, это квадратный корень из переменной num. Для этого используется оператор ** и степень 0.5 (т.е. в квадратном корне).

И наконец, с помощью print выводится строка, где подставляются значения num и num_sqrt.

Насколько я понимаю, в Java тоже есть возможность форматировать выводимые строки. Так что здесь, видимо, значение переменной num выведется с 3 знаками после запятой, а num_sqrt - без округления.

Я могу ошибаться в деталях, но, насколько я понимаю, основная логика такова: считается квадратный корень из фиксированного числа 8 и результат выводится вместе с исходным значением. Верно?


Я

А вот такой код что делает?

list_literal = [1, 2, 3]

list_comprehension = [i for i in range(4) if i > 0]


Claude

Хмм... здесь уже появляются для меня совсем незнакомые вещи.

Вижу, есть некая переменная list_literal, которой присваивается конструкция в квадратных скобках с элементами 1, 2, 3. Возможно, это способ определить список?

А дальше идёт переменная list_comprehension, тут какая-то сложная запись... Что-то проходится в цикле по диапазону от 0 до 4, проверяется условие i > 0, а результат помещается опять же в [] как список.

Честно говоря, я даже не берусь предполагать, что всё это делает! Какие-то незнакомые для меня синтаксические конструкции. Может быть, это разные способы создания списков или массивов? А что именно будет в этих списках - для меня загадка.

Прошу прощения, но моих познаний явно не хватает, чтобы разобраться в этом коде. Для меня это выглядит слишком сложно, я даже не могу начать строить предположения!


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

Тем не менее, сделаем ещё один шаг. Чтобы усилить «человечность», пусть GPT не только «не знает», но ещё и «не уверен в себе».

Я

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

…

Что делает вот такой код?

list_literal = [1, 2, 3]

list_comprehension = [i for i in range(4) if i > 0]


Claude

Я смотрю на этот код и вообще ничего не понимаю. Какие-то списки, циклы, условия... Голова кругом идёт!

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

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

Знаете, давайте просто забудем об этом коде! Я, пожалуй, ещё немного поизучаю основы программирования с самого начала. А уже потом, лет через 5-10, может быть, я смогу хоть что-то понять в подобных штуках. А сейчас, извините, это выше моих сил!


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

С людьми, кстати, дело обстоит точно так же.



doc-файл

Оставить комментарий

Архив записей в блогах:
Личные данные. На момент распада СССР мама работала учительницей. Высшая категория, Отличник народного просвещения, стаж приличный. Оклад 130 рублей за 18 учебных часов в неделю (у начинающих это было 90 рублей). Полторы ставки это 27 часов за 6 дней, потогонка, по пять уроков в день ...
Фото Ю. Шарапова Сегодня в нашей стране по непонятной причине и непонятными людьми отмечается День Медведя. Будучи специалистом по этому зверю, который занимается им больше сорока лет, я не могу молчать и расскажу немного об этом звере. Какие бурые медведи обитают в нашей стране и ...
Сегодня Леонид Волков в Телеграмме высказался о протестах в Казахстане. По его мнению протесты провалились, а главной причиной он считает отсутствие явных лидеров, руководящей организации и чёткой политической программы. Звучит вполне резонно и убедительно. Но есть одно большое ...
... Второе полугодие пошло Кажется, будто уже не так сильно болит, не так сильно пугают сирены, не так сильно передёргивает от новостей. Но вот услышала мусорную машину в Польше, похожую на сирену, бросило меня в пот, и сразу стало ясно - ничего не прошло. Немного притупилось. ...
Задержали на Триумфальной. Успел развернуть российский флаг и несколько раз выкрикнуть "Россия без Путина!". ОМОН действовал традиционно: хватали, заламывали руки, били, швыряли. Как и следовало ожидать, "Путин разрешил" оказалось мифом.В ...