# Community Reaction Simulator

Lấy cảm hứng từ BettaFish ForumEngine, hệ thống này giả lập phản ứng của cộng đồng mạng đối với các chiến dịch marketing (ví dụ: ra mắt sản phẩm, flash sale) bằng cách sử dụng sức mạnh của LLM.

## Luồng xử lý Logic (Logic Flow)

```mermaid
sequenceDiagram
    actor Client
    participant API as /simulate Endpoint
    participant Agent as Reaction Agent
    participant LLM as LLM Factory
    
    Client->>API: POST /simulate (campaign_type, content)
    API->>Agent: run_reaction_simulation()
    
    loop For each Persona Segment
        Agent->>LLM: ainvoke(persona prompt)
        LLM-->>Agent: JSON Response (comment, sentiment, likes, concern)
    end
    
    Agent->>Agent: Calculate Sentiment % & Generate Recommendations
    Agent-->>API: Full Simulation Results
    API-->>Client: JSON Response
```

## Các Nhóm Persona Khách Hàng

Hệ thống được thiết kế với 7 nhóm persona chính, mỗi nhóm có trọng số (`weight`), tính cách (`traits`) và giọng văn (`tone`) khác nhau:

- **Mom Shopper (20%)**: Phụ nữ 30-40 tuổi, ưu tiên chất lượng và giá hợp lý. Văn phong nhẹ nhàng, hay chia sẻ kinh nghiệm.
- **Young Professional (20%)**: Khách hàng văn phòng 25-32 tuổi, thích đồ basic smart casual. Trả lời ngắn gọn, lịch sự.
- **Fashion Enthusiast (15%)**: 28-38 tuổi, sẵn sàng chi tiền, hay so sánh trend. Viết review hào hứng.
- **Budget Conscious (15%)**: 35-45 tuổi, chuyên săn sale, nhạy cảm về giá. Hay tính toán, compare giá.
- **Gen Z Trendy (15%)**: 18-25 tuổi, aesthetic, thích dùng slang, emoji, FOMO cao.
- **KOL / Blogger (10%)**: Phân tích kỹ, review chuyên nghiệp, đánh giá objective.
- **Social Media Troll (5%)**: Toxic nhẹ, hay chê bai, châm biếm.

## Hệ thống Recommendation 

Dựa vào tỷ lệ Sentiment (Positive / Neutral / Negative) thu được từ LLM, Agent tự động đưa ra các khuyến nghị hành động:

- **Negative >= 40%**: Cảnh báo ĐỎ. Đề xuất delay launch hoặc điều chỉnh nội dung.
- **Negative >= 20%**: Cảnh báo VÀNG. Chuẩn bị response template cho Customer Service.
- **Positive >= 60%**: Tín hiệu TỐT. Tiềm năng viral cao, chuẩn bị hạ tầng stock.
- Tổng hợp các **key_concern** từ nhóm Negative để giúp team Marketing chủ động giải quyết.
