Перейти к содержимому

Принцип четырёхсторонней выверки

При изучении любой темы четыре артефакта должны оставаться выверенными вокруг одного и того же набора пунктов экзамена: курс (объяснение), вопросы (практика), карточки (якоря памяти) и глубокий разбор ошибок (исследование ошибок). Это четыре независимых файла в репозитории — отредактируете любой из них, остальные три сами не сдвинутся. Рассогласование не падает с ошибкой: оно молча оставляет скрытые пробелы в обучении — вопросы на то, чему вас не учили; пройденный курс без вопросов на отработку; ключевые понятия без карточек.


# Артефакт Расположение файла Что делает
1 Курс examples/<theme>/lessons/*.html Систематически объясняет понятия, строит ментальные модели
2 Вопросы examples/<theme>/questions.json Практика и проверка, оценка, сбор ошибок
3 Карточки examples/<theme>/flashcards.json Якоря памяти с интервальным повторением для ключевых понятий
4 Глубокий разбор ошибок examples/<theme>/study/wrong-questions/cluster-*.html Глубокое раскрытие частых ошибок

Четыре артефакта не изолированы — они скоординированы вокруг одного набора пунктов экзамена: курс объясняет понятие, вопрос его проверяет, карточка помогает его запомнить, а глубокий разбор ошибок раскапывает границы путаницы этого понятия, когда вы ошиблись.


Почему выверка обязательна (два реальных провала)

Заголовок раздела «Почему выверка обязательна (два реальных провала)»

Этот принцип вырос из реальных шишек, а не из теоретической педантичности.

Провал 1: вопрос есть, курс не учит (разрыв вопрос → курс)

Заголовок раздела «Провал 1: вопрос есть, курс не учит (разрыв вопрос → курс)»

Однажды в банке вопросов оказалось 20 задач на «полусумматор», а курс это понятие вообще не раскрывал. Вы упираетесь в такие вопросы с пустым взглядом, не понимая, что вообще проверяется.

  • Корень: вопросы были механически сгруппированы по модулям без сверки с покрытием курса.
  • Лечение: доучить недостающее понятие в курсе и добавить автоматическую проверку (см. ниже).

Провал 2: курс пройден, отрабатывать нечего (разрыв курс → вопрос)

Заголовок раздела «Провал 2: курс пройден, отрабатывать нечего (разрыв курс → вопрос)»

Курс подробно разобрал ключевую методологию, а связанные вопросы за ним не последовали — прошли урок без отработки, а отрабатывающие — без урока.

  • Корень: группировочные метки вопросов не были нарезаны по содержанию курса.
  • Лечение: выровнять группировку topic вопросов (и опциональные календарные метки day) по курсу и добавить двустороннюю проверку.

Выверять нужно в обе стороны, плюс отдельный проход по покрытию карточками.

Направление 1: вопрос → курс (что проверяют вопросы, курс обязан объяснять)

Заголовок раздела «Направление 1: вопрос → курс (что проверяют вопросы, курс обязан объяснять)»

Вытащите из формулировок вопросов частотные слова пунктов экзамена (понятия с ≥3 упоминаниями) и по каждому проверьте покрытие в HTML курса (число вхождений в текст без пробелов):

  • ≥3: ✓ покрыто
  • 1–2: △ упомянуто вскользь, нужно дополнить
  • 0: ✗ не объяснено, обязательно добавить

Направление 2: курс → вопрос (что объясняет курс, вопросы обязаны отрабатывать)

Заголовок раздела «Направление 2: курс → вопрос (что объясняет курс, вопросы обязаны отрабатывать)»

Вытащите ключевые понятия из HTML курса и проверьте, есть ли в банке вопросов соответствующая практика:

  • В курсе разобрано подробно, в банке 0 связанных вопросов → практики не хватает, добавьте вопросы по этому пункту
  • Связанные вопросы разбросаны по другим группам → поправьте их topic (или метку day), чтобы учёба и отработка замыкались внутри одной группы

Каждое ключевое понятие курса (слова пунктов экзамена с ≥3 упоминаниями) должно быть покрыто ≥1 карточкой (совпадение по front / back):

  • Понятие из курса без карточки → якорь памяти отсутствует
  • Понятие карточки не упомянуто в курсе → карточка оторвана: либо дополните курс, либо удалите карточку

Обязательно после любого изменения артефактов:

  1. После генерации нового курса — какие пункты он покрыл? Есть ли по ним вопросы? Покрыты ли карточками?
  2. После изменения группировки topic / day вопросов — перегруппировка может оторвать курс от вопросов.
  3. После правки flashcards.json — добавление и удаление карточек может оторвать их от курса.
  4. После прогона очередного глубокого разбора ошибок через grill CLI — пункты разбора обязаны прослеживаться до соответствующего курса (обратная проверка разбор → курс).

Откройте examples/dev-intro/ — перед вами полный пример выверки:

Пункт знаний Курс Вопрос Карточка Глубокий разбор
три области git lessons/git-basics.html §1-2 GIT-006 FC-DEV-01
коммит и отмена в git lessons/git-basics.html §4 GIT-007 FC-DEV-03 study/wrong-questions/cluster-01-git-提交与撤销操作.html
права chmod lessons/linux-basics.html §3-4 LNX-002 FC-DEV-02 study/wrong-questions/cluster-02-linux-权限与路径.html
относительный путь .. lessons/linux-basics.html §2 LNX-003

Не каждый пункт знаний обязан быть покрыт всеми четырьмя артефактами, но у частых ошибок все четыре должны быть в наличии (как у «коммит и отмена в git») — это главный сценарий применения grill CLI.


  • bidirectional-check.ru.md — скрипт автоматической проверки, превращающий два направления выше в код на Python
  • methodology.ru.md — методологический фреймворк целиком
  • ai-cli-guide.ru.md — как выравнивать контент с помощью CLI teach / grill