O student model
Antes de cada turno do tutor, o StudentModelService monta um snapshot enriquecido:
- ConceptMastery — probabilidade bayesiana por conceito (Beta distribution) com intervalo de confianca e velocidade de aprendizado relativa.
- Misconceptions — itens active/resolving com evidence trail.
- Memoria episodica — o que funcionou antes (uma analogia que pegou, um breakthrough), pontuado por efetividade.
- Quiz context — score medio, pass rate, areas fracas.
Estrategia pedagogica por mastery
| Mastery | Estrategia |
|---|---|
| < 0.3 | direct instruction (explicacao clara, exemplos concretos) |
| 0.3–0.5 | scaffolding (dicas progressivas) |
| 0.5–0.7 | socratic (perguntas que guiam) |
| 0.7–0.9 | guided practice (exercicios + feedback) |
| > 0.9 | challenge (problemas complexos, conexoes) |
Os thresholds sao configuraveis por tenant (PedagogicalConfig), com overrides por dominio, idade e estilo de aprendizado. O agente tambem ajusta quando o mastery do chat e o desempenho em quizzes divergem (compreensao superficial vs. aluno quieto mas capaz).
Lifecycle de misconception
As misconceptions passam por active → resolving → resolved com evidence trail. Sao criadas com rastreabilidade completa — source (chat / quiz / interactive / inline_quiz), a questao que disparou, a resposta do aluno, um context snippet e os conceitos linkados. O tutor injeta as misconceptions ativas no prompt e as aborda proativamente; as frequentes disparam um quiz inline no chat. A resolucao exige mastery + evidencia de quiz/interativo; a re-deteccao regride para active. Professores tambem podem resolver/reabrir manualmente.
Repeticao espacada & grafo de conhecimento
Um algoritmo SM-2 modificado agenda revisoes por topico, com calibracao de dificuldade por acertos e um grafo de pre-requisitos por disciplina para que revisoes e conceitos novos cheguem na ordem certa.
Quizzes inline
Quando o tutor detecta uma misconception frequente ele pode renderizar um quiz inline interativo no chat. As respostas corretas ficam server-side (Redis, nunca enviadas ao cliente antes do submit); no submit, o mastery atualiza e a misconception pode transicionar para resolved — e o tutor responde proativamente.