# 3. Core Logic: Guardrails & Prompt Injection

Hệ thống ứng dụng Structured Output và cơ chế tiêm ngữ cảnh linh hoạt để ngăn chặn ảo giác (Hallucination) và Prompt Injection.

- **Dual-Lane Search Args:** Classifier bị ép phải xuất ra 2 object riêng biệt: `LiteralSearchArgs` (câu nguyên văn từ user, chống AI tự biên) và `InferredSearchArgs` (các filter AI tự suy luận như gender, master_color, tags).
- **Insight Injection:** Stylist Agent được tiêm bộ nhớ khách hàng (`InsightJSON`) bao gồm các trường như `STAGE`, `GOAL`, `CONSTRAINS`, `LATEST_PRODUCT_INTEREST`. Việc này giúp LLM nhớ ngữ cảnh sâu thay vì phải nhồi toàn bộ lịch sử thô vào prompt.
- **Deduplication:** Khi tool trả về sản phẩm, hệ thống lọc trùng lặp qua `sku` trước khi inject vào prompt của Stylist để tiết kiệm Context Window.
- **Strict Fallback:** Nếu node Stylist gặp lỗi khi sinh chuỗi JSON output, hệ thống có `try/except` catch cứng và trả về text fallback: *"Dạ bạn cho mình hỏi thêm để tư vấn chính xác hơn nhé!"*, tránh việc văng HTTP 500.