Skip to content

PracticeMate 用户故事

用户三角:练 – 评 – 教

PracticeMate 的用户不只是学生。产品围绕「练 – 评 – 教」三角构建,MVP 聚焦学生侧,但架构天然支持教师侧(通过全智评 Web)。

学生(端侧教练陪练)←→ events.jsonl ←→ 教师(全智评 Web 看班)

    云端考官(深度评分)

Hero Story:医学生 CPR/BLS 练习

US-01: 作为学生,我想开一场「陪练会话」,在做 CPR/BLS 练习时有 AI 教练实时陪伴

场景:小明在做 CPR/BLS 心肺复苏练习,没有老师在旁边指导 当前:一个人练,犯错了也不知道,要等事后批改 期望:打开 App 选模板、点「开始练习」,AI 教练实时温和提醒 验收

  • 用户点的是「开始练习」不是「开始录像」
  • 教练语气温和、可打断,不像报警器
  • 按阶段陪伴(环境评估 → 胸外按压 → 气道通气 → 循环延续)
  • 正向确认时给正面反馈(「双手位置正确,继续」)
  • 开始练习前有 3 秒专注引导(深呼吸 + haptic + "进入急救状态")

US-02: 作为学生,我想开练前有机位引导,而不是自己猜手机怎么摆

场景:小明不知道手机该怎么放才能让 AI 看清楚 当前:放歪了 → 检测不准 → 体验差 期望:App 用 AR 框 / 示意图告诉我放在哪里最好 验收

  • 开练前 5 秒有机位引导
  • 实时反馈画面质量(亮度 / 角度 / 是否拍到手)
  • 质量不达标时降级为文字清单模式,不强制关闭
  • 引导通过后自动开始练习

:Camera Quality Gate 是独立可演示的创新点——即使脱离整体流程,单独作为「摄像头就绪检测」也有展示价值。

US-03: 作为学生,我想在练习时只收到当前阶段相关的提醒,不被无关弹窗打扰

场景:小明正在按压,App 突然提醒「记得确认环境安全」——这属于环境评估阶段的关注点 当前:全程监控所有信号,容易误报、分散注意力 期望:环境评估阶段关注现场安全与意识判断,胸外按压阶段关注手法与频率,气道通气阶段关注头部位置与通气量 验收

  • 明确的阶段切换提示(「进入胸外按压阶段」)
  • 每阶段只检查 2-3 个信号
  • 低置信的检测结果不弹窗
  • 手动阶段切换按钮("进入下一阶段")始终可见,用户不被 AI 检测卡住
  • 超时后教练主动询问("看起来你已经在操作了,要切换到下一阶段吗?")

US-04: 作为学生,我想练完后马上看到教练的即时复盘,不用等网络

场景:练习做完了,想立刻知道大概做得怎么样 当前:要上传等几十秒才有反馈 期望:点「结束练习」立刻看到按阶段的小结 验收

  • 端侧即时复盘(Instant Recap),不依赖网络(飞行模式也能用)
  • Instant Recap 是规则聚合,不需要模型:按阶段汇总 ✓/△/✗,亮点优先展示
  • 按阶段总结,正向优先(先列做对的,再列待改进)
  • 教练语气(不评分,不打分数)
  • 底部可选「申请专家评分」

US-05: 作为学生,我想在选择后才把数据上云做评分,而不是自动上传

场景:小明担心隐私,不想每次都把数据传到云端 当前:录完自动上传视频 期望:教练复盘后,由我决定是否「申请专家评分」 验收

  • 评分是可选操作,不是默认行为
  • 明确告知「上传的是事实数据,不是视频」
  • 设置页可查看已上传的数据
  • 首次使用时展示隐私说明

US-06: 作为学生,我想收到专家级评分报告,有详细的分维度评语和改进建议

场景:小明想知道专家怎么看自己的操作,哪里好、哪里差 当前:老师批改粗糙,一周后才有反馈 期望:1-2 分钟收到多维评分,每个维度有具体评语,能回看视频对应片段 验收

  • 报告 < 2 分钟生成
  • 按练习阶段分段评价
  • 引用具体时间戳作证据
  • 点击扣分项可跳转到本地视频对应时刻
  • 考官语气(严谨、有证据)

US-07: 作为学生,我想在没有网络时也能得到教练陪伴

场景:练习室网络不好 当前:纯云方案直接不可用 期望:教练实时陪伴不依赖网络;专家评分等恢复网络后再获取 验收

  • 飞行模式下教练陪伴正常工作
  • 恢复网络后可选择上传获取考官评分

延伸用户(路线图呈现,不进 demo)

US-08: 作为教师,我想在全智评 Web 端看全班的 AI 评分汇总

本仓库不实现:通过全智评已有的 Web 端,以 events.jsonl 为纽带连接学生端和教师端。

US-09: 作为教师,我想自定义练习的评分标准

Rubric 驱动:长期目标——教师上传/编辑 YAML Rubric,学生端自动获取新模板。

US-10: 作为其他领域的学习者,我想用同样的模式练习

同一架构可扩展到:化学实验(酸碱滴定)、生物实验(显微镜操作)、医学 OSCE、烹饪(烘焙步骤)。每个场景 = 一份 Rubric,无需改架构。路演时一句话带过即可。

新增用户故事

US-11: 作为学生,我想在开练前有 3 秒专注引导,帮我进入急救状态

场景:小明要做 CPR 练习但心还没定下来 当前:直接开始,没有心理过渡 期望:3 秒深呼吸 + haptic + "进入急救状态" 验收

  • 专注引导内容来自 Rubric 定义的 focus prompt
  • 触觉反馈(haptic feedback)配合倒计时
  • 记录 session_focus 事件到 events.jsonl
  • 非强制——用户可以跳过(tap to skip)

US-12: 作为学生,我想快速切换练习模板,用同一个 App 练不同练习

场景:小明做完 CPR 想练 OSCE 洗手 当前:需要不同 App 期望:选模板 → 30 秒换好 → 同样的教练、不同的检测焦点 验收

  • Rubric YAML 热切换(hot-swap),无需重启 App
  • 切换后 UI/UX 一致,教练人格不变
  • 不同 Rubric 对应不同的 edge_signals 检测集
  • 模板列表可从本地加载或云端同步

US-13: 作为学生,我想让教练坦诚告诉我它不确定的地方,而不是假装没看到

场景:教练检测到什么但不确定 当前:要么弹窗要么不弹,没有中间态 期望:"这里我不太确定,先记下来,练完再看" + "待考官确认"标记 验收

  • 低置信检测项标记"待考官确认"badge,不作为扣分依据
  • 教练语气坦诚("我不太确定,先记下"而非静默忽略)
  • 报告中标注 cloud_review_available,提示用户可申请专家复核
  • 不干扰正在进行的练习操作

US-14: 作为学生,我想在 AI 没检测到阶段切换时手动推进,不被卡住

场景:AI 没检测到 hand_position,但小明已经开始胸外按压了 当前:卡在 scene_assessment 阶段 期望:大按钮"进入下一阶段" + 超时后教练询问 验收

  • 手动切换按钮("进入下一阶段")始终可见
  • 超过 Rubric 定义的 estimated_minutes 后教练主动询问
  • 事件记录 transition_source: manual | auto | timeout_prompt
  • 手动切换不影响评分,仅作为数据标注

US-15: 作为学生,我想在练完后看到所有"不确定项"的清单,并能一键请考官裁定

场景:教练标记了 3 项"不确定",小明想知道具体是哪些 当前:低置信事件散落在 events 中,用户看不到 期望:Instant Recap 底部折叠区列出所有不确定项,可选择请考官裁定 验收

  • 不确定项按时间排序,显示时间戳 + 信号 + 教练备注
  • 「一键请考官裁定」选中项随 events.jsonl 上传
  • 考官报告中标注「已裁定:确认 / 推翻」
  • 不确定项数量显示在 Summary Card 中

US-16: 作为学生,我想看到我在同一练习上的进步趋势

场景:小明做了 5 次 CPR 练习,想知道自己进步了多少 当前:每次练习是独立的,没有纵向对比 期望:看到跨 session 的成长曲线和趋势 验收

  • Summary Card 显示 journey 进度("第 5 次练习")
  • 显示关键指标趋势(如"按压深度达标率 60% → 100%")
  • Examiner Report 的 growth_indicators 引用多次 session 数据

US-17: 作为教师,我想通过扫码快速查看学生的练习摘要

场景:老师想看小明的练习情况但不想登录复杂系统 当前:没有轻量的教师查看入口 期望:扫学生 Summary Card 上的 QR 码,看到只读摘要 验收

  • QR 码 / 链接指向只读页面
  • 页面展示:Recap 亮点 + 不确定项数 + journey 趋势
  • 不含视频(隐私)
  • 教师可添加文字批注

PracticeMate — Rubric Runtime