Kiến trúc Lead Stage AI được thiết kế theo dạng **Micro-modular pipeline** dựa trên LangGraph, tách biệt hoàn toàn giữa việc *phân loại ý định* (Classifier) và *sinh ngôn ngữ* (Stylist).

### Thiết kế hai tầng (Two-Stage Agent)
Thay vì dùng một Agent to (monolith) để làm mọi thứ, hệ thống chia làm 2 AI:
1. **AI #1 (Classifier + Tool Router):** Chuyên trách đọc câu hỏi của user, lịch sử chat (`user_insight`, `chat_history_summary`) để quyết định xem user đang ở Stage nào (Awareness, Interest, Consideration, Decision, Retention) và gọi Tool tương ứng (ví dụ: `lead search tool`, `check is stock`).
2. **AI #2 (Stylist):** Nhận kết quả từ Tool và kết luận của Classifier, tập trung hoàn toàn vào việc sinh ra câu trả lời mềm mỏng, đúng `tone_directive` và đúng nghiệp vụ chốt sale.

### Tracing & Observability
Toàn bộ quá trình được trace qua **Langfuse** thông qua controller `lead_stage_chat_controller`. Điều này cho phép monitoring chi tiết thời gian thực thi của từng node (`classifier_ms`, `stylist_ms`, `total_ms`).

### Quản lý phiên (Identity & Persistence)
Dùng `device_id` (persistent từ localStorage hoặc middleware) hoặc `user_id` (nếu đã login) để duy trì lịch sử chat qua Postgres. Điều này giúp ngăn chặn các vấn đề bị reset session như đối với memory-cache.