El student model
Antes de cada turno del tutor, el StudentModelService construye un snapshot enriquecido:
- ConceptMastery — probabilidad bayesiana por concepto (Beta distribution) con intervalo de confianza y velocidad de aprendizaje relativa.
- Misconceptions — ítems active/resolving con evidence trail.
- Memoria episódica — lo que funcionó antes (una analogía que resonó, un breakthrough), puntuado por efectividad.
- Quiz context — score promedio, pass rate, áreas débiles.
Estrategia pedagógica por mastery
| Mastery | Estrategia |
|---|---|
| < 0.3 | direct instruction (explicación clara, ejemplos concretos) |
| 0.3–0.5 | scaffolding (pistas progresivas) |
| 0.5–0.7 | socratic (preguntas que guían) |
| 0.7–0.9 | guided practice (ejercicios + feedback) |
| > 0.9 | challenge (problemas complejos, conexiones) |
Los thresholds son configurables por tenant (PedagogicalConfig), con overrides por dominio, edad y estilo de aprendizaje. El agente también ajusta cuando el mastery del chat y el desempeño en quizzes divergen (comprensión superficial vs. alumno callado pero capaz).
Lifecycle de misconception
Las misconceptions pasan por active → resolving → resolved con evidence trail. Se crean con trazabilidad completa — source (chat / quiz / interactive / inline_quiz), la pregunta que las disparó, la respuesta del alumno, un context snippet y los conceptos vinculados. El tutor inyecta las misconceptions activas en el prompt y las aborda de forma proactiva; las frecuentes desencadenan un quiz inline en el chat. La resolución requiere mastery + evidencia de quiz/interactivo; una re-detección regresa al estado active. Los profesores también pueden resolver/reabrir manualmente.
Repetición espaciada & grafo de conocimiento
Un algoritmo SM-2 modificado programa revisiones por tema, con calibración de dificultad por aciertos y un grafo de prerequisitos por disciplina para que las revisiones y los conceptos nuevos lleguen en el orden correcto.
Quizzes inline
Cuando el tutor detecta una misconception frecuente puede renderizar un quiz inline interactivo en el chat. Las respuestas correctas se almacenan server-side (Redis, nunca enviadas al cliente antes del submit); al hacer submit, el mastery se actualiza y la misconception puede transicionar a resolved — y el tutor responde de forma proactiva.