EduInsight — nền tảng AI Learning Analytics: dashboard đa cấp từ trường đến sinh viên, cảnh báo sớm nguy cơ thôi học bằng ML, và AI Agent hỏi đáp dữ liệu học vụ tiếng Việt kèm báo cáo tự động có bằng chứng.
Fig. 01 · Ảnh dự án
Bài toán
Dữ liệu học vụ — sinh viên, điểm, lớp học phần, chuẩn đầu ra, chương trình đào tạo — nằm rải rác ở nhiều bảng và quy trình. Hệ quả: nhà trường khó nhìn thấy sức khỏe đào tạo xuyên suốt từ cấp trường xuống khoa, ngành, môn, lớp và sinh viên; phát hiện sinh viên hoặc môn rủi ro quá muộn; báo cáo tổng hợp thủ công, khó truy vết và so sánh giữa các kỳ. Dashboard truyền thống cho biết "con số" nhưng không giải thích nguyên nhân, còn dùng LLM trực tiếp để dự đoán lại tạo ra xác suất không kiểm chứng được.
Giải pháp & kiến trúc
EduInsight hợp nhất mọi thứ vào một luồng phân tích thống nhất:
Dữ liệu vận hành → ETL & kiểm tra chất lượng → Data Warehouse → mô hình ML chấm rủi ro → dashboard / cây đào tạo / báo cáo → AI Agent giải thích → người phụ trách ra quyết định.
Triết lý sản phẩm: nhìn tổng thể → drill-down chi tiết → hỏi bằng ngôn ngữ tự nhiên → hành động dựa trên bằng chứng.
Nguyên tắc kiến trúc then chốt là tách rõ trách nhiệm để dữ liệu luôn đáng tin:
DWH giữ dữ liệu lịch sử và KPI phân tích (không truy vấn thẳng bảng CRUD).
ML tạo prediction có version, thời điểm chấm (cutoff) và yếu tố giải thích.
LLM/Agent chỉ đọc và diễn giải dữ liệu DWH/ML — không tự bịa xác suất pass/trượt/thôi học.
Backend là nơi chốt quyền RBAC cuối cùng (ẩn menu ở frontend không thay cho kiểm tra quyền tại API).
Chức năng chính
Academic Tree 5 cấp (Trường → Khoa → Ngành → Chuyên ngành → Môn): mở từng nhánh, xem KPI/health score, tìm kiếm, drill-down và chuyển thẳng ngữ cảnh sang Chat AI.
Dashboard Learning Analytics đa cấp: quy mô, GPA, pass rate, phân bố điểm, xu hướng theo khóa/học kỳ ở mọi cấp từ toàn trường đến lớp và sinh viên; bộ lọc học kỳ/khoa/ngành và deep link giữa các cấp; đọc aggregate từ DWH, phục vụ từ cache prewarm (0.3–0.5s từ Việt Nam).
Cảnh báo sớm bằng Machine Learning: chấm nguy cơ thôi học từ đặc trưng học vụ (GPA, tỷ lệ trượt, tín chỉ, lịch sử học tập); prediction lưu kèm model run, version, metric, thời điểm chấm và yếu tố đóng góp. Kiến trúc hỗ trợ cả dự đoán pass/trượt theo môn và tổng tín chỉ kỳ vọng theo sinh viên–học kỳ.
Contextual AI Chat (LangGraph, mô hình ReAct + model tiering): hỏi đáp học vụ bằng tiếng Việt; truy vấn SQL chỉ đọc (chỉ SELECT, kết nối read-only, giới hạn dòng), tra cứu sinh viên, tính mức đạt CLO, đọc prediction dropout; , chat toàn cục và chat theo ngữ cảnh màn hình, xử lý lỗi ba tầng có fallback khi LLM lỗi.
§
Phụ lục — Demo & Slides
Video demo
Bản demo trực tiếp
Slide trình bày
stream phản hồi qua SSE
Report Center + Report Agent: báo cáo dạng snapshot có version (không ghi đè lịch sử) với narrative, bằng chứng, chất lượng dữ liệu, biểu đồ và gợi ý hành động; tạo bằng ngôn ngữ tự nhiên, xác nhận trước khi ghi, có scheduler và audit trail.
Quản lý dữ liệu & chuẩn đầu ra (CLO/PLO): CRUD khoa, ngành, chuyên ngành, môn, sinh viên, giảng viên, lớp học phần, học kỳ, khóa, enrollment và điểm; mapping điểm thành phần và materialization kết quả đạt chuẩn đầu ra phục vụ analytics/báo cáo.
RBAC 5 vai trò + Observability: xác thực JWT, phân quyền theo phạm vi (khoa / giảng viên / lớp / sinh viên / báo cáo) cho Superadmin, Admin, Manager, Lecturer, Viewer; trace ID, structured event log (HTTP/chat/tool) và dashboard giám sát cho superadmin (người dùng hoạt động, thời lượng phiên, tỷ lệ lỗi, route lỗi).
Đã chạy production thật: frontend trên Vercel, backend trên AWS EC2 Singapore, dashboard phản hồi 0.3–0.5s từ Việt Nam, uptime theo dõi bằng UptimeRobot.
Agent được đánh giá định lượng trên bộ 100 test case (run H78, 2026-07-08): task completion 92%, tool accuracy 0.94, grounding 0.99, latency p50 6.7s / p95 16.7s.
Chất lượng kỹ thuật: test backend + frontend (pytest, Vitest, Playwright), ETL idempotent có đối soát KPI OLTP↔DWH, migration Alembic có version, backup tự động + script verify.
Khởi động 1 lệnhdocker compose up cho toàn stack; migration và seed dữ liệu mẫu tự động.
Hướng phát triển
Cho sinh viên đăng nhập như một actor riêng để tự theo dõi tiến độ và nhận cảnh báo.
Mở rộng chiều phân tích theo cohort và corpus RAG từ chương trình đào tạo thật.
Bổ sung CLO fact table và làm giàu dữ liệu chuẩn đầu ra cho phân tích OBE.
Tăng độ chính xác mô hình dự đoán pass/trượt theo môn kèm giải thích (feature attribution).
Tích hợp thông báo chủ động (email/push) khi phát hiện sinh viên/môn rủi ro.