Тест Тьюринга: что это, при чем тут капча Google и проходят ли его нейросети

Тест Тьюринга: что это, при чем тут капча Google и проходят ли его нейросети Полезное

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

Когда Google спрашивает «Я не робот» или просит выбрать светофоры на картинках, он проводит обратный тест Тьюринга. Это капча (CAPTCHA): здесь судья — программа, а проверяют человека, чтобы отсеять ботов. Ниже — устройство теста, отличие от капчи, история попыток, опыты с GPT-4 и GPT-4.5 и почему даже успешное прохождение не доказывает мышления.

Три понятия, которые путают

  • Тест Тьюринга (игра в имитацию) — человек-судья решает, машина или человек перед ним.
  • Обратный тест Тьюринга (капча) — программа-судья решает, человек или бот перед ней, чтобы защитить сайт от автоматических запросов.
  • Мышление, понимание, сознание — то, о чем тест напрямую ничего не говорит. Тьюринг сознательно заменил вопрос «могут ли машины мыслить?» на проверяемый вопрос о поведении в игре.

Как устроена игра в имитацию

Тьюринг описал тест в статье «Вычислительные машины и разум» (Computing Machinery and Intelligence) в философском журнале Mind. Он отталкивался от салонной игры: мужчина и женщина сидят в другой комнате, отвечают письменно, а судья по ответам пытается понять, кто из них женщина. Мужчина старается запутать судью, женщина — помочь.

Затем Тьюринг предлагает заменить одного из игроков машиной и спросить: будет ли судья ошибаться так же часто, как в игре с людьми? Позже закрепилась упрощенная трактовка из трех участников:

  1. Судья задает вопросы двум скрытым собеседникам через текстовый канал (у Тьюринга — телетайп).
  2. Один собеседник — человек, другой — программа. Оба стараются убедить судью, что человек — именно он.
  3. После разговора судья называет, кто машина. Серия таких игр дает долю ошибок судей.

Жесткого порога «прошла/не прошла» Тьюринг не ставил. Он сделал прогноз: примерно к 2000 году средний судья после пяти минут вопросов будет угадывать верно не более чем в 70% случаев. Отсюда цифра «обмануть 30% судей», которую позже ошибочно стали выдавать за критерий теста. Единого регламента и арбитра нет до сих пор: каждое соревнование задает свой протокол.

Почему Google проверяет людей: капча как обратный тест

Аббревиатура CAPTCHA расшифровывается как «полностью автоматический публичный тест Тьюринга для различения компьютеров и людей». Термин ввели исследователи Университета Карнеги — Меллона в начале 2000-х. Google развивает систему reCAPTCHA: в одних вариантах пользователь ставит галочку или решает задачу с картинками, в других сервис оценивает поведение на странице без явного задания.

Свойство Классический тест Тьюринга Капча (обратный тест)
Кто судья Человек Программа
Кого проверяют Машину Человека (или бота)
Цель Проверить, имитирует ли машина человека Отсеять автоматические запросы
Формат Свободный диалог Задача с проверяемым ответом или анализ поведения
Что значит «прошел» Судья не отличил машину от человека Программа сочла посетителя человеком

Граница аналогии: капча не оценивает интеллект. Она ищет задачу, которую легко решить человеку и дорого — боту, и по мере роста нейросетей старые виды капчи теряют смысл.

Предыстория: вопрос старше компьютеров

Рене Декарт в «Рассуждении о методе» (1637) писал, что машина может произносить слова, но не сможет осмысленно отвечать на все, что говорят в ее присутствии. Дени Дидро (1746) рассуждал, что попугая, отвечающего на любые вопросы, пришлось бы признать мыслящим, а Альфред Айер (1936) предлагал отличать сознательное существо от автомата по поведению. Тьюринг превратил эту линию в процедуру с судьей и протоколом.

Кто и когда «проходил» тест

Год Система Что произошло Почему это не окончательное «прохождение»
1966 ELIZA (Джозеф Вейценбаум) Программа-«психотерапевт» на шаблонах, часть пользователей верила в понимание Формального теста не было; эффект объясняли доверчивостью собеседников
1972 PARRY (Кеннет Колби) Имитация пациента с паранойей; психиатрам было трудно отличить стенограммы Узкая роль, судьи оценивали записи, а не вели свободный диалог
1991-2019 Премия Лебнера Ежегодные соревнования чат-ботов Главный приз за полное прохождение так и не вручили
2014 «Женя Густман» 33% судей в пятиминутных разговорах приняли бота за человека Легенда «13-летний мальчик из Одессы» оправдывала ошибки и уклонения
2022 LaMDA (Google) Инженер Google публично заявил, что модель обладает сознанием Это личное мнение одного сотрудника, а не тест Тьюринга; Google заявление отклонила

Проходят ли тест ChatGPT и современные LLM

Самые цитируемые контролируемые проверки больших языковых моделей провели исследователи Калифорнийского университета в Сан-Диего (Кэмерон Джонс и Бенджамин Берген). В опыте 2024 года с двумя участниками судьи в пятиминутных чатах принимали GPT-4 за человека примерно в 54% игр, ELIZA — в 22%, реальных людей — в 67%.

В работе 2025 года использовали классическую схему из трех участников: судья одновременно общался с человеком и моделью. GPT-4.5 с инструкцией изображать определенного молодого человека (заданная «персона») судьи назвали человеком в 73% игр, то есть чаще, чем настоящего собеседника. Та же модель без персоны и GPT-4o показали заметно худшие результаты.

Что из этого следует, а что нет:

  • В коротком текстовом разговоре современные LLM могут быть неотличимы от человека для неподготовленного судьи.
  • Результат сильно зависит от настройки: персоны, длины разговора, опыта судей, правил игры.
  • Это не доказательство мышления или сознания модели. Тест измеряет, насколько убедительна имитация, а не как она устроена внутри.

Как читать проценты: 54% — это много или мало

Если судья не отличает машину от человека, он фактически подбрасывает монету: машину назовут человеком примерно в 50% игр. Поэтому вопрос не в пороге 30%, а в том, отличается ли результат от угадывания. Для этого подходит биномиальный тест. В схеме из двух участников полезно еще сравнить результат машины с долей для настоящих людей.

from math import exp, lgamma, log


def binom_two_sided(k: int, n: int, p: float = 0.5) -> float:
    """Точный двусторонний биномиальный тест: насколько вероятен результат
    k из n, если судья просто угадывает с вероятностью p."""
    for name, v in (("k", k), ("n", n)):
        if isinstance(v, bool) or not isinstance(v, int):
            raise TypeError(f"{name} должно быть целым, получено {v!r}")
    if n <= 0 or not 0 <= k <= n:
        raise ValueError("нужно n > 0 и 0 <= k <= n")
    if not 0 < p < 1:
        raise ValueError("p должно быть строго между 0 и 1")
    # считаем в логарифмах: comb(n, i) * p**i при n > ~1000 переполняет float
    logs = [lgamma(n + 1) - lgamma(i + 1) - lgamma(n - i + 1)
            + i * log(p) + (n - i) * log(1 - p) for i in range(n + 1)]
    top = max(logs)
    probs = [exp(x - top) for x in logs]  # масштаб не важен, важны отношения
    observed = probs[k]
    # складываем все исходы, которые не вероятнее наблюдаемого
    tail = sum(q for q in probs if q <= observed * (1 + 1e-7))
    return min(1.0, tail / sum(probs))

# машину назвали человеком в k играх из n
for k, n in [(54, 100), (73, 100), (22, 100), (6, 10)]:
    pv = binom_two_sided(k, n)
    verdict = "отличается от угадывания" if pv < 0.05 else "нет оснований отличить от угадывания"
    print(f"{k:>3} из {n:<3} доля={k / n:.2f} p={pv:.2g} -> {verdict}")

Вывод на Python 3.14.7:

 54 из 100 доля=0.54 p=0.48 -> нет оснований отличить от угадывания
 73 из 100 доля=0.73 p=4.7e-06 -> отличается от угадывания
 22 из 100 доля=0.22 p=1.6e-08 -> отличается от угадывания
  6 из 10  доля=0.60 p=0.75 -> нет оснований отличить от угадывания

Как это читать. 54 из 100 — результат, который легко получить случайно: на этой выборке нет оснований считать, что судьи отличают машину от человека. Это не доказательство неразличимости: большое p говорит только, что данных не хватило для вывода, а утверждать «судьи не различают» можно по доверительному интервалу доли или тесту эквивалентности. 22 из 100 — машину уверенно распознают. 73 из 100 тоже отличается от угадывания, но в другую сторону: судьи систематически считают машину «человечнее» человека. А 6 из 10 показывает, почему маленькая выборка ничего не доказывает.

Граница примера: числа n=100 здесь условные, у реальных исследований свои объемы выборок и своя статистика (учет разных судей, повторные игры). Код показывает логику сравнения с угадыванием, а не пересчитывает конкретные работы.

Функция проверяет входы: в Python True формально целое число, а 5.0 легко получить делением. Вероятности считаются через логарифмы (lgamma): прямая формула comb(n, i) * p**i уже при n около 1100 падает с OverflowError: int too large to convert to float. Злые входы после функции, последний — большая выборка:

for args in [(True, 10), (5.0, 10), (11, 10), (5, 10, 1.0), (1000, 2000)]:
    try:
        print(binom_two_sided(*args))
    except (TypeError, ValueError) as e:
        print(type(e).__name__ + ":", e)
TypeError: k должно быть целым, получено True
TypeError: k должно быть целым, получено 5.0
ValueError: нужно n > 0 и 0 <= k <= n
ValueError: p должно быть строго между 0 и 1
1.0

Критика: Китайская комната и другие возражения

Самое известное возражение — мысленный эксперимент «Китайская комната» Джона Серла (1980). Человек, не знающий китайского, сидит в комнате с книгой правил: получает записки с иероглифами и по правилам составляет ответы. Снаружи кажется, что в комнате понимают китайский, хотя внутри только манипулируют символами.

Вывод Серла: синтаксис (правила обработки символов) не равен семантике (пониманию смысла), поэтому успешная имитация диалога не доказывает понимания. Главный контраргумент — «ответ от системы»: понимать может не человек в комнате, а система целиком, вместе с книгой правил. Спор не закрыт до сих пор, и к LLM его применяют напрямую.

Другие частые претензии к тесту:

  • Проверяет имитацию, а не интеллект. Чтобы выглядеть человеком, машине выгодно ошибаться, медлить и уходить от ответа, то есть скрывать способности.
  • Зависит от судьи. Неподготовленного судью обмануть проще, чем специалиста, знающего типичные слабости моделей.
  • Узкий канал. Только текст: тест не касается восприятия, действий в физическом мире, долгой памяти.
  • Нет единого протокола. Длительность, число судей и порог каждый раз задают заново, поэтому «прохождения» трудно сравнивать.

Чем дополняют тест Тьюринга

Подход Что проверяет Ограничение
Схемы Винограда Понимание, к чему относится местоимение, по здравому смыслу Современные модели решают большинство классических наборов
Бенчмарки знаний и рассуждений Решение задач по предметам, математике, коду Задачи могли попасть в обучающие данные
Задачи на абстракцию (ARC) Обобщение на новых головоломках по нескольким примерам Измеряет узкий вид обобщения
Оценка людьми в реальных задачах Полезность ответа для пользователя Дорого и субъективно

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

Выводы

  • Тест Тьюринга (1950) проверяет, отличит ли судья машину от человека в текстовом диалоге; о мышлении и сознании он напрямую не говорит.
  • Капча Google — обратный тест Тьюринга: судья — программа, а проверяют человека, чтобы отсеять ботов.
  • Цифра «30%» — прогноз Тьюринга, а не официальный порог; корректнее сравнивать долю ошибок судей со случайным угадыванием.
  • В опытах 2024-2025 годов GPT-4 и GPT-4.5 с персоной в коротких чатах были неотличимы от человека или признавались человеком чаще людей; LaMDA в 2022 году тест не проходила.
  • Китайская комната Серла и другие возражения показывают: убедительная имитация диалога не равна пониманию.

Где применяется / связь с практикой

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

Вопросы из этой статьи — как измерить качество модели, отличается ли результат от случайного, почему метрика может вводить в заблуждение — ежедневная работа специалиста по машинному обучению. Выборки, гипотезы, метрики и валидация моделей подробно разбирают на курсе Machine Learning. Basic.

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

Если хотите сначала посмотреть формат занятий и задать вопросы преподавателям, загляните в расписание открытых уроков Otus.

FAQ

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

Почему капча иногда не пускает живого человека?
Капча оценивает вероятность, а не доказывает, что перед ней бот. VPN, блокировщики скриптов, необычное поведение мыши или общий IP-адрес с ботами могут снизить оценку, и сервис попросит дополнительную проверку.

OTUS Журнал