Fidea AI — Tài liệu kỹ thuật
Bản đồ tổng quan về kiến trúc, thuật toán, dữ liệu và phương pháp đánh giá của Fidea AI.
Tài liệu kỹ thuật cho hệ thống EXAM-TRIAGE AI / Fidea AI: chẩn đoán có chọn lọc, xếp ưu tiên học tập đa môn, đo áp lực thời gian và dựng lịch ôn tập.
Fidea AI làm gì?
Fidea AI giúp sinh viên trả lời ba câu hỏi theo đúng thứ tự:
- Tôi thực sự biết gì? — Agent 2 tạo
Knowledge Statetừ tự đánh giá và bằng chứng. - Tôi nên học gì trước? — Agent 3 xếp hạng
Learning Unitgiữa các môn. - Tôi học vào lúc nào? — Planner phân bổ các phần đã xếp hạng vào quỹ giờ thực tế.
Hệ thống không đồng nhất sự tự tin với năng lực. mastery chỉ tồn tại khi có
bằng chứng chẩn đoán; mô hình ngôn ngữ không được chấm MCQ hoặc quyết định điểm
ưu tiên.
Đọc theo vai trò
| Bạn cần hiểu | Bắt đầu từ |
|---|---|
| Bức tranh tổng thể và ranh giới trách nhiệm | Kiến trúc hệ thống |
| Hành trình người học và phối hợp bốn Agent | Luồng hệ thống |
| Toàn bộ công thức runtime | Tổng quan thuật toán |
| Schema, API và quyền sở hữu dữ liệu | Data & API Contracts |
| Next.js, Zustand, route và Planner phía client | Frontend Runtime |
| Cách tạo và phát hành Question Bank | Question Bank Pipeline |
| RAG, pgvector và Study Workspace | Study Workspace & RAG |
| Cách kiểm chứng các baseline | Evaluation Methodology |
| Nguồn khoa học và giới hạn tuyên bố | Scientific Foundations |
| Dịch thuật ngữ Anh–Việt | Glossary |
System map — Bản đồ hệ thống
Những ranh giới không được phá
self-confidence ≠ mastery
Need ≠ Learning Importance
Priority ≠ Capacity
Agent 3 ≠ Planner
Question Bank runtime ≠ RAG retrieval
Agent ≠ bắt buộc phải dùng LLMChú giải trạng thái tài liệu
| Nhãn | Ý nghĩa |
|---|---|
| Frozen rule — luật đã chốt | Bất biến nghiệp vụ trong spec |
| Evaluation baseline — baseline đánh giá | Công thức tạm có tên, phải benchmark trước khi chốt |
| Current implementation — hiện trạng code | Hành vi đang chạy ở commit hiện tại |
| Target architecture — kiến trúc đích | Đã có trong thiết kế nhưng có thể thiếu data asset |
| Legacy — hệ thống cũ | Chỉ giữ tương thích; không dùng làm mẫu cho feature mới |
Phạm vi đang hoạt động
Năm môn đã có Question Bank v1 và v2 được duyệt và publish (v1 2026-08-20,
v2 2026-08-29 — ADR 15). Runtime mặc định dùng v2; v1 là bất biến.
Mỗi version có cùng số item cho mỗi môn:
course_id | Tên môn | Cluster | Competency | MCQ | Short answer | High-information | Tổng |
|---|---|---|---|---|---|---|---|
dsa | Cấu trúc dữ liệu và giải thuật | 5 | 13 | 78 | 39 | 26 | 143 |
discrete_math | Toán rời rạc | 5 | 13 | 78 | 39 | 26 | 143 |
database | Cơ sở dữ liệu | 5 | 13 | 78 | 39 | 26 | 143 |
intro_to_ai | Nhập môn Trí tuệ nhân tạo | 5 | 13 | 78 | 39 | 26 | 143 |
optimization | Tối ưu hóa | 5 | 13 | 78 | 39 | 26 | 143 |
Tổng cộng: 25 Cluster, 65 Competency và 715 item mỗi version: 390 MCQ,
195 short-answer, 130 high-information. Runtime hiện mở gate cho MCQ và
high_information (ADR 15, trên bank v2): MCQ chấm so khớp chuỗi chính xác
(zero-LLM vĩnh viễn), high_information đi đường rubric-AI khi item có
≥MIN_RUBRIC_CRITERIA_FOR_AI_RUBRIC tiêu chí — điều kiện xét theo từng item
(is_servable_item()), nên 104/130 item high_information của v1 không servable
còn cả 130 item của v2 thì servable. short_answer (cloze một ô) vẫn bị gate và
khi mở sẽ mở theo đường tất định, không phải rubric-AI.
Source map — Bản đồ mã nguồn
| Khu vực | Nguồn chính |
|---|---|
| Agent 2 contracts | src/agents/schemas/diagnostic_io.py, knowledge_state.py |
| CAT-lite và budget | src/agents/diagnostic/ |
| Agent 2 API | src/api/diagnostic_routes.py |
| Agent 3 engines | src/agents/priority/ |
| Agent 3 coordinator | src/services/priority_coordinator.py |
| Priority API | src/api/priority_routes.py |
| Question Bank | data/question_bank/<course_id>/<version>/ (v1, v2; runtime mặc định v2) |
| RAG/pgvector | src/services/rag/ |
| Study content | src/services/study_service.py, src/agents/nodes/study_generator.py |
| Frontend state | frontend/src/stores/app-store.ts |
| Planner (Agent 4) | src/agents/planner/allocator.py, src/api/plan_routes.py, src/agents/schemas/planner_baselines.py |
| Planner (lớp trình bày ở client) | frontend/src/lib/planner.ts — chỉ dựng request và render, không có thuật toán xếp lịch |
Thuật ngữ trọng tâm
- Exam triage — phân loại ưu tiên ôn thi: tìm phần đáng xử lý trước, không phải thi toàn diện.
- Adaptive diagnostic — chẩn đoán thích ứng: câu sau phụ thuộc bằng chứng đã có.
- Evidence-derived mastery — mức làm chủ sinh từ bằng chứng: không suy từ số sao.
- Deterministic scoring — chấm điểm tất định: cùng input luôn cho cùng output.
- Capacity context — bối cảnh sức chứa thời gian: mô tả áp lực, không tự lập lịch.
- Grounded RAG — RAG có neo nguồn: sinh nội dung dựa trên đoạn tài liệu đã truy xuất.