TL;DR
Learner Simulation — техника персонализации контента через симуляцию целевой аудитории. LLM сначала входит в роль конкретного человека (с его уровнем знаний, мотивацией, болями), пробует работать с вашим материалом, показывает где спотыкается. Потом на основе этой "репетиции" адаптирует контент под профиль. В конце — оценивает качество адаптации. Три агента в одном workflow: learner (симулирует получателя) → teacher (адаптирует контент) → evaluator (проверяет качество).
Когда мы создаём материал "для всех", получается материал ни для кого конкретно. LLM генерирует усреднённый контент, который может быть либо слишком простым для одних, либо слишком сложным для других. Мотивационные факторы игнорируются — хотя именно они определяют, дочитает ли человек до конца. Классический промпт "сделай презентацию для сотрудников" даёт формальный output без привязки к реальным людям с их уровнем погружения в тему и готовностью разбираться.
Метод решает это через предварительную симуляцию: LLM сначала примеряет роль конкретного человека из целевой аудитории, пытается использовать ваш материал, фиксирует трудности и эмоциональные реакции. Эта "виртуальная репетиция" даёт точки для адаптации — где упростить, где добавить мотивации, где дать больше контекста. Evaluator проверяет, что адаптация реально соответствует профилю, а не просто добавляет формальных фраз "для мотивации".
Схема метода
ШАГ 1 (Learner Agent): Симуляция получателя
→ LLM входит в роль человека с заданным профилем
→ Пытается решить задачу / понять материал
→ Выдаёт: где застрял, что непонятно, эмоциональные реакции
ШАГ 2 (Teacher Agent): Адаптация контента
→ Анализирует вывод learner-агента
→ Адаптирует материал: упрощает/усложняет, добавляет мотивацию, контекст
→ Выдаёт: персонализированный материал с пояснениями/подсказками
ШАГ 3 (Evaluator Agent): Проверка качества
→ Оценивает адаптированный материал по критериям
→ Выдаёт: оценки + конкретная обратная связь
Важно: Можно выполнить все три шага в одном промпте через XML-структуру, или последовательно в трёх отдельных запросах.
Пример применения
Задача: Создать онбординг по новой CRM для отдела продаж. В команде — опытный руководитель (10 лет в продажах, много систем видел, не любит воду) и два джуниора (первая работа, мотивированы, но в CRM вообще не разбираются).
Промпт для джуниора (низкие знания, высокая мотивация):
ШАГ 1 — LEARNER AGENT
Ты джуниор-менеджер, первая работа в продажах. Впервые видишь CRM-систему.
Очень хочешь разобраться и показать себя, но боишься выглядеть глупо перед коллегами.
Вот инструкция по работе с CRM:
[вставить исходный текст инструкции]
Попробуй прочитать инструкцию и описать:
- Где конкретно не понял? Какие термины непонятны?
- Что вызывает страх или неуверенность?
- Где хочется больше примеров или пошаговых действий?
ШАГ 2 — TEACHER AGENT
Теперь ты опытный методист. Посмотри на реакцию джуниора выше.
Адаптируй инструкцию:
- Объясни непонятные термины простыми словами
- Добавь конкретные примеры для первых действий
- Включи мотирующие комментарии: "Это нормально, что поначалу кажется сложным"
- Структурируй по шагам: от простого к сложному
Формат: чёткая пошаговая инструкция с пояснениями, без воды.
ШАГ 3 — EVALUATOR
Оцени адаптированную инструкцию по критериям:
1. Дидактическая структура (1-6): Логичная последовательность от простого к сложному?
2. Ясность (1-6): Все термины объяснены? Инструкции понятны новичку?
3. Мотивация (1-6): Есть поддерживающие комментарии? Снижен страх ошибки?
4. Соответствие профилю (1-6): Реально учтён уровень джуниора?
По каждому критерию — оценка + короткое объяснение.
Результат:
Модель выдаст три блока:
- Реакция "джуниора": "Не понял что такое 'воронка продаж', 'лид' — это клиент или что? Страшно нажимать кнопки — вдруг сломаю что-то. Хочу увидеть пример первого звонка."
- Адаптированная инструкция: Упрощённая версия с пояснениями терминов ("Лид — это потенциальный клиент, который ещё не купил"), конкретными примерами первых действий, поддерживающими комментариями ("В CRM нельзя ничего сломать — все действия можно отменить").
- Оценка: Четыре оценки с объяснениями, где инструкция сильна, а где можно улучшить.
Почему это работает
Проблема одношагового промпта: Когда просишь "создай материал для начинающего", LLM генерирует абстрактное представление о новичке. Он добавляет формальные пояснения, но не знает конкретные точки непонимания этого человека. Результат — либо покровительственный тон ("Давайте разберём простые вещи"), либо всё ещё сложный материал с пропущенными базовыми концепциями.
Сильная сторона LLM: Модель отлично симулирует поведение конкретных персонажей с заданными характеристиками. Если дать профиль (знания + мотивация + контекст), LLM реалистично покажет где человек споткнётся, что его демотивирует, какие вопросы возникнут. Это не абстракция "новичок", а конкретный сценарий провала с деталями.
Как метод использует это: Вместо прямого "адаптируй", мы сначала прогоняем виртуальную репетицию. Learner-агент показывает real pain points — не те, что LLM выдумает абстрактно, а те, что появляются при столкновении конкретного профиля с конкретным материалом. Teacher-агент получает не размытую инструкцию "сделай проще", а список конкретных проблем для исправления: "непонятен термин Х", "нужен пример Y", "пугает инструкция Z". Evaluator даёт числовую оценку — это снижает субъективность и показывает где адаптация формальная (низкие баллы), а где реальная.
Рычаги управления промптом:
- Характеристики learner-агента (знания, мотивация, страхи, контекст) → меняй под свою целевую аудиторию. Чем детальнее профиль, тем точнее симуляция.
- Инструкции teacher-агента (стиль адаптации, формат вывода, акценты) → можешь запросить "добавь примеры из российских реалий" или "используй разговорный стиль вместо официального".
- Критерии evaluator-агента → замени на свои метрики качества. Вместо "дидактическая структура" можешь оценивать "убедительность для скептика" или "применимость в первый же день".
- Количество профилей → можешь прогнать один материал через 2-3 разных learner-агента (например, новичок + скептик + эксперт) и получить мультиперсональную адаптацию.
Шаблон промпта
Вариант 1: Три отдельных запроса (простой)
Запрос 1 — Learner Agent:
Ты {описание целевого человека: роль, уровень знаний, мотивация, контекст, страхи}.
Вот материал:
{твой исходный текст / задача / инструкция}
Попробуй {действие: прочитать / решить / выполнить} и опиши:
- Где конкретно застрял? Какие термины / шаги непонятны?
- Что вызывает {негативную эмоцию: страх / скуку / раздражение}?
- Где нужны примеры / пояснения / упрощения?
Запрос 2 — Teacher Agent:
Ты опытный {роль создателя контента: методист / тренер / редактор}.
Посмотри на реакцию человека из прошлого сообщения.
Адаптируй материал:
- Исправь {конкретные проблемы из Шага 1}
- Добавь {что нужно: примеры / пояснения / структуру}
- Сохрани {ограничения: формат / длину / стиль}
Формат вывода: {описание желаемого результата}
Запрос 3 — Evaluator Agent:
Оцени адаптированный материал выше по критериям (шкала 1-6):
1. {Критерий 1}: {описание}
2. {Критерий 2}: {описание}
3. {Критерий 3}: {описание}
4. {Критерий 4}: {описание}
По каждому — оценка + короткое обоснование.
Вариант 2: Один промпт с XML-структурой (для продвинутых)
<task>
Выполни три роли последовательно для персонализации материала.
<learner_agent>
Роль: {описание целевого человека}
Материал: {твой исходный текст}
Задача: Попробуй {действие} и опиши трудности, непонятные моменты, эмоции.
<teacher_agent>
Роль: Опытный методист
Входные данные: Вывод learner_agent выше
Задача: Адаптируй материал под профиль learner, исправь проблемы, добавь {нужное}.
Формат: {желаемый результат}
<evaluator_agent>
Роль: Строгий рецензент
Входные данные: Вывод teacher_agent выше
Задача: Оцени качество адаптации по критериям {список критериев}.
Формат: Оценка 1-6 + обоснование по каждому критерию.
```
**Плейсхолдеры:**
- `{описание целевого человека}` — роль, знания, мотивация, страхи, контекст. Чем детальнее, тем точнее симуляция.
- `{твой исходный текст}` — материал для адаптации: инструкция, задача, статья, презентация.
- `{действие}` — что должен сделать learner: прочитать, решить, выполнить, понять.
- `{что нужно}` — конкретные инструкции для адаптации: примеры, упрощения, структура, мотивация.
- `{желаемый результат}` — формат вывода: пошаговая инструкция, краткая справка, слайды презентации.
- `{список критериев}` — метрики качества: ясность, структура, мотивация, соответствие профилю.
---
🚀 **Быстрый старт** — вставь в чат:
```
Вот шаблон Learner Simulation для персонализации контента. Адаптируй под мою задачу: {опиши свою ситуацию — что за материал, для кого, какая цель}.
Задавай вопросы, чтобы заполнить поля.
[вставить Вариант 1 или Вариант 2 шаблона выше]
```
LLM спросит **про целевую аудиторию** (кто они, уровень, мотивация) и **про желаемый результат** (формат, стиль, длина) — это нужно для точной симуляции и адаптации. Модель возьмёт паттерн из шаблона и создаст рабочий промпт под твою задачу.
---
## Ограничения
> ⚠️ **Длина и сложность:** Для коротких простых материалов (1-2 абзаца) метод избыточен — быстрее просто попросить "упрости для новичка". Эффект проявляется на материалах от 500+ слов с нетривиальной структурой.
> ⚠️ **Нужен контекст аудитории:** Если не знаешь профиль целевого человека (знания, мотивация, боли) — симуляция будет поверхностной. Метод работает, когда есть чёткое представление **для кого** создаёшь.
> ⚠️ **Токены:** Три агента = три больших вывода в одном workflow. Может быстро съесть лимит токенов, особенно если материал объёмный. В платных моделях это прямые расходы.
> ⚠️ **Эффект в "полевых" условиях:** Исследование тестировали с учителями-экспертами на учебных материалах. В других доменах (бизнес, маркетинг) может потребоваться адаптация критериев evaluator-агента под специфику контента.
---
## Как исследовали
Исследователи из Потсдамского университета и Института Вайценбаума собрали команду из **пяти K-12 учителей математики** (средний стаж 6,4 года) и проверили, насколько **мультиагентная система** может генерировать персонализированные учебные материалы. Логика была простой: взять **реальные задачи из школьной программы** (8 класс, комбинаторика), определить четыре профиля учеников (высокие/низкие знания × высокая/низкая мотивация), и прогнать через три агента — Learner, Teacher, Evaluator.
**Почему именно так тестировали?**
Во-первых, исследователи хотели проверить **стабильность** — может ли система генерировать качественные материалы не один раз случайно, а постоянно. Поэтому для каждого профиля ученика система сгенерировала **10 итераций** worksheet'ов (итого 40 вариантов). Evaluator-агент оценивал каждый по четырём критериям: дидактическая структура, ясность, креативность, соответствие профилю. Результат — **стабильно высокие оценки** (4,12–4,78 по шкале 1–6), что показало: система не «плавает», а выдаёт предсказуемо хорошие материалы.
Во-вторых, **реальные учителя** оценивали те же материалы вслепую — без знания, какой профиль ученика использовался. Учителя **думали вслух** (think-aloud протокол), объясняя что видят в каждом worksheet и как бы его использовали. Оценки от учителей оказались **чуть ниже**, но всё равно высокими (4,53–5,05), с особенно сильными оценками за **структуру** и **соответствие профилю**.
**Что удивило:**
Учителя отметили, что для учеников **с низкой мотивацией** система генерировала **меньше заданий** — казалось бы, странно, но это оказалось умным ходом. Меньше задач = меньше перегрузки = выше шанс, что немотивированный ученик вообще начнёт работать. Учителя также предложили улучшения: добавить **больше визуальных примеров** для слабых учеников, включить **нарративные элементы** (истории, контекст из жизни) для повышения мотивации, и давать **заранее заполненные строки** как scaffolding для первых шагов.
**Ключевой инсайт для практики:**
Personalization работает **не только через сложность задач**, но и через **количество**, **стиль подачи**, и **эмоциональную поддержку**. Система смогла уловить это, потому что learner-агент симулировал **конкретные затыки** (например, "я не понимаю термин 'комбинация' и боюсь выглядеть глупо"), а не абстрактные "новичку нужны примеры". Это даёт teacher-агенту **точки опоры** для реальной адаптации, а не формальной.
---
## Адаптации и экстраполяции
💡 **Адаптация для маркетинга — A/B-тестирование текстов:**
Перед запуском рекламной кампании прогони текст объявления через несколько learner-агентов: скептик, импульсивный покупатель, аналитик. Каждый покажет, что его зацепит, а что отпугнёт. Teacher-агент создаст три варианта текста под разные сегменты.
```
LEARNER AGENT 1: Скептик, не верит рекламе, ищет подвох
LEARNER AGENT 2: Импульсивный, покупает от эмоций, ценит скорость
LEARNER AGENT 3: Аналитик, сравнивает характеристики, читает отзывы
Исходный текст: {твоя реклама}
Каждый learner: Прочитай текст и скажи, купишь ли, почему да/нет, что смущает.
Teacher: Создай три варианта текста под каждый профиль.
Evaluator: Оцени убедительность каждого варианта для своего сегмента.
🔧 Техника: Добавить "мысли вслух" → видеть ход рассуждений learner-агента
В оригинале learner-агент выдаёт итоговые трудности ("не понял термин X"). Можно усилить, попросив подробный разбор по ходу чтения — так teacher-агент увидит не только "где застрял", но и почему именно там.
<learner_agent>
...
Задача: Читай материал по абзацам. После каждого абзаца говори:
- Что понял из этого абзаца?
- Остались ли вопросы?
- Какая эмоция (интерес / скука / тревога)?
```
Эффект: Teacher получает **временную развёртку** — видит в какой момент теряется внимание, где нарастает фрустрация. Может адаптировать структуру, а не только контент.
---
🔧 **Техника: Замени абстрактные профили на реальных персонажей → острее симуляция**
Вместо "ученик с низкой мотивацией" дай learner-агенту **конкретный персонаж**: "Ты Костя, 14 лет, любишь футбол, математику терпеть не можешь, сидишь на последней парте, хочешь поскорее закончить и пойти гулять".
```
Ты Костя, 14 лет, фанат ЦСКА, математика — самый скучный предмет,
на уроках думаешь о тренировке. Задания делаешь через силу,
лишь бы не влететь от родителей.
Вот задача по комбинаторике:
[задача]
Попробуй решить. Опиши честно: где заскучал, что раздражает,
где вообще непонятно зачем это нужно.
Эффект: Симуляция становится ярче и конкретнее. LLM лучше передаёт отношение и эмоции персонажа, чем абстрактную "низкую мотивацию".
💡 Экстраполяция — комбинация с Chain-of-Thought для отладки сложных объяснений:
Если создаёшь сложное объяснение (например, техническую документацию), можно комбинировать Learner Simulation с CoT: learner-агент не просто говорит "не понял шаг 3", а пошагово рассуждает и показывает где именно сломалась логика.
<learner_agent>
Ты junior-разработчик, первый раз видишь архитектуру микросервисов.
Прочитай документацию:
{твоя техническая документация}
Для каждого раздела:
1. Перескажи своими словами что понял
2. Попробуй применить — опиши шаги
3. Если где-то застрял — объясни подробно что пошло не так
Думай вслух, покажи ход рассуждений.
<teacher_agent>
Посмотри где у junior сломалась логика.
Переделай документацию: добавь промежуточные шаги,
объясни термины, дай схему-визуализацию.
Эффект: Получаешь не просто "непонятно", а конкретную точку разрыва логики — это gold для технических писателей.
Ресурсы
FACET: Teacher-Centred LLM-Based Multi-Agent Systems — Towards Personalized Educational Worksheets
Авторы: Jana Gonnermann-Müller (Potsdam University, Weizenbaum Institute), Jennifer Haase (Humboldt University, Weizenbaum Institute), Konstantin Fackeldey (TU Berlin, Zuse Institute Berlin), Sebastian Pokutta (TU Berlin, Zuse Institute Berlin)
Исследование поддержано Deutsche Forschungsgemeinschaft (DFG Cluster of Excellence MATH+) и German Federal Ministry of Education and Research (BMBF).
