⚠️ Lưu trữ: Prompt này được viết cho kiến trúc v4.0. Kiến trúc hiện tại là v5.0 (Context Loading, 21 tuần).

PROMPT: Phân tích AI-Khả năng → Tách Task → Sinh Prompt Thực thi

Loại: Phân tích + tái cấu trúc + sinh prompt (chạy lần lượt tuần-by-tuần)
Target: Agent có khả năng đọc file, phân tích, tạo/sửa file và chạy lệnh
Phiên bản: 1.0
Ngày tạo: 24/09/2026
Workspace: CXK/ (project root)
Phụ thuộc: Sub-folder W[N]/ đã tạo (prompt 16)


Mục đích

Prompt này thực hiện 3 giai đoạn liên tiếp cho mỗi tuần:

  1. Giai đoạn A — Đánh giá AI-Khả năng: Phân tích từng , chấm điểm khả năng AI có thể thực hiện
  2. Giai đoạn B — Tách Task: Chia task "partial" thành sub-task AI + sub-task riêng biệt
  3. Giai đoạn C — Sinh Prompt Thực thi: Viết prompt chi tiết cho từng AI sub-task

Cách sử dụng

Chạy lần lượt từng tuần:

Chạy prompt 17_PHAN_TICH_AI cho Tuần [N].

Hoặc chạy tất cả:

Chạy prompt 17_PHAN_TICH_AI cho tất cả 16 tuần.

Bối cảnh

Dự án CXK

  • NCS (Võ Trần Gia Hiếu, lớp 10A6) — biết dùng AI nhưng chưa code nhiều
  • (Nguyễn Đảm) — hướng dẫn phương pháp, review
  • () — duyệt nội dung y khoa
  • — Gemini/Claude/GPT-class, có quyền đọc/ghi file, chạy lệnh, truy cập web

Năng lực AI Agent hiện tại (tham khảo)

Loại công việc AI-Khả năng Ghi chú
Sinh code Python//Vue 🟢 95% Cần NCS test + báo lỗi
Viết /JSON 🟢 95% Cần NCS validate
Trích xuất tri thức từ tài liệu 🟡 80% Cần CVYK review nội dung y khoa
Viết markdown/báo cáo 🟢 90% Cần NCS review văn phong
Cấu hình /deployment 🟡 60-70% Cần hỗ trợ Vaga, test trên server thật
Thiết kế UI/UX mockup 🟡 70% Cần NCS test visual trên browser
Phân tích dữ liệu (thống kê) 🟢 90% NCS kiểm tra logic
Chạy khảo sát/phỏng vấn NCT 🔴 0% NCS phải tự làm (field work)
Viết nhật ký 🟢 90% AI Agent tự ghi nhận hoạt động (file changes, task completions, conversations) → viết theo mẫu nhật ký NCKH. NCS chỉ review + bổ sung cảm nhận cá nhân
Diễn tập thuyết trình 🔴 0% NCS phải tự tập
Review y khoa chuyên sâu 🔴 0% Chỉ CVYK mới được duyệt
Ký gate/phê duyệt 🔴 0% GVHD/CVYK ký tay

Giai đoạn A: Đánh giá AI-Khả năng

Bước A1: Đọc tất cả file ngày trong W[N]/

Đọc docs/research/plans/W[N]/README.md
Đọc mỗi file D[XX]_*.md trong W[N]/

Bước A2: Với MỖI task, đánh giá theo 5 tiêu chí

# Tiêu chí Câu hỏi Thang điểm
1 Input khả dụng AI có thể tự đọc input (file trong workspace) không? 0-20
2 Kỹ năng phù hợp Task thuộc loại AI làm tốt (code, viết, phân tích) không? 0-30
3 Output kiểm tra được Output có đo lường được tự động không? 0-20
4 Không cần tương tác vật lý Task không cần gặp người/in giấy/gọi điện? 0-15
5 Không cần phán đoán y khoa Task không cần kiến thức chuyên môn CVYK? 0-15

Tổng: /100 điểm

Bước A3: Phân loại task

Điểm Nhãn Ý nghĩa Hành động
85-100 🟢 AI_FULL AI làm trọn, NCS chỉ verify kết quả Giữ nguyên, sinh prompt
50-84 🟡 AI_PARTIAL AI làm phần lớn, NCS bổ sung/sửa Tách thành 2 sub-task
20-49 🟠 NCS_LEAD NCS dẫn dắt, AI hỗ trợ phần nhỏ Tách, AI chỉ draft/template
0-19 🔴 NCS_ONLY NCS tự làm hoàn toàn Không tách, không sinh prompt

Bước A4: Tạo file kết quả Giai đoạn A

Tạo file: docs/research/plans/W[N]/_AI_ANALYSIS.md

# Phân tích AI-Khả năng — Tuần [N]

> **Tổng task:** [X] | **AI_FULL:** [Y] | **AI_PARTIAL:** [Z] | **NCS_LEAD:** [W] | **NCS_ONLY:** [V]  
> **Tỷ lệ AI tự động hóa:** [%]

## Bảng Đánh giá

| Task ID | Tên Task | Input(20) | Skill(30) | Output(20) | NoPhysical(15) | NoMedical(15) | Tổng | Nhãn |
|---|---|---|---|---|---|---|---|---|
| W[N]-D[XX]-T01 | [Tên] | [X] | [X] | [X] | [X] | [X] | [XX] | 🟢/🟡/🟠/🔴 |
| ... | ... | ... | ... | ... | ... | ... | ... | ... |

## Phân tích Chi tiết (cho task AI_PARTIAL và NCS_LEAD)

### [Task ID] — [Tên] — 🟡 AI_PARTIAL ([XX]/100)

**Phần AI có thể làm:**
- [Mô tả cụ thể phần AI làm được]

**Phần NCS phải làm:**
- [Mô tả cụ thể phần NCS phải tự làm]

**Lý do không 100% AI:**
- [Giải thích]

Giai đoạn B: Tách Task

Áp dụng cho task có nhãn 🟡 AI_PARTIAL và 🟠 NCS_LEAD

Bước B1: Tách mỗi task thành sub-tasks

Với mỗi task 🟡/🟠, tạo 2 sub-task:

Sub-task AI (suffix -AI):

## Task [ID]-AI: [TÊN] (Phần AI)

**Task ID:** `W[N]-D[XX]-T[NN]-AI`
**Phân loại:** 🤖 AI tự làm
**Effort NCS:** 0 phút (AI hoàn toàn)
**Dependency:** [task trước]

### Mô tả
[AI làm gì cụ thể — 3-5 câu]

### Input / Output / DoD
[Giữ format 7 section, nhưng chỉ phần AI]

Sub-task NCS (suffix -NCS):

## Task [ID]-NCS: [TÊN] (Phần NCS)

**Task ID:** `W[N]-D[XX]-T[NN]-NCS`
**Phân loại:** 📝 NCS thực hiện
**Effort NCS:** [XX] phút
**Dependency:** `W[N]-D[XX]-T[NN]-AI` (chờ AI xong)

### Mô tả
[NCS làm gì cụ thể sau khi nhận output AI — 3-5 câu]

### Input / Output / DoD
[Giữ format 7 section, nhưng chỉ phần NCS]

Bước B2: Cập nhật file ngày

  • Thay thế task gốc bằng 2 sub-task trong file D[XX]_*.md
  • Giữ nguyên task 🟢 AI_FULL và 🔴 NCS_ONLY
  • Cập nhật bảng Tổng kết Ngày ở cuối file

Bước B3: Cập nhật _AI_ANALYSIS.md

Thêm bảng mapping task gốc → sub-tasks:

## Bảng Tách Task

| Task gốc | Nhãn | Sub-task AI | Sub-task NCS | Ghi chú |
|---|---|---|---|---|
| W[N]-D[XX]-T01 | 🟡 | W[N]-D[XX]-T01-AI | W[N]-D[XX]-T01-NCS | [lý do tách] |
| W[N]-D[XX]-T03 | 🟢 | — (giữ nguyên) | — | AI_FULL |
| W[N]-D[XX]-T05 | 🔴 | — | — (giữ nguyên) | NCS_ONLY |

Giai đoạn C: Sinh Prompt Thực thi

Áp dụng cho: tất cả task 🟢 AI_FULL + tất cả sub-task -AI

Bước C1: Với MỖI task AI, sinh 1 prompt thực thi

Mỗi prompt phải đáp ứng tiêu chuẩn:

  1. Tự chứa (self-contained): Agent đọc prompt này là biết làm gì, không cần hỏi lại
  2. Có input rõ ràng: Path cụ thể đến file cần đọc
  3. Có output rõ ràng: Path cụ thể file cần tạo, format cụ thể
  4. Có DoD: Cách tự kiểm tra output đúng
  5. Có ràng buộc: Giới hạn scope, thuật ngữ, quy tắc dự án

Bước C2: Format prompt thực thi

## Prompt: [Task ID] — [Tên Task]

> **Phân loại:** 🤖 AI_FULL / 🤖 AI_PARTIAL (phần AI)  
> **Ước lượng:** [X] phút  
> **Dependency:** [task trước nếu có]

### Nhiệm vụ
[2-3 câu mô tả CHÍNH XÁC việc cần làm]

### Bước thực hiện
1. Đọc file `[path/to/input1]`
2. [Hành động cụ thể]
3. Tạo file `[path/to/output]` với format [X]
4. [Hành động tiếp]

### Input
- `[relative/path/to/file1]` — [mô tả]
- `[relative/path/to/file2]` — [mô tả]

### Output
- `[relative/path/to/output]` — [format: YAML/MD/PY/CSV...]

### Ràng buộc
- Tiếng Việt, thuật ngữ theo `docs/GLOSSARY.md`
- [Ràng buộc đặc thù task]
- Không tự thêm nội dung ngoài scope
- [Ràng buộc y khoa nếu có: trạng thái DRAFT, cần CVYK review]

### DoD (Tự kiểm)
- [ ] File output tồn tại tại path đúng
- [ ] [Tiêu chí đo lường 1]
- [ ] [Tiêu chí đo lường 2]
- [ ] Không có lỗi syntax/format

### Ví dụ Output (nếu hữu ích)
```[format]
[Mẫu ngắn 5-10 dòng cho thấy cấu trúc output mong đợi]

### Bước C3: Lưu tất cả prompt vào file

Tạo file: `docs/research/plans/W[N]/_AI_PROMPTS.md`

```markdown
# Prompt Thực thi AI — Tuần [N]

> **Tổng prompt:** [X]  
> **Thứ tự chạy:** Theo dependency chain  
> **Cách chạy:** Copy từng prompt, paste vào AI agent, review output

## Danh sách Prompt (theo thứ tự dependency)

### Ngày [XX] — [Thứ], [DD/MM]

[Prompt 1]

---

[Prompt 2]

---

### Ngày [XX+1] — [Thứ], [DD/MM]

[Prompt 3]

---

[Prompt 4]

...

Ràng buộc CỨNG

Đánh giá

  • Chấm điểm TRUNG THỰC — không thổi phồng AI-Khả năng
  • Field work = 0 điểm — khảo sát, phỏng vấn, gặp NCT, in giấy
  • Y khoa chuyên sâu = 0 điểm — gắn gold label, duyệt an toàn lâm sàng
  • Nhật ký cá nhân = 5 điểm — AI draft template nhưng NCS phải tự viết

Tách task

  • Không tạo sub-task vô nghĩa — nếu phần AI chỉ 5% thì giữ NCS_ONLY
  • Dependency rõ ràng — sub-task NCS luôn phụ thuộc sub-task AI
  • Effort NCS không đổi — tách task không làm tăng tổng effort NCS

Sinh prompt

  • Relative path — không dùng absolute path
  • Thuật ngữ chuẩn — NCS, GVHD, CVYK, , ,
  • Scope nhỏ — mỗi prompt chỉ làm 1 việc cụ thể
  • Không bịa file — chỉ reference file có trong workspace hoặc ghi rõ "sẽ được tạo bởi [task ID]"
  • Y khoa = DRAFT — mọi output y khoa ghi rõ status: DRAFT

Quy tắc dự án (AGENTS.md)

  • Đọc AGENTS.md TRƯỚC khi bắt đầu
  • Không chẩn đoán bệnh, kê đơn thuốc, khuyên bỏ thuốc
  • Luôn khuyên đi khám bác sĩ khi phát hiện cờ đỏ
  • Luôn trích dẫn nguồn cho thông tin y khoa

Checklist Hoàn thành

  • [ ] File _AI_ANALYSIS.md đã tạo — có bảng đánh giá + phân tích chi tiết
  • [ ] Tất cả task 🟡/🟠 đã tách thành sub-tasks trong file ngày
  • [ ] File _AI_PROMPTS.md đã tạo — chứa prompt thực thi cho tất cả task AI
  • [ ] Prompt được sắp theo dependency chain (task trước → task sau)
  • [ ] Mỗi prompt có: nhiệm vụ, bước, input, output, ràng buộc, DoD
  • [ ] Tổng effort NCS không thay đổi so với trước khi tách
  • [ ] Không có task AI nào yêu cầu tương tác vật lý hoặc phán đoán y khoa chuyên sâu

Ví dụ Kết quả

Chạy cho Tuần 5 ( 3 — ):

Giai đoạn A:

W5-D29-T01 "Data Pipeline Script" → Input:20 Skill:30 Output:20 NoPhys:15 NoMed:15 = 100 → 🟢 AI_FULL
W5-D29-T02 "Chạy & Báo lỗi Pipeline" → Input:15 Skill:10 Output:15 NoPhys:15 NoMed:15 = 70 → 🟡 AI_PARTIAL
W5-D29-T03 "GVHD Checkpoint" → Input:10 Skill:0 Output:5 NoPhys:0 NoMed:15 = 30 → 🟠 NCS_LEAD

Giai đoạn B:

W5-D29-T02 tách thành:
  W5-D29-T02-AI: "Tạo script chạy pipeline tự động + bắt lỗi"
  W5-D29-T02-NCS: "Chạy script, đọc log, copy traceback vào file"

Giai đoạn C:

## Prompt: W5-D29-T01 — Data Pipeline Script

### Nhiệm vụ
Viết script Python tạo data pipeline: đọc thẻ tri thức YAML → chunk text → tạo embedding → lưu ChromaDB.

### Bước
1. Đọc schema `knowledge-base/schemas/knowledge_item_schema.yaml`
2. Đọc 5 file YAML mẫu từ `knowledge-base/knowledge-cards/knee-oa/`
3. Viết script: load YAML → chunk (500 tokens, overlap 100) → embed (sentence-transformers) → upsert ChromaDB
4. Tạo file `data-pipeline/scripts/ingest_knowledge_cards.py`

### Output
- `data-pipeline/scripts/ingest_knowledge_cards.py`
- `data-pipeline/config/pipeline_config.yaml`
- `data-pipeline/scripts/requirements.txt`

### DoD
- [ ] Script chạy không lỗi syntax (`python -m py_compile`)
- [ ] Có try-except cho mỗi bước
- [ ] Có logging với timestamp
- [ ] requirements.txt liệt kê đủ dependencies

Ghi chú: Output của prompt này là nền tảng để AI Agent tự thực thi công việc dự án. NCS chỉ cần:
1. Copy prompt từ _AI_PROMPTS.md
2. Paste vào AI agent
3. Review output
4. Chạy phần NCS của mình