文件内容
references/user-onboarding.md
# 用户信息收集流程
## 收集原则
1. **自然对话式**:不要像填表,融入聊天中
2. **渐进式收集**:一次问 2-3 个问题,不要轰炸
3. **优先级驱动**:先收集关键信息,其他可以后面补
4. **灵活调整**:根据用户回答调整问题
## 信息优先级
### P0 - 必须收集(首次对话)
| 信息 | 问题示例 | 用途 |
|------|----------|------|
| 健身经验 | "你之前有健身经验吗?练了多久?" | 决定训练难度 |
| 训练目标 | "你主要想达成什么目标?增肌?减脂?塑形?" | 决定训练方向 |
| 可用器械 | "你平时在哪里练?家里还是健身房?有什么器械?" | 筛选可用动作 |
### P1 - 重要信息(首次或第二次)
| 信息 | 问题示例 | 用途 |
|------|----------|------|
| 每周训练天数 | "你一周能练几天?" | 决定训练频率/分化方式 |
| 单次时长 | "每次大概能练多久?" | 控制训练量 |
| 伤病/限制 | "有没有什么伤病或者需要注意的地方?" | 避免危险动作 |
### P2 - 补充信息(后续对话中自然收集)
| 信息 | 问题示例 | 用途 |
|------|----------|------|
| 年龄 | 自然提及或从对话推断 | 调整强度建议 |
| 身高体重 | "你现在体重多少?身高呢?" | 精细化建议 |
| 饮食偏好 | "平时吃得怎么样?有忌口吗?" | 综合建议 |
| 作息习惯 | "你一般什么时候练?" | 最佳训练时间建议 |
## 对话流程示例
### 场景 1:完全新手
```
用户:我想健身,但不知道怎么开始
教练:太好了!健身是最好的投资 💪 先了解一下你的情况:
你之前有健身经验吗?还是完全新手?
用户:完全新手,从来没练过
教练:没问题,每个人都是从新手过来的!
你主要想达成什么目标?减脂?增肌?还是就想动一动?
用户:我想减肥
教练:明白!减脂的话,训练+饮食都要注意。
你平时在哪里练?健身房还是家里?有什么器械吗?
用户:家里,有一对哑铃
教练:完美!哑铃在家练足够了。
你一周能练几天?每次大概多久?
用户:一周3天吧,每次半小时到一小时
教练:好的!信息够了,我给你设计一个适合新手的计划...
```
### 场景 2:有经验者
```
用户:帮我设计一个训练计划
教练:好的!先了解一下:
你健身多久了?之前练什么为主?
用户:练了一年多,主要撸铁
教练:不错的底子!你现在的目标是什么?增肌还是塑形?
用户:想增肌,把线条练出来
教练:收到!你现在在哪里练?器械情况怎么样?
用户:家里,有哑铃和上斜凳
教练:很好!一周能练几天?有没有伤病要注意的?
用户:一周3天,没伤病
教练:信息够了!基于你的情况,我推荐 PPL 推拉腿模式...
```
## 信息存储
收集到的信息应该存储在用户的个人档案中(由使用本技能的 agent 自行管理):
```json
{
"experience": "intermediate",
"goal": "hypertrophy",
"equipment": ["dumbbell", "bench"],
"frequency": 3,
"duration": 60,
"injuries": [],
"age": 35,
"weight": 80,
"height": 178
}
```
## 常见问题处理
### 用户不知道自己的目标
```
用户:我不知道自己想练什么
教练:没关系!我帮你分析一下:
你现在对自己的身材哪里不满意?
或者想变得怎么样?
常见目标:
- 减脂:想让线条更明显
- 增肌:想变大变强壮
- 塑形:想身材更好看
- 健康:就是想动一动
你更接近哪个?
```
### 用户器械有限
```
用户:我只有一对哑铃
教练:完全没问题!哑铃是万能器械,能练全身。
我会从数据库里筛选出所有哑铃动作给你设计计划。
以后想升级的话,可以考虑:
- 加一对可调节哑铃(重量范围更大)
- 加一根引体向上杆(练背神器)
```
### 用户时间有限
```
用户:我一周只能练2天
教练:理解!时间少也能练出效果。
2天的话,我推荐全身训练模式:
- 每次练全身主要肌群
- 复合动作优先(深蹲、卧推、划船)
- 高效率训练
这样每次训练都能刺激到所有肌群,效果不差的!
```
## 注意事项
1. **不要一次问太多**:2-3 个问题为宜
2. **倾听用户**:从回答中获取更多信息
3. **灵活调整**:不需要严格按顺序问
4. **保持热情**:用正向语言,不要打击用户
5. **尊重隐私**:用户不想说的不要追问