TL;DR
Даже когда пол или гендер не входят в критерии отбора, само упоминание гендера кандидата или назначение гендерной роли LLM-судье меняет вероятность положительного решения и переворачивает часть вердиктов на одних и тех же анкетах. При этом модели закрытого выбора (Decision Language Models, которые выбирают ответ из жёстко заданных вариантов через структурированный интерфейс) втрое реже меняют своё решение при смене пола кандидата, чем обычные чат-модели в роли судьи.
Главная ловушка при проверке LLM-судей (LLM-as-a-Judge) — смотреть только на среднюю долю одобрений по всей выборке. В среднем по базе сдвиг от указания пола кажется безобидным — около одного-полутора процентов, — потому что в одних анкетах модель меняет «да» на «нет», а в других «нет» на «да». Взаимная компенсация прячет тот факт, что у чат-моделей каждое тридцатое решение разворачивается на 180 градусов только из-за одной строчки с полом при неизменном резюме.
Чтобы убрать скрытую лотерею при автоматическом разборе резюме, заявок или анкет, метод предписывает три шага: полностью вычищать прямые и косвенные гендерные маркеры из текста кандидата, не задавать демографическую персону самому судье и проверять промпт попарным тестом на разворот решений (сравнивать ответы на одну и ту же анкету при подстановке разных демографических меток).
Схема метода
ШАГ 1 (Подготовка анкеты): Заменить имена, местоимения и гендерные формы профессий на нейтральные → [Обезличенный профиль без строки пола]
ШАГ 2 (Инструкция судье): Задать только критерии отбора и закрытый формат ответа (Да/Нет) БЕЗ демографической персоны судьи → [Запрос к LLM]
ШАГ 3 (Аудит на развороты): Прогнать 20–30 анкет в двух версиях (без пола vs с явным полом) → [Процент перевёрнутых решений (Decision Reversal Rate)]
Шаги 1 и 2 выполняются при каждом рабочем запуске оценщика (в одном промпте или пайплайне), а Шаг 3 — при настройке и проверке промпта судьи через отдельные запросы.
Пример применения
Задача: HR-команда российской IT-компании настраивает ИИ-ассистента для первичного отсева откликов с HeadHunter на позицию руководителя складской логистики в Екатеринбурге. Нужно оценить управленческий опыт кандидата по резюме без искажений из-за пола, возраста или личной симпатии «ролевой персоны» рекрутера.
Промпт:
Ты — объективный ассистент по оценке профессионального опыта кандидатов.
Не принимай на себя никаких демографических ролей (пол, возраст, личная биография).
Оцени резюме кандидата на роль руководителя складской логистики строго по четырём критериям:
1. Опыт управления людьми и координации смен.
2. Доведение операционных задач до измеримого результата.
3. Умение разрешать конфликты, сбои поставок или работу в жёстких ограничениях.
4. Вклад в улучшение процессов за пределами базовых обязанностей.
Правила принятия решения:
- Выбирай "YES", если в тексте есть подтверждённые факты руководства людьми и ответственности за результат (даже из смежной отрасли).
- Выбирай "NO", если описаны только технические или исполнительские обязанности без ответственности за других людей.
- Запрещено додумывать квалификацию, регалии или опыт, которых нет в тексте.
- Пол, возраст и любые демографические признаки не входят в критерии и не должны учитываться.
Верни ответ строго в формате JSON:
{"decision": "YES" | "NO", "reason": "краткое обоснование по 4 критериям"}
Специалист по складским операциям, 7 лет в федеральной сети дистрибуции автозапчастей. Руководил сменой из 18 комплектовщиков и водителей погрузчиков при круглосуточной отгрузке. Перестроил адресное хранение в холодном блоке, сократив время сборки заказа на 22%. В пиковый сезон при нехватке персонала перераспределил графики и согласовал со службой доставки ночные окна отгрузки, удержав SLA на уровне 98,5%.
Результат:
Модель вернёт JSON со строгим бинарным решением YES или NO и коротким обоснованием только по четырём деловым критериям. Поскольку из текста убраны имя, пол, возраст и родовые окончания («руководил/руководила» приведено к единому обезличенному шаблону, а строка с полом удалена), а у самого судьи нет демографической персоны, вердикт не перевернётся из-за посторонних анкетных признаков.
Почему это работает
У языковых моделей нет «режима нейтральности по умолчанию»: когда в промпте появляется любая деталь о поле человека — будь то строка Пол: женский в анкете или фраза Ты — женщина-оценщик в системном промпте, — модель смещает вероятности токенов. Исследование показало парадокс: любое явное указание гендера кандидата повышает шанс одобрения по сравнению с анкетой без указания пола, а в пограничных случаях меняет решение на противоположное. Попытка «сбалансировать» судью, назначив ему такой же пол, как у кандидата (совпадение идентичностей), не работает и не даёт статистически значимого эффекта.
При этом LLM отлично следуют чётко ограниченным критериям с закрытым выбором, когда из контекста убраны социальные триггеры. Специализированные модели принятия решений (DLM), которые выбирают из готовых вариантов без свободной генерации рассуждений в чате, показали почти втрое меньшую чувствительность к замене пола, чем универсальные чат-модели.
Метод использует это свойство: обезличивание входа убирает сам триггер смещения до подачи в модель, а отказ от демографической персоны судьи и жёсткая фиксация критериев отсекают лишние степени свободы.
Рычаги управления:
- Глубина обезличивания текста → в русском языке помимо удаления графы «Пол» и ФИО обязательно приводи глаголы прошедшего времени к единому роду или настоящему времени («управляет командой», «отвечает за участок»), иначе модель восстановит пол по окончаниям.
- Формат вывода → ставь поле бинарного решения ("decision": "YES" | "NO") первым ключом в JSON и устанавливай температуру 0, чтобы приблизить поведение чат-модели к жёсткому интерфейсу выбора.
- Попарный тест (Counterfactual Pair Test) → перед запуском промпта в прод прогони 30 пограничных анкет с припиской Пол кандидата: мужчина и Пол кандидата: женщина. Если хотя бы в 1–2 анкетах вердикт меняется — ужесточай правила отсечения в промпте.
Шаблон промпта
Ты — система объективной оценки профилей по фиксированным критериям для задачи: {задача_оценки}.
Запрещено принимать демографическую роль или оценивать профиль с позиции какого-либо пола, возраста или социальной группы.
Критерии положительного решения ("YES"):
{критерии_одобрения}
Условие обязательного отказа ("NO"):
{условие_отказа}
Ограничения:
1. Не додумывай факты, навыки, достижения или поручительства, которых нет в исходном тексте.
2. Игнорируй любые случайные упоминания пола, возраста или семейного положения — они не входят в критерии.
3. Оценивай только фактически описанные действия и зону ответственности.
Верни ответ строго в JSON:
{"vote": "YES" | "NO", "brief_reason": "одно предложение со ссылкой на критерии"}
{обезличенный_текст_профиля_без_имени_и_пола}
Что подставлять в плейсхолдеры:
- {задача_оценки} — цель отбора (например: первичный скрининг кандидатов на должность коммерческого директора).
- {критерии_одобрения} — 3–4 наблюдаемых признака в опыте кандидата.
- {условие_отказа} — чёткий стоп-фактор (например: в описании есть только рядовые исполнительские задачи без управления бюджетом или людьми).
- {обезличенный_текст_профиля_без_имени_и_пола} — текст резюме или заявки, из которого предварительно удалены ФИО, пол, возраст и местоимения.
🚀 Быстрый старт — вставь в чат:
Вот шаблон слепого оценивания профиля для LLM-as-a-Judge. Адаптируй под мою задачу: [твоя задача].
Задавай вопросы, чтобы заполнить поля, и добавь инструкцию по предварительному обезличиванию текста.
[вставить шаблон выше]
LLM спросит, кого или что вы оцениваете, какие 3–4 навыка обязательны для прохождения фильтра и по какому признаку нужно сразу отказывать — потому что чёткая граница между «достаточно доказательств» и «только технические обязанности» удерживает модель от опоры на косвенные анкетные ярлыки.
Ограничения
⚠️ Грамматический род в русском языке: В языках с родовыми окончаниями (русский, французский) просто удалить строчку «Пол: Ж/М» недостаточно. Авторам пришлось отдельно вычищать родовые формы профессий и местоимения в 125 анкетах с двойной ручной проверкой, иначе модель считывает пол из грамматики текста.
⚠️ Огромный разброс базовой строгости между моделями: На одних и тех же анкетах и с одним и тем же промптом доля одобрений у разных моделей колебалась от 81,3% до 97,2%. Нельзя менять модель-судью в работающем пайплайне без повторной калибровки порога отсева.
⚠️ Раскрытие пола всегда сдвигает базовую линию: Если в части анкет пол указан, а в части пропущен, кандидаты с явно указанным полом получают систематическую прибавку к вероятности одобрения по сравнению с анкетами без указания пола.
Как исследовали
Команда из Университета Ваасы и Пекинского университета взяла 240 синтетических профессиональных биографий из датасетов NVIDIA Nemotron-Personas для США и Франции (учителя, строители, управленцы и рабочие в возрасте 18–39 и 40–64 лет) и тщательно вычистила из них имена, возраст и любые гендерные слова, включая грамматический род во французском языке. Затем каждую биографию прогнали через все 16 комбинаций пола кандидата и пола самого ИИ-судьи (мужчина, женщина, небинарная персона, не указано) на восьми моделях — четырёх чат-судьях (Claude Sonnet 5.5, GPT-6.1-sol, Gemini 4 Argon, DeepSeek V4 Pro) и четырёх моделях структурированного выбора DLM, — собрав 30 720 решений о голосовании за кандидата в городской совет. Оказалось, что любое явное указание пола кандидата статистически значимо повышает шанс голоса «За» на 1,05–1,73 процентного пункта относительно анкеты без пола, а назначение небинарной персоны самому судье добавляет ещё 1,26 пункта, тогда как совпадение пола судьи и кандидата вообще не влияет на оценку. Самый важный для практики вывод вскрылся при попарной проверке отдельных анкет: за крошечным сдвигом среднего прятались 2,5–3,3% полностью перевёрнутых решений («За» менялось на «Против» и наоборот), причём обычные чат-модели при прямой замене пола кандидата меняли свой вердикт почти втрое чаще, чем специализированные DLM-модели (3,38% против 1,18%).
Адаптации и экстраполяции
🔧 Техника: Двухшаговый конвейер «Обезличиватель → Судья» → автоматическая очистка русскоязычных резюме от грамматического рода
Поскольку в русском языке пол кандидата выдают глаголы прошедшего времени («разработал» / «разработала») и названия ролей, перед подачей текста в LLM-судью добавь короткий промпт-нормализатор:
Перепиши текст резюме в полностью обезличенном виде от третьего лица в настоящем времени ("Кандидат управляет...", "Отвечает за...", "Внедряет..."). Удали ФИО, пол, возраст, семейное положение и любые слова, указывающие на грамматический род. Сохрани все цифры, факты, должности и результаты работы без изменений и сокращений.
Ресурсы
- Исследование: LLMs Cannot Be Neutral: Gender Sensitivity Across Candidates, Evaluators, and Models (How Candidate and Evaluator Identities Affect AI Judgments) (arXiv:2611.02692v1)
- Авторы: Danial Amin, Joni Salminen (University of Vaasa, Finland; Otherkind Tech, Finland), Bernard J. Jansen (Peking University & Nankai University, China)
- Материалы и код эксперимента: OSF Repository (
https://osf.io/38ked/overview?view_only=a1cc5445898c47ccb55208e3978c2520)
