Fidea AI Docs
Thuật toán

Bộ máy tính mức độ cần học

Cách kết hợp self need, diagnostic need và reliability weight thành need score.

Need trả lời:

Người học đang cần học Learning Unit này đến đâu?

Need chỉ mô tả trạng thái người học. Nó không mô tả tầm quan trọng của môn học.

1. Self Need — nhu cầu từ tự đánh giá

Nself=1CselfN_{self}=1-C_{self}

Trong đó CselfC_{self}self_confidence.

Ví dụ raw 2 cho Cself=0.25C_{self}=0.25, nên:

Nself=10.25=0.75N_{self}=1-0.25=0.75

2. Diagnostic Need — nhu cầu từ chẩn đoán

Chỉ tính khi mastery tồn tại:

Ndiag=1MN_{diag}=1-M

Nếu mastery = null, Ndiag=nullN_{diag}=\text{null}; không được thay bằng 1 hoặc 0.

3. Reliability weight — trọng số độ tin cậy

w={0,not_assessed0,unverifiedCevidence,partial1,verifiedw= \begin{cases} 0, & \text{not\_assessed} \\ 0, & \text{unverified} \\ C_{evidence}, & \text{partial} \\ 1, & \text{verified} \end{cases}

verified → 1 là policy weight — trọng số chính sách, không phải tuyên bố chắc chắn tuyệt đối 100%.

4. Final Need — nhu cầu cuối

Khi diagnostic need tồn tại:

N=wNdiag+(1w)NselfN=wN_{diag}+(1-w)N_{self}

Khi diagnostic need không tồn tại:

N=NselfN=N_{self}

5. Ví dụ

Người học tự đánh giá raw 5:

Cself=1.0,Nself=0C_{self}=1.0,\qquad N_{self}=0

Diagnostic partial cho:

M=0.4,Cevidence=0.5,Ndiag=0.6M=0.4,\quad C_{evidence}=0.5,\quad N_{diag}=0.6

Do đó:

N=0.5×0.6+0.5×0=0.3N=0.5\times0.6+0.5\times0=0.3

Nếu diagnostic trở thành verified:

N=1×0.6+0×0=0.6N=1\times0.6+0\times0=0.6

Hệ thống chuyển dần từ tin self-report sang tin evidence khi bằng chứng mạnh hơn.

6. Confidence gap không cộng vào Need

confidence_gap được giữ cho explanation và risk analysis. V1 không cộng thêm bonus vì “ảo tưởng năng lực”; làm vậy sẽ đếm diagnostic signal hai lần.

7. Thuật ngữ

  • Need — mức độ cần học: độ thiếu hụt theo trạng thái người học.
  • Self signal — tín hiệu tự khai báo: suy từ số sao.
  • Diagnostic signal — tín hiệu chẩn đoán: suy từ mastery có bằng chứng.
  • Reliability weight — trọng số độ tin cậy: mức hệ thống ưu tiên diagnostic signal.
  • Blending — trộn tín hiệu: kết hợp hai nguồn bằng trọng số.

8. Tham chiếu code

  • src/agents/priority/need_engine.py
  • src/agents/schemas/learning_priority.py