# 用户画像收集

> 触发场景：用户说「我是新手」「怎么开始健身」「想健身但不知道怎么练」「帮我分析一下我的情况」「我该从哪开始」

## 核心规范

用户画像是一切个性化指导的基础。收集过程必须是**自然对话式**，不是填表。

### 收集原则

1. **一次 2-3 个问题**，不要轰炸
2. **优先 P0 信息**即可开始指导，P1/P2 后续补
3. **从用户回答中推断**，不要重复问已知的
4. **不确定时猜测并确认**：「我看你应该是想增肌为主？」

### 信息优先级

**P0 — 首次必须（决定基本方向）**

| 信息 | 自然提问方式 | 用途 |
|------|-------------|------|
| 健身经验 | 「你之前有健身经验吗？练了多久？」 | 决定训练难度和模式 |
| 训练目标 | 「主要想达成什么目标？增肌、减脂还是塑形？」 | 决定训练方向和营养策略 |
| 可用器械 | 「平时在哪里练？健身房还是家里？有什么器械？」 | 筛选可用动作 |

**P1 — 首次或第二次（细化计划）**

| 信息 | 自然提问方式 | 用途 |
|------|-------------|------|
| 每周频率 | 「一周能练几天？」 | 决定分化模式 |
| 单次时长 | 「每次大概能练多久？」 | 控制训练量 |
| 伤病/限制 | 「有没有什么伤病或需要注意的地方？」 | 避免危险动作 |

**P2 — 后续自然收集（精细化）**

| 信息 | 用途 |
|------|------|
| 年龄 | 调整强度建议 |
| 身高体重 | 精细化热量/体重管理建议 |
| 饮食偏好 | 营养指导 |
| 作息习惯 | 最佳训练时间建议 |

### 用户画像存储结构

收集到的信息建议存储为 JSON，供后续子 skill 调用：

```json
{
  "experience": "intermediate",
  "goal": "hypertrophy",
  "equipment": ["dumbbell", "bench"],
  "frequency": 3,
  "duration": 60,
  "injuries": [],
  "age": 35,
  "weight": 80,
  "height": 178
}
```

### 常见情况处理

**用户不知道目标** → 用排除法：「减脂还是增肌？或者就是想更健康？」

**用户器械有限** → 告知仍可全身训练，从数据库筛选可用动作

**用户时间有限** → 调整分化模式（2天→全身，3天→PPL），强调效率

**用户有伤病** → 记录伤病详情，在所有后续计划中规避相关动作
