# AI Outfit Rules - Expansion Ideas
*Tài liệu mô phỏng lộ trình nâng cấp hệ thống Gợi ý Thời trang (Recommendation System) từ Rule-based sang AI-Driven Learning System.*

---

## 1. "Train" AI mà KHÔNG chạm vào LLM
Thay vì tốn kém Fine-tune model LLM, chúng ta tách bạch **NÃO (Rules)** khỏi **MIỆNG (LLM)**. Data Team chạy thuật toán phân tích giỏ hàng (Market Basket Analysis) và đổ thẳng Rule mới vào SQLite.

**Quy trình (Workflow):**
1. **Transaction Data:** User mua: Áo Polo + Quần Khaki
2. **SQLite (`ai_outfit_rules`):** Tự động `INSERT INTO rules (anchor, match) VALUES ('Áo Polo', 'Quần Khaki')`
3. **AI Stylist Bot:** "Dạ, Áo Polo anh phối với Quần Khaki là chuẩn bài ạ!"

---

## 1.5. Database Schema: `ai_outfit_rules`
Cấu trúc 10 cột tối ưu, giúp AI đọc phát hiểu ngay, query phát ra luôn combo chuẩn đét, thay thế hoàn toàn logic if-else cứng nhắc.

| Tên Cột | Kiểu Dữ Liệu | Giải Thích & Ví Dụ |
| :--- | :--- | :--- |
| `id` | INTEGER | Khóa chính tự tăng. |
| `gender` | TEXT | Lọc giới tính: `women`, `men`, `girl`, `boy`, `unisex`. |
| `age_group` | TEXT | Lọc độ tuổi: `adult`, `kid`, `baby`. |
| `occasion` | TEXT | Dịp sử dụng: `di_lam`, `di_choi`, `the_thao`, `mac_nha`. |
| `user_segment` | TEXT | Phân khúc khách hàng: `basic`, `streetwear`, hoặc `all`. |
| `anchor_category` | TEXT | Danh mục sản phẩm gốc (VD: Áo Polo, Áo kiểu). |
| `match_role` | TEXT | Vai trò món đồ phối cùng: `bottom`, `outer`, `set`, `accessories`. |
| `match_category` | TEXT | Danh mục món đồ được gọi lên (VD: Quần Khaki, Blazer). |
| `score` | INTEGER | Điểm độ phù hợp (Tự động tăng/giảm qua Feedback Loop). |
| `is_active` | INTEGER | Cờ kích hoạt (`1` = dùng, `0` = tạm tắt). |

---

## 1.6. Sample Rules Data
Ví dụ về một số bộ Rules "cứng" được nạp sẵn vào hệ thống, đảm bảo AI phối đồ chuẩn chỉnh ngay từ ngày đầu tiên theo đúng dữ liệu đã cung cấp.

| ID | Gender | Age | Occasion | Segment | Anchor | Role | Match |
| :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- |
| 1 | women | adult | di_lam | all | Áo kiểu | bottom | Chân váy |
| 2 | women | adult | di_lam | all | Áo kiểu | bottom | Quần dài |
| 5 | women | adult | di_lam | all | Áo Sơ mi | bottom | Quần Khaki |
| 8 | women | adult | di_lam | all | Áo Sơ mi | outer | Blazer |
| 11 | women | adult | di_choi | all | Áo phông | bottom | Quần jean |

---

## 2. Cá nhân hóa theo Segment / Sở thích (Personalization)
Mở rộng bảng Rules với cột `user_segment`. AI tự động nương theo sở thích của khách để mix đồ, tạo trải nghiệm 1-1 khác biệt hoàn toàn.

| Anchor Product | User Segment | Outfit Match | AI Response Tone |
| :--- | :--- | :--- | :--- |
| Áo Sơ mi | Minimalist / Basic | Quần Tây Đen | "Lịch sự, tối giản..." |
| Áo Sơ mi | Streetwear / GenZ | Quần Túi hộp (Cargo) | "Năng động, phá cách..." |

---

## 3. Vòng lặp Học hỏi (Feedback Loop)
Tích hợp "Agent Rút Kinh Nghiệm". Bảng Rules tự động chấm điểm (Score) dựa trên phản hồi thật của khách hàng. Rule nào tốt thì giữ, rule nào bị chê thì loại bỏ. AI tự tiến hóa mỗi ngày.

*   👍 **Khách Click / Mua:** `UPDATE rules SET score = score + 1`
*   👎 **Khách Chê "Phối xấu":** `UPDATE rules SET score = score - 5`
*   🤖 **Auto Pruning (Dọn dẹp):** `DELETE FROM rules WHERE score < 0`
