复盘页产品评审简版
本文档是 完整方案 的评审会压缩版,仅保留决策层面的关键信息。
一、核心产品判断
| # | 判断 | 理由 |
|---|---|---|
| 1 | 先做数据采集,再做复盘页 | 当前手表仅支持打点(单击/双击/长按),无心率/GPS/速度。没有数据的复盘页 = 打点统计面板,与回放页重复 |
| 2 | 复盘页不是第二个回放页 | 回放页 = 看片段、做剪辑;复盘页 = 看全局、看数据、看 AI 结论。复盘页禁止放视频播放器 |
| 3 | 第一版不做报表化 | 用户是业余运动爱好者,不是教练。Strava/佳明已占领报表赛道,BlinkLife 的差异化是"事件 + 视频 + AI" |
| 4 | 可信度优先于丰富度 | 宁可只展示 3 个可信模块,不要展示 8 个半可信模块。一次"AI 瞎说"就会摧毁信任 |
二、采集能力优先级
P0 — 必须先做稳(阻塞复盘页 MVP)
| 采集项 | 一句话 | 不做的后果 |
|---|---|---|
| Session | 训练开始/暂停/结束的精确时间 | 无法定义"这场训练",时间轴没有骨架 |
| Event Marker 增强 | 现有打点 + confidence/weight/is_revoked | 无法区分高质量事件和误触 |
| 时间戳同步 | 手表-手机时钟偏移校准 | 点击"第 12 分钟射门"跳到视频第 15 分钟 |
| 心率 | 1Hz 连续心率采集 | 复盘页没有核心数据轴,只能做打点统计 |
| 数据质量标记 | 每种数据的 good/degraded/unavailable 状态 | 展示错误数据,用户失去信任 |
P1 — 建议尽快补齐
| 采集项 | 说明 | 依赖 |
|---|---|---|
| 速度 | 瞬时速度,室内 GPS 不可信 | P0 心率稳定后 |
| 距离 | 累计跑动距离 | 与速度一起做 |
| 强度区段 | 心率区间自动分段 | P0 心率数据 |
P2 — 后续增强
GPS 轨迹热图、冲刺分析、多场次对比 — MVP 不做。
三、复盘页 MVP 边界
上线(5 个模块)
| 模块 | 展示什么 | 数据来源 | 与回放页联动 |
|---|---|---|---|
| 总览卡片 | 运动类型、时长、打点数、平均/峰值心率 | Session + EventMarker + 心率聚合 | 无 |
| 事件分布图 | 时间轴上按动作类型着色的事件散点 | EventMarker | 点击事件→跳转回放页 |
| 心率趋势 | 折线图 + 事件 marker 叠加 + 峰值标注 | SensorSample.heart_rate | 点击峰值→跳转回放页 |
| AI 摘要 | 2-4 句话(概况 + 强度 + 高光 + 建议) | 统计数据,不做因果推断 | 高光可点击跳转 |
| 推荐片段 | 3-5 个值得回看的片段(缩略图+原因) | confidence x weight 排序 | 点击→跳转回放页,可一键剪辑 |
不做
| 模块 | 为什么不做 |
|---|---|
| GPS 轨迹热图 | 室内不可用,数据 P2 |
| 双 Y 轴心率+速度曲线 | 速度 P1,两轴对齐复杂 |
| 冲刺详细分析 | 依赖速度+加速度,P2 |
| 节次对比雷达图 | Session.pauses 机制未验证 |
| 多场次趋势对比 | 需要 5+ 场数据积累 |
四、回放页联动规则
联动原则
复盘页(理解页)→ 发出 ReplayAnchor → 回放页(操作页)执行跳转
四种联动模式
| 模式 | 场景示例 | 回放页行为 |
|---|---|---|
| 单点跳转 | 点击"第 12 分钟射门" | seek 到该时间点(前移 5s),高亮对应事件 |
| 区间播放 | 点击"第 20-30 分钟高强度" | seek 到区间开始,时间轴显示区间色带 |
| 集合浏览 | 点击"AI 推荐 Top 5" | 进入集合模式,上/下条在集合内导航 |
| 剪辑联动 | 长按推荐片段→"剪辑" | 跳转回放页,自动触发单事件/批量剪辑 |
五、降级策略
| 场景 | 页面策略 | AI 策略 |
|---|---|---|
| 无 GPS 轨迹 | 隐藏轨迹模块,不显示占位符 | 不提及跑动距离和活动区域 |
| 心率覆盖率 60-80% | 曲线断点虚线 + "部分缺失"标注 | 仅使用有数据区间 |
| 心率覆盖率低于 40% | 隐藏趋势曲线,仅显示峰值/均值数值 | 不引用心率数据 |
| 速度异常跳变 | 过滤异常点,最高速度取 P95 | 用"约"前缀 |
| Session 中断 | 标注"记录不完整",用实际有数据的范围 | 开头声明数据不完整 |
| 视频未对齐 | "查看片段"按钮灰显 | 正常生成摘要,不推荐片段 |
六、AI 约束红线
| 可以做 | 禁止做 |
|---|---|
| 训练摘要(基于统计) | 因果判断("因为...所以...") |
| 强度评价(基于心率区间) | 动作质量评价("射门质量下降") |
| 高光推荐(基于 confidence 排序) | 战术建议("应该加强左脚") |
| 保守型提示("心率偏高,建议关注") | 跨场次对比("不如上周") |
| 节奏总结(事件密度变化) | 没有数据依据的主观评价 |
铁律:每条 AI 结论必须标注数据来源。置信度低时用疑问句而非陈述句。
七、推进顺序
| 阶段 | 内容 | 周期 |
|---|---|---|
| Step 1 | 手表端 P0 采集(心率 + Session + 时间同步) | 2-3 周 |
| Step 2 | 统一数据模型 + DB v14(与 Step 1 并行) | 1-2 周 |
| Step 3 | 复盘页 MVP(5 个模块 + 联动 + 降级) | 2-3 周 |
| Step 4 | P1 数据 + 复盘页增强(速度/距离/强度区段) | 持续 |
八、Top 5 风险
| # | 风险 | 缓解措施 |
|---|---|---|
| 1 | 心率不做质量标记就展示 → 异常值摧毁信任 | QualityState 必须与采集同步实现 |
| 2 | 复盘页做成回放页副本 → 两页重复用户困惑 | 复盘页禁止视频播放器,只通过锚点跳转 |
| 3 | AI 输出超出数据依据 → "这 AI 瞎说" | 每条结论标注来源,置信度低时疑问句 |
| 4 | 手表-手机时间不同步 → 跳转偏移 | Step 1 必含时钟同步,不是可选项 |
| 5 | DB 表不预留 P1/P2 字段 → 后续频繁迁移 | 一次定义全字段,暂不采集的置 null |