# 1. File Map Tổng quan

Khi có yêu cầu từ phía Business (thêm tag mùa lễ, đổi cách AI xưng hô, thêm tool mới), Developer cần biết chính xác **điểm phẫu thuật** để không làm hỏng toàn bộ quy trình.

## 4 file cốt lõi

| File | Chức năng | Khi nào sửa |
|---|---|---|
| `graph.py` | Core: State, InsightJSON, ClassifierOutput, Tool Registry | Thêm tag, thêm insight field, thêm tool |
| `prompts.py` | Prompt: Classifier + Stylist system prompts | Đổi giọng, thêm guardrail, sửa ví dụ |
| `product_search_engine.py` | Engine: Cascading Search, Enrichment | Đổi logic Upsell, thêm/bớt tầng |
| `controller.py` | Controller: Redis, Langfuse, API route | Đổi TTL cache, thêm metric |

## Quy tắc vàng

1. **Sửa `graph.py`** → ảnh hưởng TOÀN BỘ luồng (Classifier + Tool + Stylist)
2. **Sửa `prompts.py`** → chỉ ảnh hưởng output text, không ảnh hưởng logic
3. **Sửa `product_search_engine.py`** → ảnh hưởng kết quả tìm kiếm
4. **Sửa `controller.py`** → ảnh hưởng API layer, hiếm khi cần sửa

## Thư mục

```
backend/agent/lead_stage_agent/
├── graph.py                   # Core logic
├── prompts.py                 # System prompts
├── product_search_engine.py   # Search engine
├── controller.py              # API controller
└── tools/                     # Thư mục tool mở rộng
```
