SA 空间预约:User Stories (用户故事集)
本文档定义了 SA_空间预约 模块的核心用户场景与验收标准(AC),旨在指导开发实现并提供测试依据。
设计原则 (Design Principles - MVP)
- 人工干预优先 (Manual Override):对话流主要用于槽位提取与初次推荐。若用户需修改已确定的信息(如时间、人数),统一通过卡片上的 [编辑] 按钮跳转至原生 AppLink 页面进行手动调整。
- 不进行对话纠偏:MVP 阶段暂不支持通过“人数改到 10 人”等自然语言指令直接更新已发出的交互卡片。
角色库 (Persona)
| 角色 | 描述 |
|---|---|
| 员工 (Host) | 空间资源的使用者,追求预订的高效与确定性。 |
| Space Agent (SA) | 智能助手,负责语义转换、逻辑编排、资源校验与主动服务。 |
| 管理员 (Admin) | 负责空间与设备的 AI 语义配置、权重调节及异常处理。 |
一、 核心预约场景 (Core Booking)
ST-01: 模糊时间预约
User Story: 作为 “员工”,我想要 “通过模糊的自然语言(如:明天下周点)进行预约”,以便 “无需精确输入复杂的日期时间也能完成订房”。
验收标准 (AC):
- Given: 当前时间为周一 10:00;When: 用户输入“帮我订个明天下周点的会议室”;Then: SA 识别槽位
start_date为明天(周二),start_time为 14:00 (下周点理解为下午两点),并调用 Time Pipeline 锁定时间。 - Given: 用户未输入时间;When: 用户输入“订个 305 会议室”;Then: SA 默认补全时间为当前时间的下一个整点,并追问用户确认。
ST-02: 智能默认与歧义处理
User Story: 作为 “员工”,我想要 “在输入存在上下午歧义但其中一个已过期时(如:10点说订5点),系统能自动锁定有效时间”,以便 “减少不必要的确认步骤”。
验收标准 (AC):
- 智能锁定 (Status: OK):
- Given: 当前时间为 10:00;
- When: 用户输入“订个 5 点的会议室”;
- Then: Time Pipeline 生成候选 [05:00, 17:00],由于 05:00 已过期被漏斗剔除,系统直接返回 “Status: OK” 并锁定为 17:00。
- 真歧义追问 (Status: AMBI):
- Given: 当前时间为 10:00;
- When: 用户输入“订个 明天 10 点的会议室”;
- Then: Time Pipeline 生成候选 [明天 10:00, 明天 22:00],若两者均在工作时间内,系统返回 “Status: AMBI” 并询问:“您是想订上午 10 点还是晚上 10 点?”
二、 复杂逻辑与冲突场景 (Logic & Conflict)
ST-03: 资源冲突平替方案 (仅限物理平替)
User Story: 作为 “员工”,我想要 “在指定会议室被占用时获得其他可用房间建议”,以便 “在不改变会议时间的前提下完成预订”。
验收标准 (AC):
- 指定房间冲突 (Space Shift):
- Given: A-101 在用户指定时间段已被预订;
- When: 用户输入“我想订 A-101 会议室”;
- Then: SA 返回 “CONFLICT” 状态,并在同楼层或相邻楼层搜索容量匹配的可用房间(如 A-102),主动推送给用户,不建议挪动时间。
- 全局无房可用 (Fail):
- Given: 当前时段所有匹配容量的房间均全忙;
- When: 用户发起预约;
- Then: SA 直接告知“该时段无可用会议室”,MVP 阶段不主动进行自动时间顺延 (Time Shift)。
ST-04: 非工作时间/过期拦截 (明确报错)
User Story: 作为 “员工”,我想要 “在试图预订已过去的时间或非工作时间时获得明确反馈”,以便 “快速调整预约计划”。
验收标准 (AC):
- Given: 企业配置工作时间为 08:00-22:00;When: 用户预订“凌晨 2 点”;Then: SA 明确告知该时段非营业时间,不提供具体推荐。
- Given: 当前 15:00;When: 用户明确指定预订“今天 14:00”;Then: SA 直接拦截并报错:“该时间点已过期,请重新选择时间”。
三、 主动服务与感知 (Active Service)
ST-05: 触发整备逻辑 (简写)
相关设计请参考:主动服务:环境与设备整备逻辑 及 主动服务:跨智能体 Story。
User Story: 作为 “员工”,我想要 “在预约成功后由系统自动接管环境整备”,以便 “享受无感化的空间体验”。
验收标准 (AC):
- 联动确认:当会议被
CONFIRMED后,SA 自动将槽位信息及物理 ID 同步给 Master Agent 进行整备任务排期。 - 状态感知:SA 的会议卡片中应能反映出当前的整备状态(如:预热中、已就绪)。
四、 管理员管控 (Admin Ops)
ST-06: AI 别名与权重管理 (Admin)
User Story: 作为 “管理员”,我想要 “为物理空间配置多个语义别名”,以便 “使 SA 能听懂员工的各种口头表达”。
验收标准 (AC):
- Given: 物理会议室名为“F8-305”;When: 管理员在后台添加别名“火星厅”并设置权重 1.0;Then: 员工输入“订火星厅”时,SA 能精准匹配到 F8-305。
- Given: IoT 资产已同步异常或被物理删除;When: 管理员进入管理后台;Then: 系统展示明显的变动对比(Strikethrough)及异常状态标记,提醒管理员处理。
INVEST 自检表
- Independent (独立性): 每个 Story 覆盖一个完整的业务片段。
- Negotiable (可协商): 允许在 AC 层面根据 MVP 范围微调。
- Valuable (有价值): 强调了“数字员工”的基本服务价值。
- Estimatable (可估算): 功能边界已收缩至 MVP 范围内。
- Small (微小): 拆分到了槽位、时序、拦截等粒度。
- Testable (可测试): 验收标准均采用 Given-When-Then 格式。
