TL;DR
Синтетический респондент — это LLM, которая отвечает на вопросы «как отвечал бы конкретный человек». Исследование проверило, что в промпт класть лучше всего: демографию, черты характера, баллы тестов или прошлые ответы этого человека на другие вопросы. Лучше всего работают прошлые ответы. Описание вида «женщина, 34 года, высшее образование, доход средний» почти ничего не добавляет к предсказанию.
Главная проблема: по среднему всё выглядит прекрасно, а по людям — нет. Доля людей с каждой установкой в целом похожа на реальную. Но модель по описанию даёт «усреднённого человека»: все респонденты отвечают почти одинаково. Различия между вопросами она воспроизводит, различия между людьми — нет. Если угадывать выбор конкретного человека, портрет по демографии и характеру даёт почти случайный результат. Модель опирается на стереотип группы, а не на личность.
Суть метода: вместо описания «кто он» дай модели то, что он делал и выбирал раньше. Прошлые ответы на смежные вопросы — это лучший сигнал, который нашли. Но даже он восстанавливает лишь около четверти того, что даёт повторный опрос самого человека. Синтетический респондент не заменяет живого, он лишь грубый ориентир.
Схема метода
ЛЕСТНИЦА ИНФОРМАЦИИ (каждая ступень добавляет блок к предыдущей):
A1: только вопрос → ответ «человека вообще»
A2: + демография (16 полей) → почти без пользы
A3: + черты характера (Big Five) → почти без пользы
A4: + баллы когнитивных тестов → чуть лучше
A5: + прошлые ответы человека → самый сильный сигнал
на ДРУГИЕ вопросы
(без вопросов о том же самом)
Каждый вопрос — в новом чате, без накопленного контекста.
Пример применения
Задача: Команда подписочного сервиса (в духе «Яндекс Плюс» или «СберПрайм») хочет заранее понять, как 30 клиентов из базы отреагируют на новое предложение: «Годовая подписка за 2 990 ₽ вместо помесячной». Раньше аналитик делал персоны так: «Ты — Ирина, 34 года, Казань, менеджер, доход средний, любит путешествовать». Ответы получались гладкие и одинаковые.
Теперь у аналитика есть прошлые ответы этих клиентов из NPS-опроса и анкеты онбординга. Он кладёт в промпт именно их. Вопросы, которые прямо повторяют целевой, он убирает.
Промпт:
Ты отвечаешь на вопрос так, как ответил бы конкретный человек.
Ниже — его реальные ответы из прошлых опросов. Опирайся на них,
а не на стереотипы о его возрасте, городе или профессии.
<История_ответов>
Анкета онбординга (весна 2024):
- Как часто пользуетесь сервисом: 2–3 раза в неделю
- Почему подключились: «Скидки на такси и кино»
- Пробовали ли отключать автопродление: да, дважды
- Платите: помесячно
NPS-опрос (осень 2024):
- Вероятность рекомендовать (0–10): 6
- Что не нравится: «Цена растёт, а бонусы те же»
- Пользуетесь ли музыкой из подписки: нет
История_ответов>
<Базовые_данные>
Женщина, 34 года, Казань.
Базовые_данные>
Вопрос: Сервис предлагает годовую подписку за 2 990 ₽ вместо
помесячной оплаты. Вы оформите годовую? Ответьте «да» или «нет»
и одним предложением объясните, почему.
Отвечай от лица этого человека. Не угадывай «средний» ответ.
Результат: Модель выдаст короткий ответ «да/нет» с одной фразой обоснования. В нём должны быть видны ссылки на конкретные факты из истории: отключала автопродление, жалуется на цену. Разброс между 30 клиентами будет заметно больше, чем при портретных персонах. Это всё равно прогноз, а не факт: его нужно проверить на тех, чьё решение вы уже знаете.
Почему это работает
Слабость: по демографии и характеру модель угадывает стереотип группы. Всем «женщинам 34 лет из Казани» она даёт похожий ответ. Поэтому в статье портретные персоны дают «сжатую» картину людей: различий между вопросами много, различий между людьми мало. Метрика информированности у них около нуля.
Сильная сторона: модель хорошо видит паттерны в поведении. Если человек дважды отключал автопродление и жалуется на цену, модель логично выводит осторожность к предоплате. Это конкретный сигнал о человеке, а не о группе.
Как метод это использует: вы заменяете абстрактное описание «кто он» фактами «что он делал». Модель от них отталкивается, и ответы становятся разнообразнее. Результат: разброс по людям почти как у реальных респондентов, а предсказание конкретного выбора заметно точнее портретных вариантов.
Рычаги управления: - Больше смежных ответов → точнее сигнал. Но вопросы про тот же самый предмет убирайте, иначе проверка станет фикцией. - Свежий чат на каждый вопрос → нет накопленного эффекта, ответы не подстраиваются под предыдущие. - Демографию можно оставить, но не рассчитывайте, что она что-то добавит. В статье история шла поверх полного описания. - Явная просьба «не усредняй» — моя добавка, в статье не проверялась. Её стоит проверять на своих данных.
Шаблон промпта
Ты отвечаешь на вопрос так, как ответил бы конкретный человек.
Ниже — его реальные ответы из прошлых опросов. Опирайся на них,
а не на стереотипы о группе, к которой он относится.
<История_ответов>
{прошлые_вопросы_и_ответы_человека}
История_ответов>
<Базовые_данные>
{возраст_пол_город_и_прочее_если_есть}
Базовые_данные>
Вопрос: {целевой_вопрос}
Формат ответа: {формат_ответа}
Что подставлять:
- {прошлые_вопросы_и_ответы_человека} — реальные ответы из CRM, опросов, анкет. Без вопросов, которые измеряют то же самое, что вы предсказываете.
- {базовые_данные} — по желанию. Их польза небольшая.
- {целевой_вопрос} — вопрос в той же формулировке, что вы задали бы живому человеку.
- {формат_ответа} — «да/нет», шкала 1–5, выбор из вариантов. Чем жёстче формат, тем проще сравнивать с реальностью.
Правила использования: 1. Каждого респондента и каждый вопрос запускайте в новом чате. 2. Если вопрос ссылается на ваш прошлый ответ, повторите его явно в промпте. 3. Проверьте на людях с известным исходом, прежде чем доверять (см. адаптации).
Ограничения
⚠️ Точность низкая даже в лучшем случае: лучший вариант восстанавливает лишь около четверти сигнала, который даёт повторный опрос самого человека. Использовать как замену конкретному клиенту нельзя. Для оценки тренда по группе или для первичного отбора идей — можно.
⚠️ Портретные персоны почти бесполезны для индивидуального прогноза: демография и черты характера добавляют очень мало. «Ты — Ирина, 34, Казань…» без истории даёт красивый, но почти случайный ответ.
⚠️ Усреднение и перекос: модель выдаёт меньше разнообразия, чем реальные люди. Различия по доходу и образованию она преувеличивает, а различия по полу и возрасту искажает. Для некоторых установок (например, склонность к риску) она вообще сдвигает картину в одну сторону.
⚠️ Структура связей между установками не восстанавливается: в реальных данных одни установки связаны с другими. В синтетических данных эти связи не подтвердились. Кросс-анализ («кто склонен к А, тот и к Б») на таких данных строить нельзя.
⚠️ Один набор данных, одна модель: выводы получены на одной американской панели и одной модели. Для российских клиентов и других тематик результат нужно перепроверять.
⚠️ Группа с высоким доходом: для неё история помогла меньше всего, точность почти не выросла.
Как исследовали
Исследователи взяли панель из 845 американцев, которые дважды, с интервалом в три года, проходили опрос по 14 поведенческим искажениям: склонность к риску, предпочтение немедленной выгоды, самоуверенность, ошибки в статистике. Это дало идеальную контрольную точку: как человек сам повторяет свои ответы через время.
Для каждого человека собрали пять вариантов промпта: без информации, с демографией, с чертами характера, с когнитивными баллами, с прошлыми ответами. Модель и вопросы не менялись. Предсказывали ответы второго опроса. Ключевая деталь: в варианте с историей вырезали все вопросы, которые измеряют целевую установку, чтобы модель не списывала.
Результат оказался двойным. Среднее число искажений на человека у всех вариантов выглядело правильным: около 7 из 14, как у людей. Но у портретных вариантов разброс между людьми составлял лишь 53–67% человеческого. А точность по человеку (информированность — доля правильных угадываний в обоих классах за вычетом случайных) составляла 7–12% от повторного опроса самого человека. С историей разброс вернулся к человеческому, а точность выросла до 28%.
Удивительно, что среднее ничего не показывало: по нему все пять вариантов казались одинаково хорошими. Только индивидуальная проверка показала разницу. Для практики вывод: оценивайте синтетических респондентов не по общим цифрам, а по угадыванию конкретных людей.
Адаптации и экстраполяции
🔧 Техника: проверка на скрытом ответе → понимаете, можно ли доверять
Прежде чем применять синтетических респондентов в работе, проверьте их на своих данных. Это моя адаптация логики исследования, в статье такого шаблона нет.
Вот 20 клиентов. У каждого есть история ответов.
Ответ на вопрос {вопрос} скрыт.
Для каждого клиента отдельно предскажи ответ «да» или «нет».
Не объединяй клиентов, не ищи общих трендов.
Затем сравните с реальными ответами отдельно среди «да» и среди «нет». Если модель почти всегда говорит «да», общая точность будет высокой, но толку мало. В статье именно поэтому использовали метрику информированности (доля верных «да» + доля верных «нет» − 1). Если она около нуля, модель просто следует за самым частым ответом.
🔧 Техника: сравнение с простой базой → убирает иллюзию точности
Добавьте контрольную группу: тот же прогноз без истории, только по демографии. Если разница небольшая, значит, ваши данные не несут нужного сигнала, и персонам доверять нельзя.
Ресурсы
- Название: Behavioral History Outperforms Descriptions of the Person for LLM Synthetic Personas
- Авторы: Khashayar Pourtaheri (University of Washington), Ahmad Zareei
- Данные: панель Stango & Zinman (2023), 845 взрослых американцев, 14 поведенческих искажений
- Связанные работы: Park et al. (2024) об агентах на основе интервью, Argyle et al. (2023) о симуляции подгрупп, Bisbee et al. (2024) о сжатии вариации в персонах
