Executive view
Studeia AI tutor is not ChatGPT in iframe. It's a pedagogical system built for online education:
Student message
β
1. StudentModelService β loads ConceptMastery (Bayesian), misconceptions, quiz history
β
2. RetrievalAgent β searches tenant-scoped RAG, boost by weak areas in quizzes
β
3. PedagogicalAgent β selects strategy (5 options) based on mastery
β
4. Orchestrator β assembles enriched prompt
β
5. LLM (Vercel AI SDK) β streaming, with fallback Claude β GPT β Grok β Gemini
β after response (after())
6. EvaluationAgent β classifies misconceptions (Haiku, $0.001)
7. ContentAgent β pre-generates follow-up exercise
8. SupervisorAgent β moderates (5 severity levels, 8 categories)
Pedagogical strategies
| Mastery | Strategy | Behavior |
|---|---|---|
| < 0.3 | direct_instruction | Clear explanation, concrete examples |
| 0.3-0.5 | scaffolding | Progressive hints |
| 0.5-0.7 | socratic | Questions leading to discovery |
| 0.7-0.9 | guided_practice | Exercises with feedback |
| > 0.9 | challenge | Complex problems, conceptual connections |
Per-tenant RAG
Each course can be ingested in tenant RAG: POST /api/institution/courses/[id]/rag-ingest. Tutor cites correct institution material, not generic content.
Multi-provider AI
LLM-backed tutor/admin components use TenantTaskModelConfig. Deterministic TypeScript components such as orchestration, retrieval and pedagogy do not select a provider. Fallback chain per tier (Haiku/Sonnet/Opus β equivalents). Circuit breaker per provider (Redis state).
Known limitations
- Output text-to-speech and a visual tutor avatar are available as opt-in tutor experiences.
- Voice input/STT (dictation) is implemented on B2B and the real-time avatar (HeyGen/D-ID via WebRTC) is available per course; two-way voice conversation (STT looping into the avatar) and automatic pronunciation scoring remain on the roadmap.
- RAG is per-course, not per-institution.
- Misconceptions can regress (re-detected) β expected; system marks regression in evidence.