TL;DR
Вместо прямого вопроса "насколько сложна эта задача?", исследователи создали виртуальный "класс" — попросили LLM сыграть учеников разных уровней (слабый, средний, сильный, продвинутый) и решить задачи. Агрегированные ответы "класса" показали корреляцию 0.75-0.82 с реальными результатами школьников на национальных тестах США.
Прямая оценка провалилась: корреляции около нуля или отрицательные. LLM не может "со стороны" оценить сложность — она не знает чужих трудностей. Но когда модель играет роль конкретного ученика с конкретным уровнем, она генерирует реалистичные паттерны ошибок. Парадокс: модели слабее в математике (Gemma-2-9B, 72% точности) дали более точную симуляцию, чем сильные (Llama-3.3-70B, 92% точности). Сильная модель "не помнит" как ошибаться — она решает всё правильно и не может сыграть слабого ученика.
Метод: создай виртуальный класс из 50-300 "учеников", каждому задай уровень (25% слабых, 35% средних, 25% хороших, 15% отличников), дай задачу, посчитай процент правильных ответов. Добавление имён ("Артём, ученик 4 класса, средний уровень") вместо безликих ролей улучшило результат на 5-7 процентных пунктов корреляции.
Схема метода
ШАГ 1: Создай виртуальный класс
├─ Определи уровни: 25% слабых, 35% средних, 25% хороших, 15% отличников
├─ Дай каждому "ученику" имя (опционально, но улучшает результат)
└─ Размер класса: минимум 50, лучше 100-300 для стабильности
ШАГ 2: Симуляция ответов (отдельный запрос на каждого ученика)
Промпт каждому: "Ты [имя], ученик [класс], уровень [слабый/средний/хороший/отличный]. Реши задачу: [текст]"
→ Ответ ученика (A/B/C/D)
ШАГ 3: Агрегация
Посчитай процент правильных ответов → оценка сложности задачи
Если 80%+ ответили верно → лёгкая задача
Если 30%- ответили верно → сложная задача
Важно: Каждый "ученик" требует отдельного запроса. Для класса из 100 — это 100 запросов на одну задачу.
Пример применения
Задача: Ты создаёшь тест для курса по основам финансовой грамотности и хочешь понять, какие вопросы окажутся слишком сложными для новичков, а какие — слишком простыми. У тебя 5 вопросов, нужно оценить их сложность перед запуском.
Промпт:
Ты Максим, новичок в финансах, учишь основы первый месяц.
Твой уровень: базовый — понимаешь простые концепции, но сложные расчёты даются тяжело.
Ответь на вопрос, выбери один вариант (A, B, C или D). Отвечай как человек твоего уровня — не пытайся угадать или рассуждать сложно.
**Вопрос:**
Иван положил 100 000 рублей на вклад под 10% годовых. Сколько он получит через год?
A) 100 000 рублей
B) 10 000 рублей
C) 110 000 рублей
D) 120 000 рублей
Твой ответ (только буква):
Результат:
Ты повторишь этот запрос 50-100 раз, меняя имя и уровень ученика согласно пропорции: 25% совсем новичков (не понимают процент), 35% базовый уровень (как Максим), 25% уверенных (понимают базовые расчёты), 15% продвинутых (считают сложные проценты).
После сбора ответов посчитаешь: если 85% "учеников" ответили правильно — вопрос слишком лёгкий, если 20% — слишком сложный для твоей аудитории, если 50-60% — оптимальная сложность для обучающего теста.
Почему это работает
LLM не знает "чужой сложности" — она не может встать "со стороны" и оценить что трудно для человека другого уровня. Прямой вопрос "сколько процентов людей решат эту задачу?" даёт случайные ответы. Модель экстраполирует из своего опыта, но её опыт — это корпус текстов, а не реальный опыт обучения.
Ролевая игра активирует паттерны ошибок из обучающих данных. Когда модель играет "слабого ученика", она генерирует текст по паттерну "как отвечают слабые ученики" из текстов, которые видела. Это не идеальная симуляция, но достаточно близкая к реальности: корреляция 0.75-0.82 означает, что в 75-82% случаев симуляция правильно предсказывает относительную сложность.
Слабая модель лучше, чем сильная — парадокс исследования. Gemma-2-9B (точность 72% на задачах) дала корреляцию 0.69-0.74, а Llama-3.3-70B (точность 92%) — только 0.42-0.48. Причина: сильная модель решает почти все задачи правильно независимо от роли. Она "не помнит" как ошибаться. Слабая модель естественно делает ошибки — и эти ошибки похожи на ошибки реальных учеников.
Рычаги управления: - Размер класса (50/100/300) → больше класс = стабильнее результат, но больше запросов. 50 учеников даёт корреляцию 0.62, 300 — 0.69-0.74. Прирост после 100 небольшой. - Пропорция уровней (25%-35%-25%-15%) → можешь изменить под свою аудиторию. Если тестируешь для продвинутых, сделай 50% продвинутых, 30% хороших, 20% средних. - Имена vs безликие роли → имена дают +5-7 п.п. корреляции. "Максим, базовый уровень" работает лучше "Ученик №42, базовый уровень". - Выбор модели → для симуляции учеников бери модель послабее (Gemma-2-9B, Qwen3-4B), не самую сильную.
Шаблон промпта
Ты {имя}, {описание_уровня_ученика} в теме "{тема}".
{конкретизация_уровня}
Ответь на вопрос, выбери один вариант ({варианты_ответов}). Отвечай как человек твоего уровня — не пытайся угадать сложнее, чем понимаешь.
**Вопрос:**
{текст_вопроса}
{варианты_ответов_с_текстом}
Твой ответ (только буква):
Что подставлять:
- {имя} — русское имя (Максим, Анна, Артём)
- {описание_уровня_ученика} — "новичок", "изучаешь базу", "уверенный пользователь", "эксперт"
- {тема} — предмет/область знания
- {конкретизация_уровня} — 1-2 предложения что ученик знает и НЕ знает на этом уровне
- {текст_вопроса} и {варианты_ответов} — твоя задача
Пропорция уровней для сбалансированной аудитории: - 25% слабых (совсем не понимают концепцию) - 35% средних (понимают базу, путаются в деталях) - 25% хороших (уверенно решают стандартные задачи) - 15% отличников (решают всё включая сложное)
Для стабильного результата: минимум 50 "учеников", лучше 100-150.
🚀 Быстрый старт — вставь в чат:
Вот метод оценки сложности задач через симуляцию учеников. Адаптируй под мою задачу: мне нужно оценить сложность [опиши свои вопросы/тест]. Задавай вопросы чтобы настроить промпт.
[вставить шаблон выше]
LLM спросит: какая тема, какие уровни учеников, сколько "учеников" нужно, какой формат вопросов. Она возьмёт структуру шаблона и создаст промпты для каждого уровня, подскажет как агрегировать результаты.
Ограничения
⚠️ Объём работы: Метод требует много запросов — 50-300 на одну задачу. Для оценки теста из 20 вопросов с классом из 100 "учеников" = 2000 запросов. Это время и токены.
⚠️ Не для субъективных критериев: Метод работает для задач с правильным ответом (математика, факты, логика). Для креатива, стиля, мнений — не применимо. Исследование тестировало математику NAEP, не эссе.
⚠️ Слабее на алгебре: Корреляция по темам: Измерения 0.78-0.87, Геометрия 0.65-0.75, Алгебра 0.45-0.64. Чем абстрактнее тема, тем хуже работает.
⚠️ Выбор модели критичен: Сильная модель (GPT-4, Claude Opus, Llama-3.3-70B) будет плохо играть слабых учеников — она решит всё правильно независимо от роли. Нужна модель среднего уровня для твоей темы. Если тестируешь простые вопросы — подойдёт Gemma-2-9B. Для более сложных — что-то чуть сильнее.
⚠️ Не заменяет реальное тестирование: Корреляция 0.75-0.82 — это хорошо, но не идеально. Метод подходит для предварительного скрининга, не для финальной валидации. Результаты помогают отсеять явно плохие вопросы, но реальное пилотное тестирование остаётся золотым стандартом.
Как исследовали
Команда из Университета Мэриленда взяла 631 математическую задачу из национальных тестов США (NAEP) для 4-го, 8-го и 12-го классов — это задачи с известной статистикой: сколько процентов реальных школьников решили каждую задачу правильно. Это реальные данные десятков тысяч учеников по всей стране.
Сначала проверили базовые подходы: прямое предсказание ("модель, скажи сколько процентов учеников решат эту задачу?") дало корреляции около нуля или отрицательные. Текстовые эмбеддинги (Word2Vec, BERT) тоже провалились: корреляции 0.01-0.36 — случайный уровень.
Затем создали виртуальные классы: промптировали 10 open-source моделей (Gemma, Llama, Qwen разных размеров) играть учеников четырёх уровней по классификации NAEP (Below Basic, Basic, Proficient, Advanced). Для каждой задачи генерировали 50-300 ответов от "учеников" разных уровней, считали процент правильных, сравнивали с реальной статистикой.
Неожиданный результат: модели с худшей математикой (Gemma-2-9B, 72% точности) показали лучшую симуляцию (корреляция 0.69-0.74), чем супер-точные модели (Llama-3.3-70B, 92% точности, корреляция 0.42-0.48). Почему? Сильная модель решает почти всё правильно независимо от роли слабого ученика — она "забыла" как ошибаться. Слабая модель делает ошибки естественно, и эти ошибки похожи на ошибки реальных детей.
Проверили влияние идентичности: безликие "Студент №142" дали корреляцию 0.64, студенты с именами ("Максим, средний уровень") — 0.69-0.74, студенты с разнообразными именами по гендеру и этничности — 0.75-0.82. Имена помогают модели "войти в роль" — не потому что модель понимает человека, а потому что в обучающих данных имена коррелируют с паттернами речи и ошибок.
Исследовали размер класса: 50 учеников → корреляция 0.62, 100 → 0.67, 300 → 0.69-0.74. Прирост замедляется после 100 — дополнительные 200 учеников дают всего +0.02-0.07 корреляции. Это баланс точности и затрат.
Финальный трюк — ансамбль лучших моделей: усреднение трёх лучших Gemma (2-9B, 2-27B, 3-27B) дало корреляцию 0.82 для 12-го класса. Это попадает в диапазон "хорошая надёжность" по стандартам психометрики (Cicchetti, 1994 — коэффициент выше 0.75 считается приемлемым для диагностических инструментов).
Item Response Theory (IRT): финальная проверка. IRT — это математическая модель, которая разделяет "сложность задачи" и "способность ученика". Исследователи "скормили" IRT индивидуальные ответы всех симулированных учеников, извлекли оценки сложности каждой задачи, сравнили с категориями сложности NAEP (лёгкая/средняя/сложная). AUC (насколько хорошо модель отличает лёгкие задачи от сложных) = 0.78-0.90 — отличный результат.
Инсайт для практики: не бери самую сильную модель для симуляции слабых пользователей. Сильная модель слишком хороша — она не может "притвориться глупой". Бери модель, которая сама испытывает трудности на твоей теме, тогда её ошибки будут реалистичными.
Адаптации и экстраполяции
🔧 Техника: Обратная задача — оценка уровня реального пользователя
Исследование оценивало задачи через симуляцию учеников. Принцип работает в обратную сторону: оцени человека через задачи.
Сценарий: У тебя есть результаты теста реального человека (какие задачи решил, какие нет). Хочешь понять его уровень точнее, чем просто "60% правильных".
Промпт:
Передо мной результаты теста человека по [тема]. Вот задачи которые он решил ПРАВИЛЬНО:
[список задач]
Вот задачи которые он решил НЕПРАВИЛЬНО:
[список задач]
Симулируй 4 ученика разных уровней (слабый, средний, хороший, эксперт). Для каждого предскажи какие задачи из списка он решил бы правильно.
Затем сравни паттерн ошибок каждого симулированного ученика с паттерном реального человека. Какой уровень ближе всего?
Модель симулирует "ожидаемые ответы" каждого уровня, сравнивает с реальными, выдаёт: "Паттерн ошибок ближе всего к 'среднему' уровню, потому что человек справился с базовыми концепциями но ошибся в X и Y — типичные ошибки среднего уровня".
🔧 Техника: Калибровка сложности через одного "тестового ученика"
Полная симуляция 100 учеников = много токенов. Для быстрой прикидки используй одного эталонного ученика твоего целевого уровня.
Логика: Если задачу решает "средний ученик" (твоя целевая аудитория) — она подходящей сложности. Если не решает — слишком сложна. Если решает моментально без колебаний — слишком проста.
Промпт:
Ты Дмитрий, средний уровень в [тема]. [1-2 предложения что знаешь, что не знаешь].
Реши 5 задач. Для каждой покажи:
1. Твой ответ
2. Уверенность (уверен / сомневаюсь / гадаю)
3. Время раздумий (моментально / нужно подумать / долго не могу решить)
[5 задач]
Интерпретация: - "Моментально + уверен" → задача слишком лёгкая - "Подумал + сомневаюсь" → оптимальная сложность - "Долго + гадаю" → слишком сложная
Это не точная оценка, но быстрый фильтр для отсева явно неподходящих задач перед полной симуляцией.
Ресурсы
Take Out Your Calculators: Estimating the Real Difficulty of Question Items with LLM Student Simulations
Christabel Acquaye, Yi Ting Huang, Marine Carpuat, Rachel Rudinger
University of Maryland, College Park
Данные: National Assessment of Educational Progress (NAEP) — национальные тесты США по математике для 4, 8 и 12 классов, 631 задача с реальной статистикой ответов
Модели: Gemma-2 (9b, 27b), Gemma-3 (4b, 12b, 27b), Llama 3.1-8B, Llama-3.3-70B, Qwen2.5 (14B, 32B), Qwen3-4B
