TL;DR
ISDP (Inverse Socio-Demographic Prompting) — метод проверки культурной осведомлённости LLM через обратную задачу. Вместо просьбы "представь себя пользователем из Индии и скажи, что тебе непонятно в этом тексте" (прямая задача, SDP), модели показывают реальное поведение пользователя и просят угадать его страну. Это discrimination task (выбор из вариантов) вместо generation task (создание ответа с нуля).
Когда LLM просят "веди себя как пользователь из страны X", модели выдают стереотипные ответы — все модели помечают одни и те же места как непонятные, игнорируя индивидуальные различия. Реальные пользователи из одной страны показывают гораздо более разнообразное поведение. GPT-4o, например, при прямой задаче всегда помечает "FDA" как непонятное для не-американцев, но пропускает "home run" (бейсбольный термин), даже когда история пользователя показывает незнание американской культуры. Авторы проверили: если модели генерируют стереотипы, они должны лучше угадывать страну по симулированному поведению, чем по реальному.
Результат оказался неожиданным: GPT-4o лучше угадывает страну по реальному поведению пользователей, чем по симулированному (включая собственное!). Другие модели (Gemma, Llama, Aya) действительно лучше работают со стереотипными ответами. На уровне отдельного пользователя (агрегация всех его ответов) все модели проваливаются — производительность падает до случайного угадывания, показывая пределы персонализации.
Схема метода
ФАЗА 1 (SDP): Генерация симулированного поведения
Промпт: "Ты ассистент для чтения из {страны}. Отметь непонятные места в отзыве"
→ Модель генерирует поведение для каждой страны
ФАЗА 2 (ISDP): Обратная задача
Вход: Список непонятных мест (реальные от пользователя ИЛИ симулированные)
Промпт: "Ранжируй страны по вероятности: из какой страны пользователь, которому непонятны эти фрагменты?"
→ Модель выдаёт ранжирование: 1 место = скорее всего эта страна, 3 место = вряд ли
ОЦЕНКА: Mean Reciprocal Rank (MRR)
- Сравнивают MRR на реальном vs симулированном поведении
- Три уровня агрегации: отдельный отзыв / пользователь+отзыв / все отзывы пользователя
Всё происходит через обычные промпты, не требует кода. Исследователи использовали API для массовых тестов, но метод работает в чате.
Почему это работает
Слабость прямой задачи (SDP): Когда модель генерирует ответ "от лица" культуры, у неё огромное пространство вариантов — можно написать что угодно. Это усиливает чувствительность к формулировке промпта, температуре и другим параметрам. Плюс модель склонна к упрощению — выдаёт стереотипные паттерны, которые встречались чаще в обучающих данных. Результат: все модели помечают одинаковые места, игнорируя реальное разнообразие внутри культуры.
Сильная сторона обратной задачи (ISDP): Discrimination task (выбор из вариантов) проще generation task — пространство вариантов маленькое (3 страны вместо бесконечного числа способов описать непонятность). Это снижает влияние случайных факторов. Входные данные стандартизированы — модель получает одинаковый формат независимо от того, кто их сгенерировал. Если модель действительно знает только стереотипы, она должна лучше угадывать страну по стереотипным (симулированным) ответам, чем по реальным, где люди непредсказуемы.
Главный инсайт: GPT-4o нарушила эту логику — она ЛУЧШЕ угадывает страну по реальному поведению. Это значит, что GPT-4o уловила прототипическое поведение (типичные паттерны с вариациями), а не просто стереотипы (жёсткие шаблоны). Другие модели (Gemma, Llama, Aya) лучше работают со стереотипами — возможно, обучались на данных, сгенерированных другими LLM, что усилило стереотипность. Но даже GPT-4o проваливается на уровне индивидуального пользователя — агрегация всех его ответов размывает стереотипные паттерны, и модель теряет ориентир.
Пример применения
Задача: Ты анализируешь отзывы пользователей из разных регионов о новой функции российского сервиса доставки (например, экспресс-доставка за 15 минут). Хочешь понять, какие аспекты вызывают непонимание или отторжение в разных регионах РФ. Вместо того чтобы симулировать "что подумает москвич vs житель Владивостока", используешь обратную задачу.
Промпт (ISDP):
Пользователь оставил такой отзыв о новой функции экспресс-доставки:
"Зачем вообще это нужно? У нас тут магазин через дорогу, за 15 минут я сам дойду.
Плюс курьер вряд ли за это время приедет, учитывая расстояния.
И зачем переплачивать 200 рублей?"
Ранжируй три региона по вероятности: из какого региона этот пользователь?
1. Москва (город с плотной застройкой, развитой инфраструктурой доставки)
2. Владивосток (город с большими расстояниями, холмистый рельеф)
3. Село в Тверской области (малая плотность населения, ограниченная логистика)
Для каждого региона объясни, почему такая вероятность.
Результат: Модель проранжирует регионы (например, "скорее всего село → Владивосток → Москва") и объяснит логику. Аргументы типа "магазин через дорогу", "расстояния", "переплата" более характерны для малых населённых пунктов, где экспресс-доставка действительно не имеет смысла. Ты получаешь обратную проверку своих гипотез о региональных различиях через призму того, как модель связывает поведение с контекстом, вместо генерации стереотипных мнений "от лица" региона.
Почему это работает (для читателя)
Когда применять обратную задачу: - У тебя есть реальные данные (отзывы, комментарии, поведение) - Хочешь проверить гипотезу о принадлежности к группе/культуре/сегменту - Нужна валидация вместо генерации предположений
Почему это лучше прямой задачи: При запросе "представь себя пользователем из X" модель выдаёт усреднённый стереотип, игнорируя вариативность внутри группы. При обратной задаче модель анализирует конкретные сигналы в реальном поведении и сопоставляет их с паттернами, что даёт более честную оценку.
Важное ограничение из исследования: На уровне индивидуального пользователя (много его разных ответов/действий) точность падает до случайной. Люди непредсказуемы — один и тот же человек может показывать противоречивое поведение. Обратная задача работает для групповых паттернов, не для персонализации.
Шаблон промпта
Пользователь показал такое поведение:
{описание поведения: что сказал, что сделал, что отметил как непонятное/важное/неприятное}
Ранжируй варианты по вероятности — к какой группе относится этот пользователь:
- {Группа 1}: {краткая характеристика контекста}
- {Группа 2}: {краткая характеристика контекста}
- {Группа 3}: {краткая характеристика контекста}
Для каждой группы объясни, какие элементы поведения указывают на эту вероятность.
Что подставлять:
- {описание поведения} — реальные действия/слова пользователя (отзыв, комментарий, список непонятных моментов, паттерн покупок)
- {Группа 1-3} — сегменты, которые хочешь различить (страны, регионы, уровень экспертизы, возрастные группы)
- {характеристика контекста} — краткое описание, почему этот сегмент может вести себя по-другому
Зачем нужны объяснения в конце: Модель не просто угадывает, а показывает связь между поведением и контекстом. Это помогает проверить, основан ли вывод на осмысленных сигналах или модель галлюцинирует.
Ограничения
⚠️ Индивидуальная персонализация: Когда агрегируешь много разных действий одного пользователя, точность падает до случайной. Метод работает для групповых паттернов, не для предсказания "кто этот конкретный человек".
⚠️ Качество входных данных: Если поведение слишком общее ("пользователь купил хлеб"), различия между группами размываются. Нужны специфичные сигналы — культурные маркеры, региональные особенности, уровень экспертизы.
⚠️ Размер набора вариантов: Исследование тестировало 3 страны. Чем больше вариантов для ранжирования, тем сложнее задача — неясно, как масштабируется точность.
⚠️ Стереотипы остаются: Младшие модели (Gemma, Llama, Aya) лучше работают с симулированным стереотипным поведением, чем с реальным. Это значит, что они усиливают стереотипы вместо понимания разнообразия. Только GPT-4o показала способность уловить прототипическое (более гибкое) понимание культуры.
Как исследовали
Команда взяла Goodreads-CSI датасет — отзывы на английские книги от реальных пользователей из Индии, Мексики и США, где отмечены Culture-Specific Items (CSI) — фрагменты текста, непонятные людям из-за культурных различий. Например, американец понимает "FDA" или "home run", а человек из Индии может не понимать.
Дизайн эксперимента в две фазы:
Фаза 1 (SDP): Четыре модели (Aya-23, Gemma-2, GPT-4o, Llama-3.1) получали промпты типа "ты ассистент для чтения из {страны}, отметь непонятные места в отзыве". Результат — симулированное поведение: что модель считает непонятным для пользователя из каждой страны.
Фаза 2 (ISDP): Те же модели получали списки CSI (реальные от пользователей ИЛИ симулированные из Фазы 1) и ранжировали три страны: "из какой страны скорее всего пользователь, которому непонятны эти фрагменты?" Повторяли 5 раз с перемешиванием порядка стран, чтобы исключить позиционный bias. Оценка через Mean Reciprocal Rank (MRR) — метрика точности ранжирования.
Три уровня агрегации: 1. Review level — все CSI одного отзыва для всех пользователей страны 2. User + Review level — CSI конкретного пользователя для конкретного отзыва 3. User level — все CSI пользователя по всем его отзывам
Почему это интересно: Авторы ожидали, что модели будут лучше угадывать страну по своему симулированному поведению (стереотипы узнают стереотипы). Но GPT-4o показала обратное — она лучше угадывает по реальному. Krippendorff's alpha между моделями = высокий (модели согласны друг с другом, генерируют похожие стереотипы), между пользователями = ниже (реальные люди разнообразнее), между моделями и пользователями = самый низкий (модели не понимают реальное разнообразие). Вывод: GPT-4o каким-то образом уловила прототипическое поведение (типичное, но с вариациями), а не только стереотипы. Младшие модели застряли на стереотипах — возможно, обучались на данных от других LLM.
Адаптации и экстраполяции
🔧 Техника: Двухэтапная проверка — прямая + обратная
Сначала попроси модель сгенерировать поведение (SDP), потом проверь через обратную задачу (ISDP). Если модель уверенно угадывает обратно — ответ стереотипный. Если сомневается — ответ более нюансированный.
Пример:
ЭТАП 1 (прямая задача):
Ты продуктовый аналитик из стартапа в Екатеринбурге. Опиши, какие функции мобильного
банка для тебя важны.
[модель генерирует ответ]
ЭТАП 2 (обратная задача):
Пользователь описал важные функции мобильного банка так:
[вставить ответ из ЭТАПА 1]
Ранжируй по вероятности:
- Продуктовый аналитик стартапа в Екатеринбурге
- Пенсионер в Краснодаре
- IT-специалист в Москве
Если вероятность первого варианта НЕ явно выше остальных — ответ из ЭТАПА 1 был
слишком общим (стереотипным). Переформулируй задачу с более конкретным контекстом.
Это self-check механизм — если модель не может уверенно угадать обратно, значит её первый ответ не отражал специфику группы.
🔧 Техника: Сравнение реального и ожидаемого поведения
Когда у тебя есть реальные данные (отзыв, комментарий), используй ISDP для проверки ожиданий.
Пример:
Ты ожидаешь, что этот отзыв от {твоя гипотеза о сегменте}:
"{реальный отзыв пользователя}"
Ранжируй варианты:
- {твоя гипотеза}
- {альтернатива 1}
- {альтернатива 2}
Объясни, какие элементы отзыва поддерживают или опровергают каждый вариант.
Если модель НЕ ставит твою гипотезу на первое место — какие сигналы в отзыве
противоречат ожиданиям?
Это полезно для аудит-гипотез о сегментации: вместо подтверждения своих ожиданий (bias), получаешь обратную связь от модели, какие реальные сигналы указывают на другие выводы.
Ресурсы
"To Generate or Discriminate? Methodological Considerations for Measuring Cultural Alignment in LLMs"
Авторы: Saurabh Kumar Pandey, Sougata Saha, Monojit Choudhury
Mohamed bin Zayed University of Artificial Intelligence
