# 1. Tổng quan (Overview)

Lead Search Agent là module **bán hàng tự động** của Canifa AI Platform, được thiết kế theo mô hình **Phễu tâm lý (Sales Funnel)** với 5 giai đoạn. Mục tiêu cuối cùng: thu thập Contact (SĐT, Email) hoặc chốt đơn hàng.

## Tại sao phải chia 5 Mode?

LLM vốn dĩ là "người biết tuốt" — nếu không kìm cương, nó sẽ hành xử sai hoàn toàn tại mọi thời điểm:

- **Sai lúc đầu:** Khách mới chào "Hi" nhưng AI nhảy xổ ra đòi số điện thoại → khách hoảng sợ, tắt chat ngay.
- **Sai lúc giữa:** Khách đang hỏi kỹ chất vải để chốt nhưng AI lại hỏi "Anh tìm đồ cho nam hay nữ?" → khách bực mình, bỏ đi.
- **Sai lúc cuối:** Khách đã nói "Lấy cái đầu tiên" nhưng AI vẫn tiếp tục giới thiệu thêm 5 sản phẩm → bỏ lỡ cơ hội chốt.

Việc chia 5 Mode chính là tạo **dây cương** cho LLM — ép nó bơm đúng **Tone** giọng và **Chiến thuật** phù hợp với từng nấc của phễu.

## Triết lý thiết kế

| Nguyên tắc | Giải thích |
|---|---|
| **Never say "Hết hàng"** | Trong Retail, đây là câu cấm kỵ nhất. Thà khách chê đắt còn hơn báo hết → cơ chế Upsell 7 tầng |
| **Insight trước, Search sau** | AI hỏi đủ nhu cầu rồi mới gọi Tool, tránh quăng list SP vô nghĩa |
| **Chốt sale phải nhanh** | Khi khách ưng rồi, không còn văn hoa tư vấn — chuyển ngay giọng action-oriented |
| **Đường lùi thanh lịch** | Khách từ chối → Cảm ơn, mở cửa quay lại. Tuyệt đối không chèo kéo |

## Các thành phần chính

1. **InsightJSON**: Bộ nhớ khách hàng lưu trong Redis (TTL 24h), chứa 12 trường thông tin đã thu thập.
2. **Classifier Agent**: AI nhẹ — Router, quyết định gọi Tool hay Early Exit.
3. **Stylist Agent**: AI nặng — Best Seller, sinh câu trả lời tư vấn thuyết phục.
4. **ProductSearchEngine**: Engine tìm kiếm 7 tầng (Cascading Search).

File tham chiếu: `backend/agent/lead_stage_agent/graph.py`
