Skip to content

Trải nghiệm học theo tinh thần IB ​

Trang này đã bị thay thế

Mô hình 5 chặng (engage → explore → explain → elaborate → evaluate) mô tả ở đây đã bị gỡ khỏi hệ thống ngày 28.08.2026, cùng route /concepts/:id và các component LessonJourney, InquiryStep.

Chuẩn đang chạy: Trải nghiệm học của một bài.

Giữ trang này làm hồ sơ vì phần tinh thần của nó không sai, người học tự xây dựng hiểu biết trước khi khái niệm được gọi tên, và mô hình mới kế thừa đúng tinh thần đó. Cái bị bỏ là cách hiện thực: nội dung 5E ghép tại chỗ bằng mã từ context_json nên không ai sửa nổi một câu.

Chuẩn thiết kế bài học trên Tokyo.

Mạch trải nghiệm ​

Trước đây bài học đi theo Định nghĩa → Ví dụ → Trắc nghiệm → Nhớ. Nay đổi thành:

Vấn đề → Dự đoán → Khám phá → Quy luật → Khái niệm → Bằng chứng → Lập luận → Chuyển giao → Phản tư

Người học tự xây dựng và bảo vệ hiểu biết, thay vì học thuộc đáp án.

Ngữ pháp màn hình ​

Bài học là chuỗi màn thuộc tám loại. Thứ tự chính là phần sư phạm: người học phải cam kết một phán đoán và giải thích lý do trước khi khái niệm được gọi tên.

Loại mànNgười học làm gìRàng buộc
predictChọn 1–2 nhân vật trong tình huống nhiều nhân vậtKhông có đáp án đúng; phản hồi chỉ đào sâu lý do
reasonViết vì sao mình chọn như vậyBắt buộc đi ngay sau predict
rankTự xếp 6–8 trường hợp thành continuumKhông cho sẵn nhóm
revealĐối chiếu với một cách nhìn khả dĩChỉ mở sau khi đã trả lời
conceptLần đầu thấy tên khái niệm + khung tiến triểnTên khái niệm không được xuất hiện trước màn này
matchGhép bằng chứng vào đúng nhómKèm câu hỏi bao hàm ("mọi X đều là Y?")
judgePhán một case mới và nêu bằng chứngLuôn có phương án "Chưa đủ bằng chứng"
reflectSo sánh hiểu biết trước và sauBắt buộc có câu "ban đầu bạn nghĩ… là gì"

Cấu trúc bắt buộc theo phase ​

PhaseMànSố lượng
Khơi mởpredict1
Tự khám pháreason → rank2
Hiểu rõconcept → match2
Vận dụngjudge × 3–43–4
Tự kiểmjudge → reflect2

Tổng khoảng 10–11 màn mỗi concept.

Bốn bất biến: kiểm bằng code ​

Không dựa vào prompt

Kinh nghiệm nhiều vòng: dặn dò trong prompt không giữ được. Mô hình vi phạm lặp lại. Mọi ràng buộc dưới đây đều được kiểm hoặc tự chèn tại thời điểm ghi vào database.

  1. Không lộ tên khái niệm trước màn concept, kiểm bằng cách quét name_en của cả ba khái niệm trong unit qua mọi màn thuộc engage và explore. Vi phạm thì sinh lại (tối đa 3 lần).
  2. Vận dụng phải có ít nhất 3 màn judge, ép bằng schema, dùng literal type cho từng phase thay vì enum để mô hình không chọn được đường dễ.
  3. Mọi màn judge có phương án "Chưa đủ bằng chứng", tự chèn bằng code nếu mô hình quên, không sinh lại.
  4. Phản tư có câu so sánh trước/sau, tự chèn bằng code nếu không có câu nào hỏi điều đó.

Chỉ chặn tên tiếng Anh (Lead / Prospect / Customer). Tên tiếng Việt như "khách hàng tiềm năng" là cụm nói thường ngày, chặn cả nó sẽ làm hỏng kịch bản mà không được gì về mặt sư phạm.

Quy tắc nội dung ​

  • Độ dài body tối đa 90 từ mỗi màn, ngắt 2 đoạn.
  • Câu hỏi mở luôn hỏi lập luận và bằng chứng, không hỏi định nghĩa.
  • Không lặp lại nội dung của reveal trong body, có hàm stripDuplicates xoá câu trùng khi ghi.
  • Không để chữ của đáp án đúng xuất hiện trong câu hỏi (leaksAnswer loại bỏ item vi phạm).

Chuyển động ​

Dùng thư viện motion (motion/react). Nguyên tắc:

  • Chuyển màn: mờ dần + trượt ngang 16px, thời lượng 280ms, easing [0.16, 1, 0.3, 1].
  • Thanh tiến độ: scaleX với originX: 0, cùng transition.
  • Panel đối chiếu: mờ dần + trượt lên 8px.
  • Luôn tôn trọng useReducedMotion(), người dùng bật giảm chuyển động thì duration: 0.

Chuyển động ở đây để giữ mạch "đang đi qua một chuỗi". Không dùng hiệu ứng trang trí.

Nơi cài đặt ​

Thành phầnTệp
Engine soạn nội dungapi.conan.school/src/domains/course-intelligence/authoring.ts
Kiểm bất biếncùng tệp, hàm assertJourneyInvariants
Giao diện bài họccom.conan.school/app/components/course/LessonJourney.tsx, đã xoá 28.08.2026
Trang conceptcom.conan.school/app/routes/concepts.$id.tsx, đã xoá; đường hiện hành là learn.lesson.$lessonId.tsx

Tài liệu nội bộ nền tảng Conan School.