TL;DR
Если попросить модель не выбрать один ответ, а дать вероятность каждого варианта для конкретного человека (пол, возраст, доход, регион, отношение к теме), а потом усреднить эти вероятности по сотням таких "персон" — итоговый прогноз для целой группы получается неожиданно точным. Модель как бы работает сжатым слепком общества: она не помнит статистику голосований, но впитала из текстов интернета связи между социальным профилем и взглядами.
Проблема в деталях: если спросить у модели прямой ответ ("за кого проголосует этот человек?"), маленькие модели категорично режут — говорят "точно не пойдёт голосовать" (вероятность 0%) и из-за этого вообще не дают мнения о предпочтениях. Крупные модели никогда не ставят абсолютный ноль — они держат неопределённость, и именно это делает их точнее на уровне группы.
Метод — soft voting: для каждой персоны берём не финальный выбор, а полное распределение вероятностей по всем вариантам, умножаем на вероятность "участия" (например, придёт ли человек голосовать вообще), и усредняем по множеству разных профилей. Шум на уровне одного "синтетического человека" гасится, а системная закономерность (связь демографии и предпочтений) остаётся видимой на уровне группы.
Схема метода
ШАГ 1: Описать персону текстом (пол, возраст, регион, доход, отношение к теме) → текстовый промпт-персона
ШАГ 2: Попросить модель вернуть вероятности по ВСЕМ вариантам ответа, а не один выбор → распределение (%)
ШАГ 3: Повторить с десятками-сотнями разных персон, КАЖДЫЙ запрос отдельный, без памяти о предыдущих → набор распределений
ШАГ 4: Умножить вероятность "участия/интереса" на вероятность каждого варианта, сложить и нормализовать по всем персонам → итоговый прогноз группы
Шаг 1-2 можно объединить в один запрос. Шаг 3-4 — либо десятки отдельных запросов, либо один промпт с просьбой сгенерировать таблицу сразу по N персонам.
Пример применения
Задача: Маркетолог мобильного оператора хочет понять, как разные сегменты аудитории отнесутся к новому тарифу с урезанным интернетом, но без звонков в колл-центр и без реального опроса.
Промпт:
Ты — участник опроса. Вот твой профиль:
Женщина, 34 года, высшее образование, живёт в Краснодаре,
работает по найму, доход семьи 60-80 тыс. руб/мес,
среднее отношение к своему уровню жизни, интересуется новостями умеренно.
Тебе предлагают новый тариф мобильной связи: безлимитный интернет,
но без включённых минут разговора, стоимость 450 руб/мес.
Оцени в процентах вероятность каждого твоего действия:
- Подключу тариф сразу: __%
- Рассмотрю, но не сразу: __%
- Не буду подключать: __%
Верни только числа, сумма = 100%.
Повторить с 15-20 разными профилями (студент, пенсионер, предприниматель, мама в декрете и т.д.), затем попросить модель свести все ответы в таблицу и посчитать средневзвешенный процент.
Результат: Таблица с вероятностями по каждому сегменту + агрегированная оценка, какая доля аудитории вероятно откликнется на тариф. Это не заменяет реальный опрос, но даёт быструю прикидку "куда дует ветер" до того, как тратить деньги на исследование.
Почему это работает
Если спросить модель напрямую "как поступит этот человек" — ответ шумный: модель выбирает один "типичный" вариант, который может не отражать реальный разброс мнений в этой группе.
Модель хорошо умеет другое — она хранит статистические связи между социальными характеристиками и взглядами, потому что видела миллионы текстов, где такие связи проявлялись. Это её сильная сторона — не точность на одном человеке, а чувство закономерности на уровне популяции.
Метод обходит слабость, заставляя модель каждый раз выдавать не решение, а распределение вероятностей, и потом усредняя по множеству профилей. Шум одного ответа гасится, а системная закономерность (связь дохода/возраста/региона с предпочтением) проявляется в среднем.
Рычаги управления: - Количество персон → больше персон = точнее прогноз группы, но больше запросов - Детализация профиля → добавление лишних деталей (не только демография, но и отношение к теме) улучшает точность, но рискует зашумить, если деталей слишком много - Формат вывода (вероятности, а не выбор) → без этого метод не работает — если попросить модель выбрать один ответ, эффект усреднения пропадает - Модель → крупные модели (например, топовые версии) держат неопределённость лучше, мелкие/бюджетные скатываются к категоричным "0% или 100%" и теряют нюанс
Шаблон промпта
Ты — участник опроса. Вот твой профиль:
{демографическое описание: пол, возраст, регион, доход, образование,
отношение к теме исследования}
Вопрос: {вопрос про продукт/сообщение/решение}
Оцени в процентах вероятность каждого варианта:
- {вариант 1}: __%
- {вариант 2}: __%
- {вариант 3}: __%
Сумма должна быть 100%. Верни только цифры.
После получения ответов от нескольких персон — отдельным запросом:
Вот ответы {N} персон на вопрос про {тема}: {вставить все ответы}.
Посчитай средневзвешенный процент по каждому варианту
и укажи, какие сегменты (по возрасту/доходу/региону)
дают наиболее отличающиеся ответы.
🚀 Быстрый старт — вставь в чат:
Вот шаблон демографической симуляции аудитории. Адаптируй под мою задачу: {твоя задача}.
Задавай вопросы, чтобы заполнить поля.
[вставить шаблон выше]
LLM спросит, какие сегменты аудитории тебе важны и какой вопрос ты хочешь протестировать — потому что без чётких персон и чёткого вопроса метод не даёт разброса вероятностей, а скатывается к одному "усреднённому" ответу.
Ограничения
⚠️ Не работает для одного человека: прогноз надёжен только на уровне группы (десятки-сотни персон). Ответ для одной конкретной персоны шумный и может быть неточным.
⚠️ Слабые модели теряют нюанс: дешёвые/маленькие модели часто категорично ставят 0% там, где нужна неопределённость — из-за этого весь прогноз смещается к "усреднённому мнению", а не отражает реальный разброс.
⚠️ Стереотипы вместо реальных мнений: модель воспроизводит то, что она "выучила" о группе из текстов интернета — если группа слабо представлена в обучающих данных (редкие профессии, маленькие города, нестандартные взгляды), прогноз будет искажён общими стереотипами.
⚠️ Хуже работает не на английском: для тем и языков, где в интернете меньше текстов (не английский, узкая тема), связи между демографией и мнением восстанавливаются менее точно.
Ресурсы
Large Language Models as Implicit Sociological Models: Reconstructing Voting Behaviour from Sociodemographic Profiles. Roman Neruda, Martin Bakoš, Josef Šlerka, Vít Tuček, Petra Vidnerová, Gabriela Kadlecová. Institute of Computer Science, Czech Academy of Sciences; Faculty of Arts, Charles University, Prague.
