gpt-4.1 (OpenAI) задали один и тот же вопрос 10 000 раз: «назови случайное число от 1 до 100». Модель отвечала через Responses API с temperature=1.0 — никакого «размышления», только сырое распределение токенов. Результат сравнили с равномерным распределением, которое дал бы честный генератор случайных чисел. Оказалось, что языковая модель ведёт себя ровно как человек — только чуть аккуратнее.
Хи-квадрат тест (χ² = 15 604, p ≈ 0) показал, что отклонение от равномерности колоссальное. Распределение получилось бугристое и очень узнаваемое. Самые популярные числа — 37 (в 4 раза чаще ожидаемого), 42 (тоже в 4 раза), 73 (в 3,4 раза). В топ-5 также попали 47, 57 и 72 — и три из них заканчиваются на 7. Это классическая человеческая привязка к «случайным на вид» числам.
Круглые числа модель избегает даже жёстче, чем люди. Ни одно кратное 10, кроме самой десятки, не было выбрано ни разу за 10 000 попыток. 10 встретилось ровно один раз. Полный отказ.
Но есть одно interesting отличие: мемное число 69. Люди его перевыбирают, а gpt-4.1 наоборот недобирает — только 29 раз вместо ожидаемых ~100 (0,29 от равномерного). Гипотеза автора: это следствие safety guardrails на этапе пре- и посттренировки — модель «выучила» умный мем (42), но отфильтровала пошлый (69). В итоге распределение — не точная копия человеческого, а его модерированная версия.
Эксперимент намеренно ограничен: только одна модель, фиксированный промпт, temperature=1.0, и это именно вызов API, а не consumer-версия ChatGPT с дополнительной логикой. Но для «зонда» данных достаточно, чтобы показать: LLM наследует человеческую предвзятость при генерации «случайных» чисел, а не ведёт себя как fair die.