#
AI Stylist Framework & Logic

Tài liệu giải thích thuật toán chấm điểm phối đồ tự động (Weighted Point System) của Canifa AI, dựa trên Business Logic thời trang.

## 📚 1. Định nghĩa Thuật ngữ (Terminology)

👚 TOP
Sản phẩm mặc trên: Áo thun, áo khoác, áo len, sơ mi, polo...
👖 BOTTOM
Sản phẩm mặc dưới: Quần dài, quần short, chân váy...
🎒 ACCESSORIES
Phụ kiện đi kèm: Mũ, khăn, bóng, tất, túi xách, thắt lưng...
🎁 SET
Đồ đi theo bộ đóng gói sẵn (Đã bao gồm cả TOP + BOTTOM).

## ⚖️ 2. Công thức Phối màu Cơ bản (Synergy Formula)

### 🛡️ Công thức "An Toàn" (Neutral + Neutral)

- TOP: Các màu sáng trung tính như Trắng hoặc Be (Beige).
- BOTTOM: Đen, Xám hoặc Nâu.
- Phụ kiện: Nên cùng tông với BOTTOM để tạo hiệu ứng kéo dài vóc dáng.

### ✨ Công thức "Điểm Nhấn" (Neutral + Light/Dark)

- TOP: Màu chói, nổi hoặc sáng (Vàng, Đỏ, Hồng, Cam).
- BOTTOM: Màu trung tính (Trắng, Đen, Be) để kìm lại độ chói.
- Phụ kiện: Trắng/Đen để tiết chế sự rườm rà.

💡 MẸO STYLIST TỪ CANIFA:

- Quy tắc 3 màu: Không diện quá 3 màu trên cùng 1 outfit để tránh rối mắt, kém sang trọng.
- Sắc độ tinh tế: Nếu mặc nguyên "cây" trung tính (vd: Full xám), phải dùng phụ kiện Kim loại (Gold/Silver) hoặc da bóng làm điểm nhấn.
- Du lịch: Đi biển chọn đồ rộng chất lanh/cotton mát, màu rực/trắng mộc. Đi núi/mạo hiểm chọn đồ dài, legging, chất cản gió ôm sát.

## 👥 3. Lưới Logic Phong cách theo Giới tính & Dịp (Framework)

Tệp khách / Demographic | Hòa sắc ưu tiên (Colors) | Styles & Dịp (Occasions) | Quy tắc Chất liệu / Mùa
--- | --- | --- | ---
NỮ | Linh hoạt nhất, dùng tốt cả Neutral, Light, Dark. VD: TOP Hồng phấn + BOTTOM Trắng + Phụ kiện Hồng | Đi làm: Modern Minimal, Feminine (Blouse + Quần rộng). Đi chơi: Trend, Cute (Baby Tee/Trễ vai + Váy ngắn). Nghỉ mát: Áo 2 dây + Chân váy Maxi + Kính râm. | Hè: Cotton/Linen thoát nhiệt, màu sáng. Đông: Layering Áo body + Dạ + Leggings. Giao mùa: Thun polo + Gió se lạnh.
NAM | Ưu tiên an toàn nhóm Neutral. VD: TOP Beige + BOTTOM Xanh than + Phụ kiện Nâu | Công sở: Smart Casual, Basic (Sơ mi/Polo + Khaki). Đường phố: Street, Dynamic (Graphic Tee + Jeans + Mũ). Du lịch / Mạo hiểm: Utility (Jogger Cargo + Gió + Sneaker). | Hè: Polo/Phông + Khaki/Soóc + Mũ thể thao. Đông: Áo giữ nhiệt + Nỉ len + Áo Lông vũ.
UNISEX (Adults) | Tập trung màu Neutral & Khối Dark mạnh mẽ. VD: TOP Đỏ + BOTTOM Đỏ + Túi Đỏ | Mọi dịp: Essential (Sơ mi Oversize + Tây dáng đứng + Bandana). | Tuyệt vời cho Activewear (Bộ thể thao, Bra top, năng động).
BÉ GÁI | Sinh ra cho nhóm Pastel (Light) và Màu Nổi (Tím, Hồng). VD: TOP Tím nhạt + BOTTOM Trắng + Giày Trắng | Ngày thường: Cute, Dynamic (Áo Hoạt hình + Quần Yếm). Kỳ nghỉ: SET lanh họa tiết nhiệt đới + Mũ che gáy. | Đông: Khoác Gilet chần bông + Quần nỉ + Găng tay. Hè mùa đi chơi: Váy liền Cotton / Đồ lanh.
BÉ TRAI | Nghiêng về nhóm Dark nam tính từ nhỏ. VD: TOP Vàng (Cam/Nổi) + BOTTOM Xanh Jeans (Dark) | Hoạt động: Basic, Dynamic (Áo phông thấm hút + Legging co giãn). Dã ngoại: Áo thun dài tay + Quần dài + Balo nhỏ. | Đông: Gilet + Nỉ dày + Giữ nhiệt. Hè: Cotton mềm mát, form thoái mái chạy nhảy.

## 🌟 Kiến trúc Tầng Lớp: 2 Lọc (Dual-Layer Engine)

Cỗ máy AI Stylist hoạt động dựa trên sự kết hợp hoàn hảo giữa Luật thời trang cứng (Hard Rules) và Chấm điểm thẩm mỹ mờ (Weighted Scoring). Đảm bảo Gợi ý luôn Đúng kiến thức và Đúng màu sắc nghệ thuật theo thời gian thực.

🛡️

### Lớp 1: Khung xương Định hướng (Postgres)

Khống chế hoàn toàn AI, KHÔNG BAO GIỜ cho phép nó gợi ý mặc "Áo Polo" với "Quần Đùi Đồ Ngủ" (Sai kiến thức nền tảng). Bảng `chatbot_fashion_rules` sẽ ép thuật toán tìm đúng Thể loại Khớp nối. Kết quả: Vớt được 1000 món đồ đúng Loại và Đang Còn Hàng.

🎨

### Lớp 2: Đúc hồn Nghệ thuật (Point System)

Trong 1000 món đồ đúng loại, hệ thống đẩy qua Thanh trượt UI 100đ `fashion_rules.json` để chấm điểm thẩm mỹ (Màu sắc, Form dáng, Chất liệu). Lọc ra TOP 3 xuất sắc nhất (Ví dụ: 95đ, loại bỏ Quần màu sai lệch được 20đ).

## ⚖️ Bổ trợ: Tại sao dùng Hệ Điểm thay vì IF/ELSE tĩnh?

Thời trang không phải là toán học tuyệt đối (1+1=2). Lập trình theo luật cứng gán ép màu sắc (Ví dụ: Áo Vàng PHẢI ĐI VỚI Quần Đen) sẽ khiến AI trở nên nghèo nàn. Chúng ta sử dụng Hệ Điểm (Point System) để mô phỏng "sự đánh đổi" ở Lớp 2:

### ❌ Luật cứng (IF/ELSE)

- Robot, lặp đi lặp lại 1 kết quả.
- Nếu một món đồ có form cực đẹp, nhưng màu bị lệch 1 chút so với luật cứng ➜ Sẽ bị loại thẳng tay.
- Chết cứng: AI không tự học được data mới, phải chờ Dev viết code lại từng IF/ELSE.

### ✨ Hệ điểm (Weighted Scoring)

- Linh hoạt, "Đánh đổi" bù trừ.
- Món đồ màu trung bình (15đ), form xuất sắc (22đ), hợp mùa hè (10đ) ➜ Tổng 47đ ➜ Vẫn lọt Top vì xuất sắc tổng thể.
- AI Tự Học: Agent tương lai có thể tự tăng/giảm trọng số (Ví dụ: Thấy khách thích mùa hè mát mẻ, tự ép trọng số chất liệu lên 20%).

## 🔍 6 Lăng kính (Dimensions) Chấm điểm

Hệ thống càn quét hàng ngàn SKUs, so từng sản phẩm đích với sản phẩm gốc qua 6 lăng kính, có tổng 100 điểm. Trọng số lớn nhất tập trung vào phần Giao diện thị giác (Màu sắc) dựa trên Framework Fashion.

🎨

### Hòa sắc (Color Synergy) 28 ĐIỂM

Thuật toán chi phối lớn nhất. Chia tất cả màu hệ thống thành rổ: Neutral, Light, Dark.

👗

### Đồng điệu Phong cách (Style) 22 ĐIỂM

Mặc áo đẹp nhưng "sai Vibe" thì vẫn thảm họa. Áo mang tag `Dynamic` phối quần `Smart Casual` được điểm cao, nếu ép chung với quần `Lounge` sẽ bị trừ 0 điểm.

📅

### Dịp mặc (Occasion Boost) 20 ĐIỂM

Tối ưu cho ngữ cảnh. Khi khách đang muốn tìm đồ "Đi làm", hệ thống tự động buff 20 điểm cho các Quần Âu, Áo Sơ mi trong kho để đẩy trồi lên ưu tiên.

📦

### Vai trò Loại trừ (Role) 12 ĐIỂM

Ngăn lỗi vớ vẩn: "Không gợi ý Áo khi xem Áo". Nếu món gốc là TOP, AI chỉ đi tìm BOTTOM, OUTERWEAR, ACCESSORY. Món nào sai vai trò tự động điểm = 0.

🌿

### Chất liệu & Mùa (Material/Season) 10 ĐIỂM

Khắc phục lỗi cơ học (Phối quần đùi Linen mát mẻ của Hè với Áo Phao chần bông của Đông). Khác mùa là rớt đài.

🔀

### Penalty Đa dạng hóa (Diversity) 8 ĐIỂM

Đã duyệt 1 cái Quần Khaki Trắng rồi, thì chiếc Khaki Trắng khác xuất hiện sẽ bị giáng "Phạt Trùng Lặp" (Trừ điểm mạnh) để nhường slot cho SKU khác màu khác dáng.

## 🔄 Knowledge Graph: Luồng Thuật toán AI

Kéo thả các node để tương tác. Đồ thị mô phỏng cách hệ thống càn quét và chấm điểm.

## 🎨 Knowledge Graph: Ma trận Hòa sắc

Đồ thị mạng lưới quan hệ giữa các phân nhóm màu (Bản đồ tương tác).

* Mạng lưới này là kim chỉ nam quyết định điểm "Hòa sắc 28đ". Đường nối càng dày thì màu đi càng mượt.