Как работает Mathua

источник ↗ ·

Техническое описание движка адаптивного обучения математике: граф концепций, модель студента, диагностика, выбор задач и система оценки.

privacy

Эта заметка участвует в semantic memory.

AI Summary

🚀 TL;DR: Mathua представляет математические знания как направленный ациклический граф из 1250 атомарных концепций (21 домен, от счёта до топологии), где рёбра — отношения «предпосылка». Каждый ученик имеет состояние по каждой концепции; система использует упрощённый SM-2 для интервального повторения и Computerised Adaptive Testing для начальной диагностики.

🔑 Ключевые факты: граф хранится в data/concepts.json и валидируется на PR; mastery_threshold задаётся парой (streak, avg_time_seconds); диагностика сокращает число вопросов на ~94 % за счёт информационного выигрыша; scheduler поддерживает баланс 70/30 между новым материалом и повторением; генераторы задач на Go, символьные ответы проверяются SymPy.

📌 Важные детали: приоритет задачи = 0.7 × days_since_last_seen + 0.3 × (1 − mastery_score) + бонусы; три жёстких правила (все предпосылки MASTERED, не повторять концепцию дважды подряд, 70 % новый материал); SymPy запускается как долгоживущий Python-подпроцесс, pinned-версия в образе; метрики (first-pass rate, second-pass rate, retention и др.) считаются только из сырых логов попыток без агрегации на запись.

💡 Вывод и значение: можно в любой момент пересдать диагностику — результат сливается с существующей оценкой, всегда берётся более оптимистичная; все генераторы параметризуются difficulty 0–1; для алгебры/анализа/тригонометрии нет fallback-оценки — только SymPy.

Мои мысли

graph

Карта связей