Product Architecture: Synvia Learning Core

1. Product Thesis

Synvia Learning Core là lớp sản phẩm học tập thực chứng được xây trên nền Synvia hiện tại. Mục tiêu không phải thay Synvia bằng một nền tảng mới, mà là nâng Synvia từ một hệ thống vận hành trung tâm có AI chấm bài thành một hệ thống học tập có bằng chứng: biết người học đang học gì, nhận feedback nào, sửa ra sao, giáo viên can thiệp thế nào, AI có đáng tin không, và kết quả học tập có thật sự cải thiện không.

Product thesis:

> Synvia Learning Core giúp trung tâm đào tạo thiết kế, chấm, phản hồi, theo dõi và cải thiện học tập bằng AI có kiểm soát. Hệ thống bắt đầu từ nhiệm vụ học tập, giữ giáo viên trong vòng phán đoán, dùng dữ liệu tối thiểu nhưng có hành động, và đo hiệu quả theo người học, lớp học, kỹ năng, thời gian, chi phí và rủi ro.

Nguyên tắc sản phẩm:

1. Bắt đầu từ nhiệm vụ học tập, không từ tính năng. 2. Giảm ma sát thao tác, giữ ma sát nhận thức cần thiết. 3. Feedback phải dẫn đến hành động sửa bài, luyện lại hoặc can thiệp. 4. AI là thành phần trong vòng học tập, không phải người quyết định cuối. 5. Giáo viên có quyền thấy, sửa, phủ quyết và phản biện AI. 6. Dữ liệu học tập, dữ liệu sale và dữ liệu phụ huynh phải tách quyền truy cập. 7. Mỗi claim sản phẩm phải gắn với evidence hoặc hypothesis pilot.

2. Synvia Decision

Quyết định: làm từ Synvia hiện tại, không xây sản phẩm riêng từ đầu.

Lý do:

  • Repo lms/ đã có Django monolith thật, app sy bao phủ LMS, sale, assignment bank, submission, AI grading, AI teacher, meeting, attendance, notification, payment và dashboard.
  • Synvia đã chứa domain knowledge khó mua bằng thời gian: trung tâm tạo khóa học thế nào, học viên vào lớp ra sao, bài tập được giao thế nào, giáo viên/AI chấm bài thế nào, phụ huynh nhận thông tin gì, sale thu tiền ra sao.
  • AI grading đã có nền: SyAITeacher, AIAssessmentRequest, AIAssessmentResult, AIGradingService, audio analysis và grammar analysis.
  • Nếu xây mới, ta sẽ mất 6-12 tháng để tái tạo lại các workflow vận hành trước khi chạm được learning science.

Nhưng Synvia hiện tại không nên là nơi nhồi thêm toàn bộ Learning Core.

Rủi ro hiện tại:

  • sy/models/lms.py quá lớn, chứa nhiều bounded context trong một file.
  • Một số logic learning, meeting, AI, assignment và submission đang trộn trong cùng layer.
  • Tài liệu review đã chỉ ra thiếu object-level permission, nguy cơ IDOR, denormalization và một số bottleneck.
  • Secrets/API keys đang xuất hiện trong settings hoặc JSON key files, cần xử lý trước khi mở rộng production.
  • Test nghiệp vụ sy còn mỏng so với độ rộng tính năng.

Chiến lược:

1. Giữ Synvia làm nền vận hành và doanh thu. 2. Tạo app mới trong repo lms/: learning_core hoặc sy_learning. 3. Learning Core phụ trách objective, skill, rubric version, structured feedback, revision loop, AI audit, teacher review, evidence metrics và intervention. 4. Synvia hiện tại gọi Learning Core qua adapter/service. 5. Chỉ sửa model/view cũ ở điểm tích hợp nhỏ, có test và không phá workflow hiện tại.

Khuyến nghị tên app: learning_core.

Lý do: tên này trung tính, không trộn thêm vào sy, giúp team nhìn rõ đây là lõi học tập thực chứng mới. Nếu muốn giữ branding nội bộ, có thể dùng sy_learning, nhưng vẫn phải giữ ranh giới module.

3. Target Users and Jobs-to-be-Done

Owner / Chủ trung tâm

Jobs-to-be-done:

  • Biết trung tâm đang vận hành tốt không: lớp, chuyên cần, bài chờ chấm, doanh thu, công nợ.
  • Biết chất lượng học tập có cải thiện không, không chỉ biết học viên có đăng nhập hay đóng tiền.
  • Biết AI có giúp giảm tải hay tạo thêm rủi ro.
  • Có bằng chứng để bán, giữ chân học viên và cải thiện chương trình.

Learning Core cung cấp:

  • Evidence dashboard theo lớp/kỹ năng.
  • Teacher workload metrics.
  • Feedback turnaround metrics.
  • AI quality report.
  • Pilot report cho từng tính năng học tập.

Academic Manager

Jobs-to-be-done:

  • Chuẩn hóa chương trình, rubric, objective và skill.
  • Theo dõi lỗi phổ biến theo lớp/kỹ năng.
  • Điều phối giáo viên dạy lại hoặc can thiệp.
  • Kiểm soát chất lượng AI feedback.

Learning Core cung cấp:

  • Objective/skill map.
  • Rubric versioning.
  • Error clustering.
  • Teacher review queue.
  • AI incident và prompt/model evaluation.

Teacher

Jobs-to-be-done:

  • Chấm nhanh hơn nhưng không mất quyền phán đoán.
  • Nhìn lỗi phổ biến của lớp.
  • Biết học viên nào cần chú ý và vì sao.
  • Sửa feedback AI, không phải chịu trách nhiệm cho output mình không kiểm soát.
  • Dạy lại đúng điểm nghẽn.

Learning Core cung cấp:

  • Review queue.
  • Feedback editor.
  • Error clusters có ví dụ bài làm thật.
  • Student learning profile theo skill.
  • Intervention actions.

Student

Jobs-to-be-done:

  • Hiểu mình sai gì, vì sao sai, làm gì tiếp.
  • Sửa bài và thấy tiến bộ.
  • Không bị biến thành một nhãn "yếu".
  • Dùng AI mà vẫn phải suy nghĩ, phản tư và chịu trách nhiệm.

Learning Core cung cấp:

  • Feedback có next action.
  • Revision loop.
  • Reflection prompt.
  • Skill progress.
  • Spaced review queue ở giai đoạn sau.

Parent / Guardian

Jobs-to-be-done:

  • Biết con đi học, nộp bài, tiến bộ và cần hỗ trợ gì.
  • Nhận thông tin đủ rõ nhưng không gây áp lực sai.
  • Không bị gửi nhãn học tập thô hoặc dữ liệu nhạy cảm không có ngữ cảnh.

Learning Core cung cấp:

  • Parent summary có kiểm soát.
  • Learning progress language an toàn.
  • Tách thông báo học tập với thông báo tài chính.

Sales / Enrollment Staff

Jobs-to-be-done:

  • Tư vấn khóa học, tạo đơn, ghi nhận thanh toán, xếp lớp.
  • Không cần xem dữ liệu bài làm chi tiết hoặc learner weakness nhạy cảm.

Learning Core không mở dữ liệu học tập nhạy cảm cho sale theo mặc định.

4. Domain Map

Existing Synvia Domains

Các domain này giữ ở app sy, chỉ sửa khi cần tích hợp:

| Domain | Model/service hiện có | Vai trò | | --- | --- | --- | | Identity/Profile | judge.models.Profile, TeacherProfile | Người dùng, giáo viên, phụ huynh, social ids | | Center/Theme | Center, Theme | Cấu hình trung tâm/site | | LMS operations | SyClassType, SyClass, SyEnrollment, SyLesson, SyMaterial | Lớp, học viên, bài học, tài liệu | | Assignment bank | SyAssignment, SyQuestionGroup, SyQuestion, SyClassActivity | Ngân hàng bài tập và giao bài | | Submission | SyActivitySubmission, SyQuestionSubmission | Bài nộp và câu trả lời | | AI grading cũ | SyAITeacher, AIAssessmentRequest, AIAssessmentResult, AIGradingService | Chấm bài bằng Gemini | | Meeting/attendance | SyMeetingRoom, SyMeetingSession, SyOfflineSession, SyOfflineAttendance | Online/offline attendance | | Sale | SyCourse, SyCoursePurchase, SyTransaction, SyCoupon | Bán khóa học và thanh toán | | Notification | NotificationLog, NotificationSchedule, credentials | Zalo/OA/Facebook/email |

New Learning Core Domains

Các domain này nên đặt ở app mới learning_core:

| Domain | Trách nhiệm | Vì sao cần tách | | --- | --- | --- | | Curriculum & Skill Map | Objective, skill, assignment-objective mapping | Synvia có course/assignment nhưng chưa có learning graph rõ | | Rubric & Criteria | Rubric version, criterion, scoring policy | AI feedback cần chuẩn chấm có version | | Structured Feedback | Feedback item, evidence text, next action | Feedback hiện tại còn thiên về text tổng | | Revision & Reflection | Revision, reflection, feedback uptake | Đo người học có dùng feedback không | | Teacher Review | Approve/reject/edit, override score, mark AI error | Teacher-in-the-loop thật | | AI Governance | AIRun, PromptTemplate, AIPolicy, AIIncident | Audit, cost, model/prompt version, safety | | Learning Events | submitted, viewed feedback, revised, reviewed | Evidence loop | | Error Clustering | Cụm lỗi theo lớp/kỹ năng | Dashboard dẫn đến dạy lại | | Intervention | Hành động can thiệp và kết quả | Analytics phải dẫn tới action | | Pilot Evaluation | Hypothesis, metrics, report | Sản phẩm học từ triển khai |

5. Bounded Contexts

Bounded Context 1: Synvia Operations

Owner: app sy.

Bao gồm:

  • Lớp học.
  • Lịch học.
  • Enrollment.
  • Tài liệu.
  • Meeting.
  • Điểm danh.
  • Sale/payment.
  • Notification.

Nguyên tắc: không refactor lớn trong giai đoạn MVP Learning Core. Chỉ thêm integration hooks, links, buttons hoặc service calls khi cần.

Bounded Context 2: Learning Core

Owner: app learning_core.

Bao gồm:

  • Learning objective.
  • Skill.
  • Rubric.
  • Assessment result mới.
  • Feedback item.
  • Submission revision.
  • Teacher review.
  • Learning event.
  • Error cluster.
  • Intervention.
  • AI run/audit.

Nguyên tắc: các model mới không nằm trong sy/models/lms.py. Khi cần dữ liệu cũ, dùng adapter.

Bounded Context 3: AI Orchestration

Owner: learning_core.ai.

Bao gồm:

  • Prompt template versioning.
  • Provider interface.
  • Structured output schema.
  • Guardrails.
  • AIRun logging.
  • AI incident capture.

Nguyên tắc: không gọi model trực tiếp từ view/template. Không gửi toàn bộ dữ liệu lớp/trung tâm vào prompt.

Bounded Context 4: Evidence & Evaluation

Owner: learning_core.services.evidence_service.

Bao gồm:

  • Pilot hypothesis.
  • Feedback uptake.
  • Revision quality.
  • Teacher workload.
  • AI error rate.
  • Error recurrence.
  • Delayed review nếu có.

Nguyên tắc: không kết luận hiệu quả từ login count, time-on-platform hoặc số lượt AI generation.

Bounded Context 5: Communication Boundary

Owner: app sy.notification, gọi bởi learning_core qua service.

Bao gồm:

  • Parent summary.
  • Teacher notification.
  • Student reminder.

Nguyên tắc: Learning Core không tự gửi thẳng Zalo/Facebook/email; nó tạo nội dung và request, Notification domain gửi theo policy.

6. Core Workflows

Workflow 1: Gắn objective/rubric vào assignment hiện có

1. Academic manager mở assignment trong Synvia. 2. Learning Core hiển thị objective/skill map. 3. Manager gắn objective và rubric version. 4. Hệ thống lưu AssignmentObjectiveMap và rubric binding. 5. Từ thời điểm này, submission của assignment có thể được chấm/feedback theo rubric có version.

Điểm thiết kế: không tạo assignment model mới ở MVP. Tận dụng SyAssignmentSyClassActivity.

Workflow 2: Người học nộp bài, AI tạo feedback, giáo viên review

1. Student làm bài qua flow Synvia hiện có. 2. Synvia tạo SyActivitySubmissionSyQuestionSubmission. 3. Learning Core nhận submission id qua adapter. 4. AI orchestration tạo AIRun, gọi AIGradingService hiện có hoặc provider mới. 5. Output được validate theo schema structured feedback. 6. Learning Core tạo AssessmentResult, CriterionScore, FeedbackItem. 7. Nếu high-stakes hoặc confidence thấp, tạo TeacherReview ở trạng thái pending. 8. Teacher sửa/approve/reject. 9. Student thấy feedback có next action. 10. Event được ghi: feedback generated, teacher reviewed, student viewed.

Điểm thiết kế: AI output chưa teacher-approved phải được hiển thị rõ là AI draft nếu assignment có rủi ro cao.

Workflow 3: Revision loop

1. Student đọc feedback. 2. Hệ thống yêu cầu chọn 1-3 feedback item để sửa trước. 3. Student nộp revision và reflection. 4. Learning Core so sánh bản trước/sau theo rubric hoặc feedback item. 5. Event ghi started_revision, completed_revision. 6. Teacher xem revision quality nếu cần. 7. Evidence service tính feedback uptake.

Điểm thiết kế: feedback không dừng ở nhận xét; nó phải tạo vòng hành động.

Workflow 4: Error clustering cho lớp

1. Learning Core gom feedback items/submissions theo class/activity. 2. AI hoặc rule-based logic nhóm lỗi theo skill, criterion, misconception. 3. Teacher dashboard hiển thị cụm lỗi, ví dụ bài làm thật, mức phổ biến, gợi ý dạy lại. 4. Teacher chọn action: tạo mini lesson, giao bài luyện, nhắn học viên, đánh dấu bỏ qua. 5. Sau hoạt động tiếp theo, hệ thống đo lỗi có lặp lại không.

Điểm thiết kế: cluster phải dẫn tới action, không chỉ là biểu đồ.

Workflow 5: Parent summary có kiểm soát

1. Teacher hoặc academic manager chọn gửi summary. 2. Learning Core tạo bản tóm tắt tiến bộ bằng ngôn ngữ không nhãn hóa. 3. Teacher/admin review nếu có AI-generated text. 4. Notification domain gửi qua kênh phù hợp. 5. Parent link chỉ xem dữ liệu được phép.

Điểm thiết kế: không gửi "weakness labels" thô cho phụ huynh; phải có ngữ cảnh hỗ trợ.

Workflow 6: AI quality review

1. Teacher đánh dấu feedback AI là sai, quá chung, quá gắt, thiên lệch, làm hộ, hoặc unsafe. 2. Learning Core tạo AIIncident. 3. Incident gắn với AIRun, prompt version, model version, assignment/rubric. 4. Academic manager xem báo cáo lỗi. 5. Prompt/model/policy được cập nhật nếu cần.

Điểm thiết kế: lỗi AI phải trở thành dữ liệu cải tiến, không biến thành gánh nặng âm thầm cho giáo viên.

7. Conceptual Data Model

Existing Model Adapters

| Adapter | Wraps | Purpose | | --- | --- | --- | | SynviaProfileAdapter | Profile | Lấy role, contact, parent relation, student identity | | SynviaClassAdapter | SyClass, SyEnrollment, TeacherProfile | Scope lớp, học viên, giáo viên | | SynviaAssignmentAdapter | SyAssignment, SyQuestion, SyClassActivity | Assignment metadata và questions | | SynviaSubmissionAdapter | SyActivitySubmission, SyQuestionSubmission | Bài nộp, câu trả lời, điểm hiện tại | | SynviaAIGradingAdapter | AIGradingService, AIAssessmentRequest, AIAssessmentResult | Gọi/bọc AI grading cũ | | SynviaNotificationAdapter | NotificationLog, NotificationSchedule | Gửi thông báo qua hệ thống hiện tại |

New Models

LearningObjective
  id
  center_id optional
  sy_course_id optional
  sy_class_type_id optional
  code
  title
  description
  subject
  level
  status

Skill
  id
  center_id optional
  name
  parent_skill_id optional
  description

ObjectiveSkill
  id
  objective_id
  skill_id

AssignmentObjectiveMap
  id
  sy_assignment_id
  objective_id
  weight optional

Rubric
  id
  center_id optional
  name
  assessment_type
  version
  status
  created_by_profile_id

RubricCriterion
  id
  rubric_id
  skill_id optional
  name
  description
  scale_json
  weight

AssignmentRubricBinding
  id
  sy_assignment_id
  rubric_id
  ai_policy_id optional
  active_from
AIRun
  id
  actor_profile_id
  task_type
  model_provider
  model_name
  model_version
  prompt_template_id
  prompt_version
  data_scope_json
  input_hash
  output_text
  output_json
  token_usage_json
  latency_ms
  status
  error
  created_at

PromptTemplate
  id
  name
  task_type
  version
  template
  output_schema_json
  status

AIPolicy
  id
  center_id optional
  name
  allowed_roles_json
  allowed_data_scopes_json
  human_review_required
  max_autonomy_level
  status

AIIncident
  id
  ai_run_id
  reporter_profile_id
  category
  severity
  description
  resolution
  status
AssessmentResult
  id
  sy_activity_submission_id
  rubric_id
  assessor_type
  assessor_profile_id optional
  ai_run_id optional
  total_score
  confidence
  status
  created_at

CriterionScore
  id
  assessment_result_id
  criterion_id
  score
  rationale
  confidence

FeedbackItem
  id
  assessment_result_id
  criterion_id optional
  skill_id optional
  category
  severity
  evidence_text
  feedback_text
  next_action
  status

TeacherReview
  id
  assessment_result_id
  teacher_profile_id
  decision
  edited_score optional
  edited_feedback_json optional
  note
  created_at
SubmissionRevision
  id
  sy_activity_submission_id
  student_profile_id
  revision_no
  content_text
  reflection_text
  linked_feedback_items_json
  created_at

LearningEvent
  id
  actor_profile_id
  sy_class_id optional
  object_type
  object_id
  verb
  metadata_json
  event_time

ErrorCluster
  id
  sy_class_id
  sy_assignment_id optional
  skill_id optional
  title
  description
  example_submission_ids_json
  confidence
  status

Intervention
  id
  sy_class_id
  student_profile_id optional
  teacher_profile_id
  reason
  action
  status
  outcome
  created_at

8. AI Capability Map

| Capability | MVP? | Domain | Existing asset | Human role | Main risk | | --- | --- | --- | --- | --- | --- | | Writing feedback | Yes | Assessment/Feedback | AIGradingService, SyQuestionSubmission | Teacher review/override | Feedback chung, sai rubric | | Speaking transcript/metrics | Yes | Assessment | AudioAnalysisService, audio_metrics | Teacher review | Transcript sai, accent bias | | Rubric scoring | Yes | Rubric/Assessment | AI grading cũ một phần | Teacher override | Điểm sai nhưng trông chắc | | Error clustering | Yes | Analytics | Feedback/ai_details | Teacher chọn action | Gom lỗi sai, bỏ ngoại lệ | | AI teacher persona | Yes, controlled | Feedback style | SyAITeacher | Academic manager cấu hình | Persona che sai chất lượng | | Assignment generation from PDF | Later | Content | AI assist/slice PDF | Teacher review | Nội dung sai hoặc nông | | Adaptive practice | Later | Personalisation | Assignment bank | Teacher/student control | Khóa người học vào bài dễ | | AI tutor free chat | No for MVP | Tutoring | Chưa cần | Teacher policy | Phụ thuộc, sai kiến thức | | Parent summary | Limited | Communication | Notification system | Teacher/admin review | Gây áp lực, nhãn hóa | | Risk prediction | Later | Intervention | Attendance/submission data | Teacher xác minh | Gắn nhãn học viên |

AI autonomy levels:

| Level | Ý nghĩa | Cho phép ở MVP | | --- | --- | --- | | L0 | AI không dùng | Có | | L1 | AI gợi ý cho giáo viên | Có | | L2 | AI tạo feedback draft, giáo viên review | Có | | L3 | AI gửi feedback formative low-stakes, giáo viên xem sampling | Có điều kiện | | L4 | AI quyết định high-stakes score | Không | | L5 | AI tự điều chỉnh lộ trình/học phí/cơ hội | Không |

9. Teacher-in-the-loop Design

Teacher-in-the-loop trong Synvia Learning Core có bốn quyền:

1. Quyền thấy: giáo viên thấy bài làm, rubric, AI rationale, confidence, prompt/model version và dấu hiệu rủi ro. 2. Quyền sửa: giáo viên sửa điểm, feedback item, severity, next action. 3. Quyền phủ quyết: giáo viên reject AI result hoặc yêu cầu chạy lại. 4. Quyền phản biện: giáo viên mark AI error, tạo incident, góp dữ liệu cải tiến.

Màn hình cần có:

  • Review queue: bài cần duyệt, sắp theo rủi ro/confidence/deadline.
  • Submission review: bài làm, rubric, AI draft, feedback editor, history.
  • Error cluster panel: top lỗi lớp, ví dụ bài làm, action.
  • Student detail: submission history, feedback uptake, revision, skill progress.

Không làm:

  • Không chỉ có nút "Approve all" mà không có summary rủi ro.
  • Không ẩn AI confidence hoặc prompt/model version với tác vụ quan trọng.
  • Không để giáo viên chịu trách nhiệm cho feedback AI mà không có quyền sửa.

10. Learner Experience Principles

Student experience phải làm người học tiến bộ, không chỉ nhận điểm.

Nguyên tắc:

1. Feedback phải có next action rõ. 2. Mỗi lần nhận feedback nên có cơ hội sửa hoặc phản tư. 3. Không hiển thị quá nhiều metric cùng lúc. 4. Không dùng nhãn cố định như "yếu", "nguy cơ cao" trong UI học viên/phụ huynh. 5. Khi AI hỗ trợ, UI phải nói rõ AI đang hỗ trợ ở vai trò nào: reviewer, coach, tutor hay tool. 6. Với bài luyện, giữ intentional friction: thử trước, dự đoán, giải thích, rồi mới xem gợi ý sâu. 7. Progress theo skill phải cho thấy khả năng cải thiện, không tạo cảm giác bản án.

Màn hình student MVP:

  • Bài đã nộp.
  • Feedback theo rubric.
  • Việc cần sửa tiếp theo.
  • Revision editor.
  • Reflection prompt.
  • Skill progress đơn giản.

11. Privacy, Governance and Safety

Việc phải xử lý trước khi mở rộng

1. Dọn secrets/API keys khỏi repo và settings hard-code. 2. Tạo object-level permission cho SyClass, SyActivitySubmission, parent report, assessment result. 3. Audit webhook Sepay/Zalo signature và idempotency. 4. Rate limit AI endpoints. 5. Không gửi dữ liệu vượt scope vào LLM.

Permission rules

| Role | Được xem | Không được xem mặc định | | --- | --- | --- | | Owner/Admin | Tổng quan tổ chức, lớp, vận hành | Có audit khi xem dữ liệu học tập nhạy cảm | | Academic Manager | Rubric, objective, class analytics, AI quality | Dữ liệu tài chính chi tiết nếu không có role | | Teacher | Lớp được phân công, submission của lớp, review queue | Lớp của giáo viên khác | | Student | Bài, feedback, revision, progress của mình | Dữ liệu bạn học | | Parent | Summary và thông tin được phép của con | Raw AI details, dữ liệu nhạy cảm của lớp | | Sales | Lead, purchase, payment, enrollment workflow | Submission chi tiết, learner weakness |

AI governance rules

1. Mọi AI output quan trọng phải tạo AIRun. 2. AIRun lưu model, prompt version, input hash, output, latency, token/cost nếu có. 3. AI output high-stakes phải có human review. 4. AI output phải có structured schema, không chỉ free text. 5. AI incident phải được review định kỳ. 6. Prompt templates phải versioned. 7. Không bật emotion recognition, biometric, webcam inference trong MVP.

12. Evidence and Evaluation Plan

MVP hypotheses

Hypothesis 1:

AI feedback có structured rubric + teacher review sẽ giảm thời gian phản hồi mà không làm giảm chất lượng nhận xét.

Hypothesis 2:

Revision loop sẽ làm người học sửa bài nhiều hơn và giảm lỗi lặp lại theo skill.

Hypothesis 3:

Error clustering giúp giáo viên chọn đúng nội dung dạy lại và giảm workload phân tích bài làm.

Hypothesis 4:

AI audit + teacher incident marking giúp cải thiện prompt/rubric qua từng chu kỳ.

Metrics

| Metric | Loại | Cách đọc | | --- | --- | --- | | Feedback turnaround time | Workload/process | Thời gian từ submission đến feedback usable | | Teacher review time | Workload | AI có giảm tải thật không | | Teacher edit rate | AI quality | Feedback AI bị sửa nhiều ở đâu | | Feedback uptake | Learning process | Student có sửa theo feedback không | | Revision quality delta | Learning outcome gần | Bản sửa tốt hơn bản đầu không | | Error recurrence | Retention/transfer gần | Lỗi có lặp lại ở bài sau không | | Student reflection completion | Metacognition | Có phản tư sau feedback không | | AI incident rate | Safety/quality | Lỗi AI theo task/rubric/model | | Parent summary complaint/confusion | Communication safety | Phụ huynh hiểu đúng không |

Không dùng các metric này làm bằng chứng học tập chính:

  • Số lần login.
  • Time-on-platform.
  • Số lượt AI generation.
  • Số bài tập AI tạo.
  • Satisfaction đứng một mình.

Pilot design

Pilot 1: IELTS Writing hoặc Speaking ở 2-3 lớp thật.

Duration: 4-8 tuần.

Baseline:

  • Thời gian chấm/feedback trước Learning Core.
  • Tỷ lệ học viên sửa bài.
  • Lỗi lặp lại ở 2-3 assignment gần nhất.

Evaluation:

  • So sánh trước/sau về feedback turnaround, revision quality, teacher workload.
  • Phỏng vấn ngắn giáo viên.
  • Thu 5-10 case feedback AI bị sửa nhiều để cải thiện prompt/rubric.

Decision:

  • Expand nếu giảm workload hoặc tăng feedback quality mà không tăng AI incident nghiêm trọng.
  • Iterate nếu AI feedback dùng được nhưng quá chung/sai rubric.
  • Stop nếu giáo viên phải sửa quá nhiều, học viên ít sửa bài hơn, hoặc privacy/permission chưa ổn.

13. MVP Scope

In scope

1. Tạo app learning_core. 2. Adapter với model Synvia hiện có. 3. Objective/skill map cho writing/speaking. 4. Rubric versioning. 5. AI feedback wrapper quanh AIGradingService. 6. Structured feedback items. 7. Teacher review queue. 8. Student revision/reflection loop. 9. Error clustering theo lớp/assignment. 10. Learning events và pilot metrics. 11. Permission helpers và audit cho resource nhạy cảm.

Out of scope

1. Xây LMS mới. 2. Xây sale/CRM mới. 3. Thay thế toàn bộ AI grading hiện có. 4. AI tutor chat tự do. 5. Adaptive path tự động toàn phần. 6. Proctoring. 7. Emotion recognition. 8. Marketplace nội dung. 9. Full interoperability LTI/OneRoster. 10. Mobile app riêng.

First vertical

First vertical nên là language center writing/speaking assessment.

Lý do:

  • Synvia đã có writing/speaking metrics.
  • Trung tâm ngoại ngữ là thị trường hiện tại rõ nhất.
  • Feedback và revision loop tạo giá trị thấy ngay.
  • Rủi ro thấp hơn so với AI tutor tự do hoặc predictive risk.

14. Roadmap

Phase 0: Safety and readiness

Thời lượng: 1-2 tuần.

Deliverables:

  • Secrets/config audit.
  • Object-level permission helpers cho class/submission.
  • Test nền cho permission.
  • Architecture note cho learning_core.
  • Adapter skeleton.

Exit criteria:

  • Không mở rộng AI/learning data khi secrets còn hard-code hoặc permission chưa có.

Phase 1: Feedback evidence loop

Thời lượng: 3-5 tuần.

Deliverables:

  • Objective/skill model.
  • Rubric model.
  • Assignment-objective/rubric binding.
  • AIRun + prompt template.
  • AI feedback wrapper.
  • AssessmentResult + FeedbackItem.
  • Teacher review.
  • Student feedback view.

Exit criteria:

  • Một lớp writing/speaking có thể chạy từ submission đến feedback review.

Phase 2: Revision and teacher workbench

Thời lượng: 3-4 tuần.

Deliverables:

  • SubmissionRevision.
  • Reflection prompt.
  • Feedback uptake events.
  • Error clusters.
  • Teacher workbench class panel.
  • Intervention actions.

Exit criteria:

  • Giáo viên thấy lỗi phổ biến, tạo action và xem người học có sửa không.

Phase 3: Pilot evaluation

Thời lượng: 4-8 tuần pilot thật.

Deliverables:

  • Pilot dashboard.
  • Teacher workload metrics.
  • AI incident review.
  • Revision quality report.
  • Decision log: expand/iterate/stop.

Exit criteria:

  • Có bằng chứng đủ để quyết định mở rộng hoặc sửa.

Phase 4: Personalisation and curriculum depth

Thời lượng: sau MVP.

Deliverables:

  • Skill mastery estimate.
  • Spaced review queue.
  • Asset-based learner notes.
  • Adaptive practice có giải thích và override.

Exit criteria:

  • Cá nhân hóa tăng agency và giảm lỗi lặp, không khóa người học vào nhãn.

15. Risks and Open Questions

Technical risks

1. Legacy model complexity: sy/models/lms.py lớn, dễ tạo coupling nếu chạm trực tiếp. 2. Permission risk: thiếu object-level permission có thể lộ dữ liệu lớp/bài làm. 3. Secrets risk: API keys/settings hard-code phải xử lý trước production expansion. 4. AI reliability risk: Gemini output có thể sai schema, sai rubric, hoặc quá tự tin. 5. Data duplication risk: nếu copy dữ liệu Synvia sang Learning Core quá sớm, sẽ lệch nguồn sự thật. 6. Test gap: nghiệp vụ sy cần test trước khi refactor.

Product risks

1. Giáo viên thấy AI review queue là thêm việc nếu UI không tốt. 2. Học viên có thể đọc feedback nhưng không sửa nếu revision loop yếu. 3. Owner có thể muốn dashboard đẹp hơn evidence thật. 4. Sale có thể muốn dùng learner weakness để upsell, cần guardrail rõ. 5. Parent summary có thể gây áp lực nếu ngôn ngữ quá tiêu cực.

Research/open questions

1. AI feedback có cải thiện revision quality hay chỉ làm bài trông mượt hơn? 2. Error clustering có thật sự dẫn đến dạy lại không? 3. Giáo viên sửa AI nhiều ở tiêu chí nào? 4. Học viên yếu có được hỗ trợ tốt hơn hay bị gắn nhãn hơn? 5. Rubric chung theo trung tâm có đủ hay cần rubric theo giáo viên/lớp? 6. Chi phí AI trên mỗi bài nộp có bền không? 7. Khi nào có thể cho AI feedback formative gửi trực tiếp không cần review từng bài?

Decision Summary

Quyết định kiến trúc chính:

1. Không xây sản phẩm riêng từ đầu. 2. Không nhồi Learning Core vào sy/models/lms.py. 3. Tạo app mới learning_core. 4. Dùng adapter để đọc/ghi từ Synvia hiện tại. 5. MVP tập trung vào AI assessment, feedback, teacher review, revision và evidence. 6. Xử lý secrets, object-level permission và AI audit trước khi scale.

Hình thái sản phẩm mong muốn:

> Synvia vẫn là hệ thống vận hành trung tâm. Synvia Learning Core là lớp học tập thực chứng chạy bên trong nó, biến bài nộp, feedback, revision, teacher review và dữ liệu lớp thành một vòng cải thiện học tập có kiểm soát.