Đánh giá Tổng thể Kế hoạch Công việc W1–W16 — Dự án CXK
Ngày phân tích: 25/09/2026
Source of Truth:docs/research/plans/KIEN_TRUC_DU_AN.mdv4.0
Phạm vi: 16 tuần (W1→W16), 8 Sprint, ~160 file kế hoạch
Phương pháp: 4 agent phân tích song song (mỗi agent 4 tuần) → tổng hợp 7 phần
PHẦN A — Kiểm tra Tính nhất quán (Consistency Audit)
A.1 Bảng đối chiếu Sprint 1 (W1 + W2)
File 10 yêu cầu 12 task (1.1–1.12):
| Task file 10 | Mô tả | Có trong W1? | Có trong W2? | File ngày | Ghi chú |
|---|---|---|---|---|---|
| 1.1 | Tạo cấu trúc thư mục + migration | ❌ | ❌ | — | Thiếu hoàn toàn |
| 1.2 | Source registry CSV | ✅ | — | W1/D02 | Khớp |
| 1.3 | Bảng phân loại (taxonomy) v1 | ✅ | ✅ (v1.1) | W1/D04, W2/D11 | Khớp |
| 1.4 | Trích xuất thẻ tri thức từ BYT+ĐHYHN | — | ✅ | W2/D08 | Khớp |
| 1.5 | Safety charter + red flag rules | ✅ | — | W1/D05 | Khớp |
| 1.6 | Project charter + intended use | ✅ | — | W1/D01 | Khớp |
| 1.7 | Obsidian templates (KC, FAQ, Case) | ❌ | ❌ | — | Thiếu hoàn toàn |
| 1.8 | Kickoff | ✅ | — | W1/D06 | Khớp |
| 1.9 | Nhật ký nghiên cứu | ✅ | ✅ | W1/D01+ | Khớp |
| 1.10 | Setup Obsidian vault + MSSQL schema | ❌ | ❌ | — | Thiếu hoàn toàn |
| 1.11 | Cài Obsidian cho NCS + CVYK | ❌ | ❌ | — | Thiếu hoàn toàn |
| 1.12 | Tạo MOC cho 7 nhóm bệnh | ❌ | ❌ | — | Thiếu hoàn toàn |
| — | License management | — | ✅ (Dư) | W2/D10 | Không có trong Sprint 1 |
| — | Compliance | — | ✅ (Dư) | W2/D13 | Không có trong Sprint 1 |
| — | Triage framework | — | ✅ (Dư) | W2/D12 | Tách riêng, không cần ở Sprint 1 |
Kết luận Sprint 1: 7/12 task khớp. 5 task thiếu (toàn bộ cụm Obsidian: 1.1, 1.7, 1.10, 1.11, 1.12). 3 task dư trong W2.
A.2 Bảng đối chiếu Sprint 2 (W3 + W4)
File 10 yêu cầu 8 task (2.1–2.8):
| Task file 10 | Mô tả | Có trong W3? | Có trong W4? | File ngày | Ghi chú |
|---|---|---|---|---|---|
| 2.1 | Trích xuất KC thoái hóa khớp | ✅ | — | W3/README | Khớp |
| 2.2 | Trích xuất KC đau lưng | ✅ | — | W3/README | Khớp |
| 2.3 | Trích xuất KC loãng xương + té ngã | ✅ | — | W3/README | Khớp |
| 2.4 | Trích xuất KC lão khoa | ✅ | — | W3/README | Khớp |
| 2.5 | CVYK review trên Obsidian | ❌ | ❌ | — | Thiếu |
| 2.6 | Wikilinks giữa KC, FAQ, Safety | ❌ | ❌ | — | Thiếu |
| 2.7 | Sinh FAQ draft (100 câu) | ✅ | — | W3/README | Mâu thuẫn: chỉ 50 câu thay vì 100 |
| 2.8 | Cổng kiểm soát A: Knowledge | — | ✅ | W4/README | Khớp |
| — | Benchmark cases (thuộc Sprint 3) | — | ✅ (Dư) | W4/README | Kéo ngược từ Sprint 3 |
Kết luận Sprint 2: 6/8 task khớp. 2 task thiếu (CVYK Obsidian review, Wikilinks). 1 task dư kéo từ Sprint 3. FAQ bị giảm scope 50%.
A.3 Bảng đối chiếu Sprint 3 (W5 + W6)
File 10 yêu cầu 7 task (3.1–3.7):
| Task file 10 | Mô tả | Có trong W5? | Có trong W6? | File ngày | Ghi chú |
|---|---|---|---|---|---|
| 3.1 | Context Loader module (đọc MD, không chunk) | ❌ | ❌ | — | ⛔ Mâu thuẫn nghiêm trọng. W5 làm RAG + ChromaDB (D29), đi ngược kiến trúc GĐ1 |
| 3.2 | Prompt Template system | ❌ | ❌ | — | Thiếu |
| 3.3 | Test long-context recall | ❌ | ❌ | — | Thiếu |
| 3.4 | Test context window utilization | ❌ | ❌ | — | Thiếu |
| 3.5 | Đưa cờ đỏ vào đầu/cuối context | ❌ | Khác | W6/D38 | Làm Safety Engine dựa trên RAG (sai nền tảng) |
| 3.6 | Sinh 100 test cases + CVYK gold label | ❌ | ❌ | — | Thiếu (chỉ 20 câu ở W8) |
| 3.7 | Test Gemini Context Caching | ❌ | ❌ | — | Thiếu |
| — | RAG pipeline + ChromaDB | ✅ (Dư) | — | W5/D29 | ⛔ Không có trong GĐ1 |
| — | Citation engine (dựa RAG) | — | ✅ (Dư) | W6/D36 | Đúng task 4.2 nhưng sai nền tảng |
| — | FastAPI backend | ✅ (Dư) | — | W5/D30 | Thuộc Sprint 4, làm sớm |
| — | IIS deployment | — | ✅ (Dư) | W6/D39 | Thuộc Sprint 4, làm sớm |
⛔ Kết luận Sprint 3: 0/7 task khớp đúng. Toàn bộ W5–W6 đi ngược kiến trúc GĐ1 (Obsidian-Markdown thuần). Đây là sai lệch nghiêm trọng nhất trong toàn bộ kế hoạch.
A.4 Bảng đối chiếu Sprint 4 (W7 + W8)
File 10 yêu cầu 7 task (4.1–4.7):
| Task file 10 | Mô tả | Có trong W7? | Có trong W8? | File ngày | Ghi chú |
|---|---|---|---|---|---|
| 4.1 | Safety engine | ❌ | ❌ | — | Đã làm ở W6 nhưng dựa trên RAG (sai) |
| 4.2 | Citation engine | ❌ | ❌ | — | Đã làm ở W6 nhưng dựa trên RAG (sai) |
| 4.3 | Prompt engineering long-context | ❌ | ❌ | — | Thiếu |
| 4.4 | FastAPI server behind IIS | Có phần | — | W7/D44 | API integration |
| 4.5 | Luồng hội thoại | Có phần | — | W7/D44 | Gộp chung |
| 4.6 | Audit logging MSSQL | — | ❌ | — | Đã làm ở W5 (sớm) |
| 4.7 | Cổng kiểm soát B: Technical | — | ✅ | W8/D53-D54 | Khớp |
| — | Vue 3 Frontend (thuộc Sprint 5) | ✅ (Dư) | — | W7/D43 | Nhảy cóc Sprint 5 |
| — | Accessibility (thuộc Sprint 5) | ✅ (Dư) | — | W7/D45 | Nhảy cóc Sprint 5 |
Kết luận Sprint 4: 2/7 task khớp. Hầu hết đã bị kéo lên W5–W6 (sai nền tảng) hoặc nhảy cóc sang Sprint 5. Test cases chỉ 20 thay vì 100.
A.5 Bảng đối chiếu Sprint 5 (W9 + W10)
File 10 yêu cầu 6 task (5.1–5.6):
| Task file 10 | Mô tả | Có trong W9? | Có trong W10? | File ngày | Ghi chú |
|---|---|---|---|---|---|
| 5.1 | Design wireframe trợ năng | ✅ | — | W9/D57-D58 | Khớp |
| 5.2 | Implement web frontend | ✅ | — | W9/D57-D59 | Khớp |
| 5.3 | Tích hợp STT | ❌ | ❌ | — | ⛔ Thiếu hoàn toàn module Voice |
| 5.4 | Tích hợp TTS | ❌ | ❌ | — | ⛔ Thiếu hoàn toàn module Voice |
| 5.5 | Test nội bộ 3–5 người | — | ✅ | W10/D67 | Khớp |
| 5.6 | Accessibility audit | ✅ | — | W9/D60 | Khớp |
Kết luận Sprint 5: 4/6 task khớp. Thiếu hẳn module Voice (STT/TTS) — tính năng quan trọng cho NCT.
A.6 Bảng đối chiếu Sprint 6 (W11 + W12)
File 10 yêu cầu 6 task (6.1–6.6):
| Task file 10 | Mô tả | Có trong W11? | Có trong W12? | File ngày | Ghi chú |
|---|---|---|---|---|---|
| 6.1 | Chạy benchmark 100 cases | ✅ | — | W11/D71-D72 | Khớp |
| 6.2 | Red-team testing | ✅ | — | W11/D74 | Khớp |
| 6.3 | Đánh giá latency | — | — | — | Thiếu (gộp không rõ) |
| 6.4 | CVYK review 20 logs | — | ✅ | W12/D80 | Khớp (blind review) |
| 6.5 | Tinh chỉnh prompt | — | ✅ | W12/D78 | Khớp |
| 6.6 | Cổng kiểm soát C | — | ✅ | W12/D82 | Khớp |
Kết luận Sprint 6: 5/6 task khớp. Sprint tốt nhất toàn dự án.
A.7 Bảng đối chiếu Sprint 7 (W13 + W14)
File 10 yêu cầu 5 task (7.1–7.5):
| Task file 10 | Mô tả | Có trong W13? | Có trong W14? | File ngày | Ghi chú |
|---|---|---|---|---|---|
| 7.1 | Tích hợp Telegram bot | ❌ | ❌ | — | ⛔ Thiếu hoàn toàn |
| 7.2 | Tuyển người dùng 20-30 NCT | ✅ | — | W13/D85-D86 | Khớp |
| 7.3 | Chạy pilot 2 tuần | ✅ | ✅ | W13/D87, W14/D92 | Khớp |
| 7.4 | Hỗ trợ qua Telegram/Web | ❌ | ❌ | — | Thiếu |
| 7.5 | Phỏng vấn 5 users | ✅ | ✅ | W13/D88, W14/D92 | Khớp |
| — | Phân tích pilot (thuộc Sprint 8) | — | ✅ (Dư) | W14/D93-D94 | Kéo sớm từ task 8.1 |
| — | Gate D review (thuộc Sprint 8) | — | ✅ (Dư) | W14/D96 | ⛔ Mâu thuẫn: Gate D đáng lẽ cuối W16 |
Kết luận Sprint 7: 3/5 task khớp. Thiếu Telegram bot (task 7.1). Gate D bị kéo sớm gây nhầm lẫn.
A.8 Bảng đối chiếu Sprint 8 (W15 + W16)
File 10 yêu cầu 7 task (8.1–8.7):
| Task file 10 | Mô tả | Có trong W15? | Có trong W16? | File ngày | Ghi chú |
|---|---|---|---|---|---|
| 8.1 | Phân tích dữ liệu pilot | ❌ | ❌ | — | Đã kéo về W14 (sớm) |
| 8.2 | Cập nhật FAQ từ logs | ❌ | ❌ | — | ⛔ Thiếu hoàn toàn |
| 8.3 | Đánh giá trigger chuyển GĐ2 | ❌ | ❌ | — | ⛔ Thiếu hoàn toàn |
| 8.4 | Chuẩn bị báo cáo cuối | ✅ | ✅ | W15/D99-D104, W16/D106 | Khớp |
| 8.5 | Slides bảo vệ | ✅ | ✅ | W15/D101, W16/D107 | Khớp |
| 8.6 | Roadmap mở rộng | ❌ | ❌ | — | ⛔ Thiếu hoàn toàn |
| 8.7 | Cổng kiểm soát D | — | ✅ | W16/D109 | Bị đổi tên "Gate Final", nhầm lẫn với Gate D ở W14 |
Kết luận Sprint 8: 3/7 task khớp. 3 task thiếu hoàn toàn (8.2, 8.3, 8.6). Gate D bị dùng nhầm giữa W14 và W16.
A.9 Tổng hợp Consistency
| Sprint | Tổng task file 10 | Khớp | Thiếu | Dư | Mâu thuẫn | Tỷ lệ khớp |
|---|---|---|---|---|---|---|
| Sprint 1 (W1-W2) | 12 | 7 | 5 | 3 | 0 | 58% |
| Sprint 2 (W3-W4) | 8 | 6 | 2 | 1 | 1 | 75% |
| Sprint 3 (W5-W6) | 7 | 0 | 7 | 4 | 1 | ⛔ 0% |
| Sprint 4 (W7-W8) | 7 | 2 | 3 | 2 | 0 | 29% |
| Sprint 5 (W9-W10) | 6 | 4 | 2 | 0 | 0 | 67% |
| Sprint 6 (W11-W12) | 6 | 5 | 1 | 0 | 0 | 83% |
| Sprint 7 (W13-W14) | 5 | 3 | 2 | 2 | 1 | 60% |
| Sprint 8 (W15-W16) | 7 | 3 | 3 | 0 | 1 | 43% |
| TỔNG | 58 | 30 | 25 | 12 | 4 | 52% |
⛔ Chỉ 52% task trong file 10 được triển khai đúng trong kế hoạch tuần.
PHẦN B — Phân tích Khối lượng & Tính khả thi (Workload Feasibility)
B.1 Bảng Effort NCS theo tuần
| Tuần | Sprint | Effort NCS (h) | Budget (h) | Vượt/Thiếu | % sử dụng | Đánh giá |
|---|---|---|---|---|---|---|
| W1 | S1 | 17 | 24–28 | −7 đến −11 | 61–71% | ⚠️ Dưới budget |
| W2 | S1 | 7 | 24–28 | −17 đến −21 | 25–29% | ⛔ Quá thấp |
| W3 | S2 | 9 | 24–28 | −15 đến −19 | 32–38% | ⛔ Quá thấp |
| W4 | S2 | 9 | 24–28 | −15 đến −19 | 32–38% | ⛔ Quá thấp |
| W5 | S3 | 10 | 24–28 | −14 đến −18 | 36–42% | ⛔ Quá thấp |
| W6 | S3 | 10 | 24–28 | −14 đến −18 | 36–42% | ⛔ Quá thấp |
| W7 | S4 | 8 | 24–28 | −16 đến −20 | 29–33% | ⛔ Quá thấp |
| W8 | S4 | 10 | 24–28 | −14 đến −18 | 36–42% | ⛔ Quá thấp |
| W9 | S5 | 6 | 24–28 | −18 đến −22 | 21–25% | ⛔ Cực thấp |
| W10 | S5 | 4 | 24–28 | −20 đến −24 | 14–17% | ⛔ Cực thấp |
| W11 | S6 | 10 | 24–28 | −14 đến −18 | 36–42% | ⛔ Quá thấp |
| W12 | S6 | 10 | 24–28 | −14 đến −18 | 36–42% | ⛔ Quá thấp |
| W13 | S7 | 9 | 24–28 | −15 đến −19 | 32–38% | ⛔ Quá thấp |
| W14 | S7 | 7.25 | 24–28 | −17 đến −21 | 26–30% | ⛔ Quá thấp |
| W15 | S8 | 7 | 24–28 | −17 đến −21 | 25–29% | ⛔ Quá thấp |
| W16 | S8 | 7.75 | 24–28 | −16 đến −20 | 28–32% | ⛔ Quá thấp |
Trung bình: 8.8h/tuần → Chỉ 32–37% budget.
⛔ Vấn đề hệ thống: Toàn bộ 16 tuần đều dưới budget. NCS đang lãng phí 60–70% thời gian có thể làm việc. Nguyên nhân chính: không phân task vào cuối tuần (T7–CN).
B.2 Phân bổ Thứ 7–Chủ nhật
| Tuần | T7 có task nặng? | CN có task nặng? | Nhận xét |
|---|---|---|---|
| W1 | ✅ (Infra prep, 2h) | ❌ Nghỉ | Chỉ dùng 2h/8h |
| W2 | ❌ | ❌ | Lãng phí 12–16h |
| W3 | ❌ | ❌ | Lãng phí 12–16h |
| W4 | ❌ | ❌ | Lãng phí 12–16h |
| W5 | ❌ (Buffer) | ❌ Nghỉ | Lãng phí 12–16h |
| W6 | ❌ (CVYK Review) | ❌ | Lãng phí 6–8h NCS |
| W7 | ❌ (Buffer 2h) | ❌ | Lãng phí 12–16h |
| W8 | ❌ (Retro nhẹ) | ❌ | Lãng phí 12–16h |
| W9 | ❌ | ❌ | Lãng phí 12–16h |
| W10 | ❌ | ❌ | Lãng phí 12–16h |
| W11 | ❌ | ❌ | Lãng phí 12–16h |
| W12 | ❌ (Report nhẹ) | ❌ | Lãng phí 12–16h |
| W13 | ❌ (Dự phòng) | ❌ Nghỉ | Lãng phí 6–8h |
| W14 | ❌ (Dự phòng) | ❌ Nghỉ | Lãng phí 6–8h |
| W15 | ✅ (Chỉnh Word, 1.5h) | ❌ | Chỉ dùng 1.5h/8h |
| W16 | ❌ | ❌ | Lãng phí 12–16h |
⛔ 0/16 tuần tận dụng đúng cuối tuần. Đây là nguyên nhân gốc khiến effort NCS quá thấp.
B.3 Effort CVYK và GVHD
| Tuần | CVYK (h) | Budget | OK? | GVHD (h) | Budget | OK? |
|---|---|---|---|---|---|---|
| W1 | 0 | ≤4 | ✅ | 2.9 | ≤3 | ✅ |
| W2 | 2 | ≤4 | ✅ | 1.25 | ≤3 | ✅ |
| W3 | ~0 | ≤4 | ✅ | ~1 | ≤3 | ✅ |
| W4 | ~2 | ≤4 | ✅ | ~1.5 | ≤3 | ✅ |
| W5 | 0 | ≤4 | ✅ | ~1 | ≤3 | ✅ |
| W6 | ~2 | ≤4 | ✅ | ~1 | ≤3 | ✅ |
| W7 | 0 | ≤4 | ✅ | 1.25 | ≤3 | ✅ |
| W8 | 2 | ≤4 | ✅ | 1.75 | ≤3 | ✅ |
| W9 | 0 | ≤4 | ✅ | 1.25 | ≤3 | ✅ |
| W10 | 0.5 | ≤4 | ✅ | 1.25 | ≤3 | ✅ |
| W11 | 2.5 | ≤4 | ✅ | 1.25 | ≤3 | ✅ |
| W12 | 4 | ≤4 | ⚠️ Sát trần | 2.25 | ≤3 | ✅ |
| W13 | 0 | ≤4 | ✅ | 1.75 | ≤3 | ✅ |
| W14 | 0 | ≤4 | ✅ | 1 | ≤3 | ✅ |
| W15 | 0 | ≤4 | ✅ | 1.25 | ≤3 | ✅ |
| W16 | 2 | ≤4 | ✅ | 3.25 | ≤3 | ⚠️ Vượt nhẹ |
CVYK và GVHD hầu hết trong budget. Chỉ W12 (CVYK sát trần do blind review) và W16 (GVHD vượt nhẹ do bảo vệ) cần lưu ý.
PHẦN C — Phản biện Nội dung (Content Critique)
C.1 Bảng phản biện tổng hợp
| Tuần | Điểm mạnh | Điểm yếu | Lỗ hổng nghiêm trọng | Đề xuất sửa |
|---|---|---|---|---|
| W1 | Task ID chi tiết, DoD rõ ràng, dependency logic tốt, risk coverage trong từng file ngày | Thiếu cụm Obsidian setup | 5 task cốt lõi bị bỏ sót (1.1, 1.7, 1.10–1.12) | Bổ sung task Obsidian vào T7–CN |
| W2 | File ngày có cấu trúc chuẩn, đo lường được | NCS trống việc, thêm task ngoài plan | Effort 7h/tuần quá thấp | Dồn Obsidian setup vào đây |
| W3 | Mục tiêu khớp Sprint 2 (trích xuất KC) | KHÔNG CÓ file kế hoạch ngày (D*) | Chỉ có README, thiếu Task ID, DoD, I/O | Viết lại toàn bộ W3 với file D* chi tiết |
| W4 | Gate A xuất hiện | Thiếu file ngày, kéo task Sprint 3 | Benchmark kéo ngược Sprint, CVYK review thiếu | Viết lại, tách benchmark về Sprint 3 |
| W5 | Có cấu trúc file ngày | ⛔ Đi ngược kiến trúc GĐ1 | RAG + ChromaDB thay vì Obsidian-Markdown | Viết lại hoàn toàn theo Context Loader |
| W6 | Safety engine có ý tưởng đúng | ⛔ Safety dựa trên RAG (sai nền tảng) | Citation engine sai kiến trúc | Viết lại hoàn toàn |
| W7 | Deliverable có file path rõ | Nhảy cóc Sprint 5 (Frontend) | Task nặng (Vue 3) xếp 2h ngày thường | Dời Frontend về W9, giữ Backend |
| W8 | Gate B có signoff, I/O rõ | Test cases chỉ 20/100 | Scope testing bị cắt 80% | Tăng test scope, tận dụng cuối tuần |
| W9 | Lighthouse audit ≥90, trợ năng tốt | Thiếu Voice module | STT/TTS bị bỏ sót | Bổ sung Voice vào W10 |
| W10 | IIS deployment có E2E test | Effort 4h/tuần cực thấp | Chỉ 10 test queries cho hệ thống y tế | Tăng effort + test queries |
| W11 | ⭐ Benchmark 100 cases, Red-team, ID chuẩn, luồng I/O xuất sắc | Cuối tuần không task | Under-budget NCS | Dồn code benchmark runner vào T7 |
| W12 | ⭐ Gate C nghiêm ngặt, blind review, sensitivity analysis, DoD sắc bén | CVYK sát trần 4h | NCS vẫn under-budget | Tối ưu lịch CVYK |
| W13 | Consent form, y đức, Task ID chuẩn, risk nhận diện tốt | Thiếu kênh hỗ trợ (task 7.4) | Effort 9h/tuần | Bổ sung Telegram bot setup |
| W14 | Dependency cực tốt, tư duy NCKH (cảnh báo N=5) | Gate D bị kéo sớm | Mâu thuẫn timing Gate D | Dời Gate D về W16, giữ phân tích |
| W15 | Human-in-the-loop, risk "viển vông" | Thiếu 3 task Sprint 8 (8.2, 8.3, 8.6) | FAQ update, trigger GĐ2, roadmap bị bỏ | Bổ sung 3 task vào T7–CN |
| W16 | Mock Defense, CVYK review cuối cùng, zip submission | GVHD vượt 3h nhẹ | Gate D nhầm lẫn với W14 | Chỉ giữ 1 Gate D ở W16 |
C.2 Vấn đề hệ thống (xuyên suốt 16 tuần)
- Format không đồng nhất: W1–W2 có file D chi tiết, W3–W4 chỉ có README, W5+ lại có file D nhưng thiếu chuẩn Task ID.
- Task nặng xếp sai ngày: Code, trích xuất, test luôn bị nhét vào T2–T6 (2h) thay vì T7–CN (6–8h).
- Cuối tuần mặc định "Nghỉ/Dự phòng": Lãng phí 12–16h/tuần nguồn lực chính.
- AI Agent underutilized: Nhiều task AI có thể tự làm (sinh FAQ, format, validate) nhưng lại giao NCS.
PHẦN D — Chấm điểm (Scoring)
D.1 Bảng điểm tổng hợp
| Tuần | Nhất quán | Khả thi | Chất lượng | Phân bổ TG | An toàn | Tổng /25 | Xếp hạng |
|---|---|---|---|---|---|---|---|
| W1 | 3 | 4 | 5 | 5 | 4 | 21 | 🥈 |
| W2 | 2 | 2 | 5 | 3 | 5 | 17 | |
| W3 | 3 | 2 | 1 | 2 | 3 | 11 | ⛔ |
| W4 | 2 | 2 | 1 | 2 | 4 | 11 | ⛔ |
| W5 | 1 | 2 | 2 | 1 | 3 | 9 | ⛔⛔ |
| W6 | 1 | 2 | 2 | 1 | 3 | 9 | ⛔⛔ |
| W7 | 2 | 1 | 4 | 1 | 3 | 11 | ⛔ |
| W8 | 3 | 2 | 4 | 2 | 3 | 14 | |
| W9 | 2 | 2 | 3 | 1 | 4 | 12 | |
| W10 | 2 | 1 | 3 | 1 | 3 | 10 | ⛔ |
| W11 | 5 | 3 | 5 | 2 | 5 | 20 | 🥉 |
| W12 | 5 | 4 | 5 | 2 | 5 | 21 | 🥈 |
| W13 | 4 | 3 | 5 | 4 | 5 | 21 | 🥈 |
| W14 | 2 | 3 | 5 | 4 | 5 | 19 | |
| W15 | 2 | 3 | 5 | 5 | 5 | 20 | 🥉 |
| W16 | 3 | 4 | 5 | 4 | 5 | 21 | 🥈 |
D.2 Thống kê
- Điểm trung bình: 15.4/25 (61.8%)
- Median: 14.5/25
- Độ lệch chuẩn: ~5.0
D.3 Top 3 tuần tốt nhất
| Hạng | Tuần | Điểm | Lý do |
|---|---|---|---|
| 🥇 | W1 / W12 / W13 / W16 | 21/25 | W1: format mẫu mực. W12: Gate C nghiêm ngặt. W13: y đức tốt. W16: Mock Defense |
| 🥈 | W11 / W15 | 20/25 | W11: Benchmark 100 cases xuất sắc. W15: Human-in-the-loop |
| 🥉 | W14 | 19/25 | Tư duy NCKH tốt (cảnh báo mẫu nhỏ) |
D.4 Top 3 tuần cần sửa gấp
| Hạng | Tuần | Điểm | Lý do |
|---|---|---|---|
| ⛔⛔ | W5 | 9/25 | Đi ngược kiến trúc GĐ1 (RAG thay vì Obsidian-Markdown) |
| ⛔⛔ | W6 | 9/25 | Tiếp tục sai kiến trúc, Safety Engine dựa RAG |
| ⛔ | W10 | 10/25 | Effort 4h/tuần, thiếu Voice, chỉ 10 test queries |
PHẦN E — Tái cân đối Kế hoạch (Rebalancing Plan)
E.1 Bảng hành động tái cân đối
| # | Hành động | Tuần cũ | Tuần mới | Task | Lý do |
|---|---|---|---|---|---|
| 1 | Viết lại | W5 | W5 | Context Loader (đọc MD, không chunk) | W5 hiện làm RAG → sửa thành Context Loader theo GĐ1 |
| 2 | Viết lại | W5 | W5 | Prompt Template system | Thiếu hoàn toàn |
| 3 | Viết lại | W6 | W6 | Test long-context recall + window utilization | Thiếu hoàn toàn |
| 4 | Viết lại | W6 | W6 | Safety engine (dựa trên Context Loading, không RAG) | Sai nền tảng |
| 5 | Loại bỏ | W5 | — | RAG pipeline + ChromaDB | Không thuộc GĐ1 |
| 6 | Loại bỏ | W2 | — | License management (D10) | Không có trong Sprint 1 |
| 7 | Loại bỏ | W2 | — | Compliance (D13) | Không có trong Sprint 1, dời về sau |
| 8 | Bổ sung | — | W1 (T7) | Tạo cấu trúc thư mục + migration (task 1.1) | Thiếu hoàn toàn, P0 |
| 9 | Bổ sung | — | W1 (CN) | Setup Obsidian vault + templates + MOC (task 1.7, 1.10, 1.12) | Thiếu hoàn toàn, P0 |
| 10 | Bổ sung | — | W2 (T7) | Cài Obsidian cho NCS + CVYK (task 1.11) | Thiếu hoàn toàn |
| 11 | Bổ sung | — | W3–W4 | File D* chi tiết cho từng ngày | W3–W4 chỉ có README |
| 12 | Bổ sung | — | W4 (T7–CN) | CVYK review trên Obsidian + Wikilinks (task 2.5, 2.6) | Thiếu |
| 13 | Bổ sung | — | W6 (T7) | Sinh 100 test cases + CVYK gold label (task 3.6) | Bị cắt còn 20 |
| 14 | Bổ sung | — | W6 (CN) | Test Gemini Context Caching (task 3.7) | Thiếu |
| 15 | Di chuyển | W7 | W9 | Vue 3 Frontend (task 5.1, 5.2) | Nhảy cóc Sprint → trả về đúng Sprint 5 |
| 16 | Bổ sung | — | W10 (T7–CN) | Tích hợp STT + TTS (task 5.3, 5.4) | Thiếu hoàn toàn |
| 17 | Bổ sung | — | W13 (T7) | Setup Telegram bot (task 7.1) | Thiếu hoàn toàn |
| 18 | Di chuyển | W14 | W16 | Gate D review | Gate D đúng phải ở cuối Sprint 8 |
| 19 | Bổ sung | — | W15 (T7) | Cập nhật FAQ từ logs (task 8.2) | Thiếu hoàn toàn |
| 20 | Bổ sung | — | W15 (CN) | Đánh giá trigger chuyển GĐ2 (task 8.3) | Thiếu hoàn toàn |
| 21 | Bổ sung | — | W16 (T7) | Lộ trình mở rộng (task 8.6) | Thiếu hoàn toàn |
| 22 | Chuyển vai trò | Mọi tuần | Mọi tuần | Sinh FAQ, format YAML, validate schema → AI Agent | Giảm tải NCS |
| 23 | Tái phân bổ | Mọi tuần | Mọi tuần | Task nặng → T7–CN (6–8h), task nhẹ → T2–T6 (2–4h) | Hệ thống toàn dự án |
E.2 Tóm tắt tác động
| Loại | Số lượng | Chi tiết |
|---|---|---|
| Viết lại hoàn toàn | 2 tuần (W5, W6) | Sửa kiến trúc GĐ1 |
| Bổ sung task thiếu | 13 task | Obsidian, Voice, Telegram, FAQ, Trigger, Roadmap |
| Loại bỏ task dư | 3 task | RAG, License, Compliance |
| Di chuyển task | 2 task | Frontend → W9, Gate D → W16 |
| Chuyển vai trò | Hệ thống | AI Agent nhận thêm task tự động |
| Tái phân bổ thời gian | Hệ thống | T7–CN = task nặng |
PHẦN F — Kế hoạch Tuần Mẫu (Viết lại 2 tuần cần sửa nhiều nhất)
F.1 Tuần 5 — Viết lại hoàn toàn (Sprint 3: Context Loading)
# Tuần 5 — Context Loading & Prompt Engineering
> **Sprint:** 3/8 | **Tuần:** 5/16
> **Ngày:** 19/10/2026 → 25/10/2026
> **Trọng tâm:** Xây dựng Context Loader (đọc file MD từ Vault, KHÔNG dùng RAG/ChromaDB)
> **Gate:** Không (Gate B ở cuối Sprint 4)
> **Effort NCS:** 26h (budget: 24–28h)
> **Effort CVYK:** 0h
> **Effort GVHD:** 1h (sync 30p × 2)
## Mục tiêu Tuần
1. Context Loader module đọc được file MD từ Obsidian Vault theo tag/category.
2. Prompt Template system gộp system prompt + context + safety rules + query.
3. Test long-context recall đạt ≥95% với 20 truy vấn mẫu.
## Dependency Map
flowchart TD
D29["T2: NCS review thiết kế Context Loader"] --> D30["T3: NCS review code AI sinh"]
D30 --> D31["T4: NCS test Prompt Template"]
D31 --> D32["T5: NCS review kết quả test"]
D32 --> D33["T6: NCS viết nhật ký + sync GVHD"]
D33 --> D34["T7: NCS code test recall (NẶNG)"]
D34 --> D35["CN: NCS debug + tối ưu (NẶNG)"]
## Lịch NCS
| Ngày | Thứ | Effort | Loại task | Mô tả | File ngày |
|---|---|---|---|---|---|
| 19/10 | T2 | 3h | Nhẹ | Review thiết kế Context Loader do AI soạn | D29_T2_review_context_loader.md |
| 20/10 | T3 | 3h | Nhẹ | Review code + chạy thử Context Loader | D30_T3_review_code.md |
| 21/10 | T4 | 3h | Vừa | Test Prompt Template, kiểm tra prompt output | D31_T4_prompt_template.md |
| 22/10 | T5 | 3h | Nhẹ | Review kết quả test, ghi nhận lỗi | D32_T5_review_test.md |
| 23/10 | T6 | 2h | Nhẹ | Nhật ký + sync GVHD 30p | D33_T6_nhat_ky.md |
| 24/10 | **T7** | **6h** | **NẶNG** | Code test long-context recall 20 queries | D34_T7_test_recall.md |
| 25/10 | **CN** | **6h** | **NẶNG** | Debug, tối ưu, đo token/latency/cost | D35_CN_debug_toi_uu.md |
## Deliverable Bắt buộc
| # | Deliverable | Path Dự kiến | Status |
|---|---|---|---|
| 1 | Context Loader module | `context-loader/scripts/02_load_files.py` | ⬜ |
| 2 | Prompt Template builder | `context-loader/scripts/03_build_prompt.py` | ⬜ |
| 3 | Kết quả test recall (20 queries) | `testing/results/W5_recall_test.md` | ⬜ |
| 4 | Báo cáo metric (token, latency, cost) | `testing/results/W5_metrics.md` | ⬜ |
F.2 Tuần 6 — Viết lại hoàn toàn (Sprint 3: Safety & Testing)
# Tuần 6 — Safety Engine & Test Suite
> **Sprint:** 3/8 | **Tuần:** 6/16
> **Ngày:** 26/10/2026 → 01/11/2026
> **Trọng tâm:** Safety pre/post-check trên Context Loading + sinh 100 test cases
> **Gate:** Không (Gate B ở cuối Sprint 4)
> **Effort NCS:** 27h (budget: 24–28h)
> **Effort CVYK:** 3h (gắn gold label cho test cases)
> **Effort GVHD:** 1h
## Mục tiêu Tuần
1. Safety engine (pre-check + post-check) hoạt động trên Context Loading (KHÔNG RAG).
2. Đưa cờ đỏ + lời khuyên an toàn vào đầu/cuối context prompt.
3. Sinh bộ 100 test cases, CVYK gắn gold label cho 30 cases ưu tiên.
## Dependency Map
flowchart TD
D36["T2: NCS review thiết kế Safety Engine"] --> D37["T3: NCS review + test safety rules"]
D37 --> D38["T4: NCS kiểm tra cờ đỏ trong prompt"]
D38 --> D39["T5: NCS review 100 test cases AI sinh"]
D39 --> D40["T6: Sync GVHD + gửi CVYK"]
D40 --> D41["T7: NCS code test + CVYK gold label (NẶNG)"]
D41 --> D42["CN: NCS test Context Caching + tổng hợp (NẶNG)"]
## Lịch NCS
| Ngày | Thứ | Effort | Loại task | Mô tả | File ngày |
|---|---|---|---|---|---|
| 26/10 | T2 | 3h | Nhẹ | Review thiết kế Safety Engine (pre/post-check) | D36_T2_review_safety.md |
| 27/10 | T3 | 3h | Nhẹ | Test safety rules trên 10 cases mẫu | D37_T3_test_safety.md |
| 28/10 | T4 | 3h | Vừa | Kiểm tra cờ đỏ trong context prompt | D38_T4_red_flag_prompt.md |
| 29/10 | T5 | 3h | Nhẹ | Review 100 test cases do AI sinh | D39_T5_review_test_cases.md |
| 30/10 | T6 | 2h | Nhẹ | Sync GVHD + gửi batch cho CVYK | D40_T6_sync_cvyk.md |
| 31/10 | **T7** | **7h** | **NẶNG** | Code runner test + CVYK gắn gold label (3h CVYK) | D41_T7_gold_label.md |
| 01/11 | **CN** | **6h** | **NẶNG** | Test Gemini Context Caching + tổng hợp tuần | D42_CN_context_caching.md |
## Deliverable Bắt buộc
| # | Deliverable | Path Dự kiến | Status |
|---|---|---|---|
| 1 | Safety Engine | `backend/app/services/safety_engine.py` | ⬜ |
| 2 | Red flag rules | `safety/W1_D05_SafetyTests_v0.1.yaml` (cập nhật) | ⬜ |
| 3 | 100 test cases + 30 gold labels | `testing/benchmark/testset_v1.yaml` | ⬜ |
| 4 | Báo cáo Context Caching | `testing/results/W6_caching_report.md` | ⬜ |
PHẦN G — Tổng kết & Khuyến nghị
G.1 Đánh giá tổng thể
| Chỉ số | Giá trị | Nhận xét |
|---|---|---|
| Tỷ lệ task khớp file 10 | 52% (30/58) | Gần nửa task bị thiếu hoặc sai |
| Effort NCS trung bình | 8.8h/tuần | Chỉ 32–37% budget 24–28h |
| Tuần tận dụng cuối tuần | 0/16 | Vấn đề hệ thống |
| Điểm trung bình | 15.4/25 (61.8%) | Dưới ngưỡng chấp nhận 70% |
| Sprint sai kiến trúc | 1 (Sprint 3 / W5–W6) | Đi ngược quyết định GĐ1 |
| Module thiếu hoàn toàn | 2 (Voice, Telegram) | Tính năng quan trọng cho NCT |
G.2 Top 5 vấn đề nghiêm trọng nhất
| # | Vấn đề | Mức ảnh hưởng | Tuần bị ảnh hưởng |
|---|---|---|---|
| 1 | ⛔ W5–W6 đi ngược kiến trúc GĐ1 (RAG thay vì Context Loading) | Block toàn bộ Sprint 3–4 | W5, W6, W7, W8 |
| 2 | ⛔ NCS chỉ dùng 32% thời gian — cuối tuần không task nặng | Lãng phí 60–70% nguồn lực | W1–W16 |
| 3 | ⛔ Thiếu hẳn module Voice (STT/TTS) | NCT không thể dùng giọng nói | W9–W10 |
| 4 | ⚠️ W3–W4 thiếu file kế hoạch ngày (chỉ có README) | Không thể theo dõi tiến độ | W3, W4 |
| 5 | ⚠️ Gate D bị dùng nhầm giữa W14 và W16 | Nhầm lẫn quy trình nghiệm thu | W14, W16 |
G.3 Top 5 điểm mạnh
| # | Điểm mạnh | Tuần tiêu biểu |
|---|---|---|
| 1 | ⭐ Benchmark 100 cases + Red-team testing + blind review | W11–W12 |
| 2 | ⭐ Gate C (Clinical Safety) nghiêm ngặt với sensitivity analysis | W12 |
| 3 | ⭐ Consent form + y đức + risk coverage trong pilot | W13 |
| 4 | ⭐ Format task chi tiết (Task ID, DoD, I/O, risk) ở nhiều tuần | W1, W11–W16 |
| 5 | ⭐ Tư duy NCKH (cảnh báo mẫu nhỏ N=5, Human-in-the-loop) | W14, W15 |
G.4 Khuyến nghị ưu tiên
P0 — Phải sửa ngay (block toàn bộ dự án)
| # | Khuyến nghị | Hành động cụ thể | Deadline |
|---|---|---|---|
| P0-1 | Viết lại W5–W6 theo kiến trúc GĐ1 | Thay RAG/ChromaDB bằng Context Loader (đọc MD) | Trước khi bắt đầu Sprint 3 |
| P0-2 | Tái phân bổ cuối tuần cho tất cả 16 tuần | T7–CN = task nặng (6–8h), T2–T6 = task nhẹ (2–4h) | Ngay lập tức |
| P0-3 | Viết file D* cho W3–W4 | Tạo file kế hoạch ngày chi tiết với Task ID, DoD, I/O | Trước Sprint 2 |
P1 — Nên sửa trong tuần tới
| # | Khuyến nghị | Hành động cụ thể |
|---|---|---|
| P1-1 | Bổ sung 5 task Obsidian bị thiếu Sprint 1 | Thêm vào W1 (T7–CN) và W2 (T7) |
| P1-2 | Bổ sung Voice module (STT/TTS) Sprint 5 | Thêm vào W10 (T7–CN) |
| P1-3 | Bổ sung Telegram bot Sprint 7 | Thêm vào W13 (T7) |
| P1-4 | Sửa Gate D timing | Chỉ giữ 1 Gate D ở W16, dời khỏi W14 |
| P1-5 | Tăng test cases từ 20 lên 100 | Tận dụng cuối tuần W8 |
P2 — Cải thiện dần
| # | Khuyến nghị | Hành động cụ thể |
|---|---|---|
| P2-1 | Chuẩn hóa format tuần | Áp dụng format F.1/F.2 cho tất cả 16 tuần |
| P2-2 | Bổ sung 3 task Sprint 8 | 8.2 (FAQ update), 8.3 (Trigger GĐ2), 8.6 (Roadmap) |
| P2-3 | Chuyển task tự động cho AI Agent | Sinh FAQ, format YAML, validate schema, tạo template |
| P2-4 | Loại bỏ task dư | License mgmt, Compliance (dời về sau Gate A) |
| P2-5 | Thêm _AI_ANALYSIS.md cho W3–W4 |
Bổ sung phân tích AI cho các tuần thiếu |
G.5 Lưu ý đặc biệt cho NCS
| Câu hỏi | Trả lời |
|---|---|
| Tuần nào căng nhất? | W5–W6 (sau khi viết lại) vì code Context Loader + Safety + 100 test cases. W12 (Gate C với CVYK). |
| Tuần nào có thể giảm tải? | W13–W14 (pilot chủ yếu ra hiện trường, effort nhẹ). W15 (AI soạn báo cáo draft). |
| Khi nào cần họp CVYK sớm nhất? | W4 (Sprint 2) — CVYK cần review thẻ tri thức trên Obsidian trước Gate A. Hiện tại task này thiếu. |
| Khi nào cần họp GVHD sớm nhất? | W1 D01 — đã có trong plan. Tiếp theo: W4 (trước Gate A), W8 (trước Gate B). |
| Task nào AI có thể giúp nhiều nhất? | Sinh thẻ tri thức, sinh FAQ, format YAML, validate schema, scaffold code, tạo test cases. NCS chỉ cần review và điều chỉnh. |
Thống kê phân tích
| Chỉ số | Giá trị |
|---|---|
| Tổng số task phân tích | 58 task (từ file 10) + ~120 task (từ kế hoạch tuần) |
| Tổng số file đọc | ~160 file (16 tuần × ~10 file/tuần) |
| Số lỗi phát hiện | 25 task thiếu + 12 task dư + 4 mâu thuẫn = 41 issues |
| Confidence level | Cao cho phần A, B, D (dựa trên file thực tế). Trung bình cho phần C, E (có yếu tố đánh giá chủ quan). |
File này nên lưu tại:
docs/research/plans/_DANH_GIA_TONG_THE_KE_HOACH.md
Cập nhật lần cuối: 25/09/2026
Người thực hiện: AI Agent (4 agent phân tích song song + 1 agent tổng hợp)