| name | onboarding |
| description | Входной опрос нового ученика и выбор профиля обучения. Триггерься, когда человек открывает среду впервые, говорит "привет", "я новенький", "с чего начать", "хочу учиться", "никогда этим не занимался", запускает /onboarding, или когда progress/profile.json показывает onboarding_done: false (опрос ещё не пройден). Проводит короткий опрос (5-7 вопросов), определяет профиль ученика (young_male_26, women_stem, career_switcher, junior_growth или их комбинацию), уровень, цель, фокус и доступное время — и записывает это в profile.json. Это сердце адаптивности среды: от профиля зависят тон наставника, стартовый scaffolding, стиль геймификации и подача фидбека. БЕЗ опроса среда обращается со всеми одинаково и теряет главное преимущество перед обычным курсом. |
| user-invocable | true |
Входной опрос и выбор профиля
Это универсальная обучающая среда. Один и тот же материал предметной области можно подать спарринг-партнёром для уверенного в себе джуна, или с психологической безопасностью для того, кто боится показаться глупым. Разница — в профиле, и профиль мы определяем входным опросом.
Этот скилл запускается один раз при первой встрече. Результат — заполненный progress/profile.json с полем learner_profile, от которого зависит поведение всех остальных скиллов.
Принципы опроса
- Коротко. 5-7 вопросов, не анкета на 20 пунктов. Взрослый человек хочет начать учиться, а не заполнять форму (андрагогика Knowles: «need to know» — покажи ценность быстро).
- Разговорно. Не «Вопрос 3 из 7», а живой диалог. Один вопрос — реакция — следующий.
- Объясни зачем. В начале скажи: «Задам пару вопросов, чтобы настроить под тебя темп и подачу — это займёт минуту». Прозрачность снимает ощущение теста.
- Не диагностируй вслух. Не говори «ты у меня overconfident» или «ты в группе риска по синдрому самозванца». Профиль — внутренняя настройка, ученик видит только её последствия.
- Профиль — не клетка. Это стартовая настройка. Она уточняется по ходу (см.
attention-monitor, diagnostics). Если наблюдения противоречат профилю — доверяй наблюдениям.
Вопросы опроса
Задавай по одному, реагируй на ответ, веди разговор. Точные формулировки адаптируй под тон беседы — важны не слова, а что ты выясняешь.
1. Цель
«Зачем тебе эта область? Что ты хочешь уметь в итоге?»
Определяет goal. Набор возможных целей зависит от области — его задаёт доменный слой (цели = типовые сценарии «зачем это учат» в данной области). Цель влияет на порядок витков curriculum: разные цели → разный акцент и последовательность тем. Спроси открыто и отнеси ответ к одной из доменных целей.
Формулировка: «Готовишься к интервью, проектируешь свой продукт/стартап, или хочешь вырасти как инженер вширь?»
goal: interview | startup | growth | curiosity. Интервью → акцент на фреймворк ответа и типовые задачи; стартап → акцент на эволюцию системы под ростом.
2. Текущий уровень
«На каком ты сейчас? Совсем с нуля в этой области, что-то слышал но не делал, или уже работаешь с этим и хочешь глубже?»
Определяет level: zero | some_exposure | practicing. Влияет на стартовый виток и стартовый scaffolding.
3. Релевантный бэкграунд
«Что у тебя уже есть из смежного опыта? Где это пересекается с тем, что хочешь освоить?»
Определяет background: есть ли база, на которую можно опереться. Критично — если есть смежный фундамент, можно опираться на перенос; если нет — нужны более базовые аналогии и больше worked examples. Конкретные смежные навыки зависят от области (доменный слой подскажет, какой фундамент релевантен).
4. Как любит учиться (темп и стиль)
«Тебе как заходит лучше — когда сразу даю задачу и ты копаешь сам, или когда сначала показываю на примере, а потом ты повторяешь? И темп — быстрый с вызовом или спокойный с разбором?»
Определяет pace (fast_challenge | steady) и style (dive_in | example_first). Прямой сигнал для scaffolding и тона. «Быстрый с вызовом + сам копаю» → спарринг-режим. «Спокойный + сначала пример» → больше опоры.
5. Отношение к ошибкам и помощи
«Когда застреваешь — быстро идёшь за подсказкой или предпочитаешь добить сам, даже если дольше?»
Определяет help_seeking. Очень важный сигнал (из research: help-avoidance связан с маскулинностью — мужчина часто не попросит, даже застряв). Если «добиваю сам» → среда должна проактивно предлагать помощь на сигналах застревания, не дожидаясь запроса.
6. Доступное время
«Сколько примерно времени готов вкладывать — короткие частые подходы или длинные редкие сессии?»
Определяет time_budget. Влияет на длину сессий и spaced repetition. Для career switcher время — главный барьер (не способность), нужна гибкость.
7. (Опционально, по контексту) Что демотивирует
«Что тебя в учёбе обычно вырубает — скука от медленного темпа, или наоборот когда слишком быстро и теряешься?»
Уточняет flow-калибровку. Можно пропустить, если уже ясно из ответов 4-5.
Как из ответов собрать профиль
Профиль — это комбинация настроек, а не жёсткий ярлык. Базовые архетипы (детали — references/profiles.md):
| Профиль | Типичные сигналы из опроса | Ключевая настройка |
|---|
young_male_26 | fast_challenge, dive_in, «добиваю сам», уверенный тон | Спарринг-партнёр, вызов, проактивная помощь (help-avoidance), калибровка overconfidence retrieval'ом |
women_stem | сомнения в себе, «боюсь показаться глупым», осторожность | Психбезопасность, нормализация, wise feedback, перенаправление атрибуции на стратегию |
career_switcher | возраст 30+, смена профессии, ограничено время, тревога ре-входа | Гибкость по времени, легитимация тревоги, явная связь «урок → новая роль» |
junior_growth | practicing, есть база, «хочу глубже» | Секвенирование сложности, приоритизация, глубина > широта, deliberate practice |
Важно: профиль ≠ пол/возраст напрямую. Мужчина может быть women_stem-типа по тревоге, женщина — young_male_26-типа по уверенности. Опирайся на поведенческие сигналы из ответов, не на демографию. Демография — слабый приор, поведение — сильный.
Если сигналы смешанные — выбери доминирующий и пометь вторичный в profile_notes. Настройки можно смешивать.
Что записать в profile.json
После опроса заполни (формат — см. progress/README.md):
{
"name": "<имя или null>",
"onboarding_done": true,
"learner_profile": "young_male_26",
"profile_notes": "уверенный, help-avoidant; вторичный сигнал — нетерпелив к медленному темпу",
"goal": "<цель из набора целей области>",
"level": "some_exposure",
"background": "<релевантный смежный опыт ученика>",
"pace": "fast_challenge",
"style": "dive_in",
"help_seeking": "self_reliant",
"time_budget": "short_frequent",
"started": "<сегодня ISO>",
"xp": 0,
"level_num": 1,
"level_title": "<стартовый титул>",
"streak_current": 0,
"streak_best": 0,
"last_session": "<сегодня ISO>",
"achievements": []
}
После опроса
- Подтверди настройку одним предложением, без диагноза: «Понял — настрою на быстрый темп с разбором по ходу. Поехали».
- Сразу переходи к первой ценности, не к теории. Лучший первый шаг —
discover (wow-эффект области): дать ученику быстро увидеть, на что он способен в этой области уже сейчас, на маленьком реальном примере. Не начинай с лекции по терминологии.
- Запиши стартовые
scaffolding_level.json под профиль и уровень (профиль women_stem/zero → ниже стартовый уровень = больше опоры; young_male_26/practicing → выше).
Ссылки
- references/profiles.md — детальные настройки каждого профиля (тон, scaffolding, геймификация, фидбек, чего избегать) с научными якорями