主题
08 移动端 AI 场景设计 — 四类角色的一天
项目背景:上海交通大学新院区,以 MBA 教学为主;用户以在职 MBA 学生、授课教师/业界导师、运维人员、管理者为主。
组织方式:按「人的一天 / 一天一天」的时间线,覆盖 教师、MBA 学生、运维人员、管理者 四类角色,外加访客/企业嘉宾、校友。
统一口径:一个 B 端小程序统一入口 + 一个 ReAct 智能体 + 按角色权限装配;Skill 管多步固定流程,MCP Tool 管单步原子动作;回复 = Markdown 文字 + Mermaid 图表 + 快捷选项/跳转链接。
1. 设计原则
| 原则 | 说明 | 反面例子 |
|---|---|---|
| 一个入口 | 所有角色进同一个小程序,按权限看到不同能力 | 学生一个 App、教师一个 App、运维一个 App |
| 主动优先 | 在正确的时间推正确的事,不等用户想起来 | 用户自己定闹钟查课表 |
| 一句话办事 | 一句话完成一件事,不点五层菜单 | 「请选择楼栋→楼层→房间→时段」 |
| 有上下文 | 知道我是谁、我的课表、我在哪、我上次问了什么 | 每次都要说「我是教 302 的李老师」 |
| 能闭环 | 查询、预约、报修、控制、通知都能落到系统 | 「请前往 XX 页面办理」 |
| 有兜底 | 办不成给替代方案、转人工、留痕 | 「抱歉我不明白」 |
| 一轮一意图 | 一句话只处理一个主需求;多意图先反问 | 一句话塞进导航 + 找柜子 + 订房间 |
判断标准:用户只说一句话,Agent 背后串了三个系统,最后事情办成了。
2. 全局交互形态与能力层级
2.1 能力层级(L1–L6)
| 层级 | 含义 | 例子 |
|---|---|---|
| L1 知识问答 | RAG 问答,不查业务数据 | 高金码怎么用、失物认领电话、新院区介绍 |
| L2 数据查询 | 调工具读数据 | 我下节课在哪、3 楼多少人、上周能耗 |
| L3 执行操作 | 写操作,需确认 | 订房间、报修、控设备 |
| L4 主动服务 | 定时/事件推送 | 课前简报、设备异常、预约提醒、日报 |
| L5 跨系统编排 | 多工具长流程 | 访客接待、调课换教室 |
| L6 生成与洞察 | 指标 + 报告 | 课程报告、能源月报、巡检日报 |
阅读下文时,每个场景的「触发 / 层级」列会标 L2–L6;L1 主要用于知识问答,不单列时间线。
2.2 回复形态
所有能力统一 channel 到移动端 Chatbox,回复由三种元素组成:
| 元素 | 用途 | 例子 |
|---|---|---|
| Markdown 文字 | 结论、数据、建议、口径说明 | 「302 当前 38 人,容量 40,接近满员」 |
| Mermaid 图表 | 趋势、分布、占比、流程 | 人数趋势折线、能耗占比饼图、巡检漏斗 |
| 快捷选项 / 跳转链接 | 确认选项或跳到其他页面继续操作 | 「切到案例讨论模式」「打开预约页」「查看工单」 |
不假设前端能渲染自定义业务卡片;默认用文字 + 编号选项 + 跳转链接。选型支持按钮/选项时再用按钮。
2.3 主动 vs 被动
| 方式 | 触发 | 适合 |
|---|---|---|
| 主动推送 | 定时 / 事件(课表、设备告警、预约临近、人流阈值) | 简报、预警、提醒、日报 |
| 对话查询 | 用户一句话 | 查数据、找空间、问原因 |
| 选项操作 | 推送或对话后的快捷选项 | 确认预约、切场景、看证据图 |
权限三层:角色(教师/学生/运维/管理者)× 数据范围(本人/本课程/本区域/全院)× 操作级别(只读/建议/执行)。写操作默认「建议 + 确认」。
3. 角色与能力装配
| 角色 | 他一天要处理的事 | 可用 Skill | 常用 Tool | 数据范围 |
|---|---|---|---|---|
| 教师 | 上课、教室整备、嘉宾接待、课程报告 | 教师日程简报、智能整备、教室场景切换、空间预约、访客接待、课程报告 | 查课表、查设备、控设备、建访客、生成报告 | 本人课程 + 所用教室 |
| MBA 学生 | 通勤、找教室、找座位、吃饭、讨论室、活动、报修 | 通勤提醒、室内导航、空间预约、报修、活动报名 | 查课表、查历史车位、查空间占用、建工单 | 本人 |
| 运维人员 | 交接班、巡检、告警、工单、复核、健康度 | 运维交接班、巡检执行、告警处置、异常流转、巡检日报 | 查巡检、查告警、建工单、查健康度、查设备 | 负责区域 |
| 管理者 | 晨报、例会、能源、空间、服务质量、月度/学期报告 | 运营日报、能源月报、运营月报、学期报告 | 查指标、查能耗、查空间画像、查巡检统计 | 授权范围 |
各场景的跨系统依赖与失败兜底见第 11 节。
4. 教师的一天:李教授
人设:45 岁,金融学教授/业界导师,周二在 302 上《公司金融》,周六带案例讨论。
| 时间 | 场景 | 触发 / 层级 | 一句话 / 看到什么 | Agent 编排(Skill → Tool) | 输出 |
|---|---|---|---|---|---|
| 07:30 | 到校前简报 | 主动 L4 | 「今天 09:00《公司金融》在 302,选课 42 人;今天多云 18–26℃」 | 教师日程简报 → 查课表、查天气 | 文字 + Mermaid + 教室导航链接 |
| 08:20 | 到校导航 | 被动 L2 | 「从 B2 停车场到 302 怎么走?」 | 室内导航 → 实体解析、地图路线(起终点明确,不依赖定位) | 路线 + 步行时间 |
| 08:40 | 智能整备 | 主动 L4 | 「302 已整备:灯光/空调/投影已开启;1 项整备失败,已通知运维」 | 智能整备 → 控灯光、控空调、控投影、控幕布;失败→通知运维 | 整备结果 + 异常提示 |
| 09:00 | 课中环境/人数 | 被动 L2 | 「教室多少人?空气怎么样?」 | 查人数、查环境;CO₂ 偏高 → 建议加大新风 | 文字 + 人数/CO₂ 图 |
| 09:40 | 案例讨论模式 | 被动 L3 | 「切换到案例讨论模式」 | 教室场景切换 → 控灯光、控投影、控空调、控窗帘 | 执行确认 + 快捷选项 |
| 10:30 | 找讨论室 | 被动 L2/L3 | 「下午 2 点找个 30 人讨论室」 | 空间预约 → 查可用时段、查会议室、预定、控设备 | 预约确认 + 跳转 |
| 11:00 | 嘉宾接待 | 被动 L5 | 「明天 10 点有企业嘉宾到 201」 | 访客接待 → 建访客、门禁授权、导航;到访当天自动提醒(停车/欢迎屏待定) | 通行凭证 + 导航 |
| 12:00 | 讲座提醒 | 主动 L4 | 「12:00 有校友讲座《一级市场展望》,是否加入日程/报名?」 | 活动提醒 → 查活动、查日程 | 提醒 + 报名选项 |
| 13:30 | 工单报修 | 被动 L3 | 「302 这个坏了」(拍照) | 报修 → 识别设备/位置、建工单、查进度 | 工单确认 + 进度 |
| 14:00 | 课程报告 | 被动 L6 | 「这门课这学期用了多少电?」 | 课程报告 → 查课表、查能耗、查工单、生成报告 | 报告 + 图表 |
这一天的主线:教师只说了几句话;Agent 主动推了「简报、智能整备、讲座提醒」三次。设备整备失败时只通知运维,不推给教师做换教室决策;嘉宾接待在 T7 单独处理。
5. MBA 学生的一天:王女士
人设:32 岁,金融机构中层,在职 MBA,每周六从公司开车到校;关注时间、停车、吃饭、讨论室、讲座和职业发展。
| 时间 | 场景 | 触发 / 层级 | 一句话 / 看到什么 | Agent 编排(Skill → Tool) | 输出 |
|---|---|---|---|---|---|
| 07:45 | 通勤前提醒 | 主动 L4 | 「今天 09:00《投资学》在 501;周六 08:30 前 B2 通常有空位,建议 08:30 前到;12:00 有校友讲座」 | 通勤提醒 → 查课表、查历史车位、查活动 | 文字 + 行程选项 |
| 08:20 | 充电/车位查询 | 被动 L2 | 未充电:「B2 还有充电车位吗?」 已充电:「我的车现在充得怎么样了?」 | 未充电→查空闲充电车位 + 导航;已充电→查我的车/充电桩状态 | 空位 + 导航;或电量/剩余时间/是否充满 |
| 08:40 | 到校导航 | 被动 L2 | 「大堂到 501 怎么走?」 | 室内导航 → 实体解析、地图路线 | 路线 + 步行时间 |
| 09:00 | 课前课表 | 被动 L2 | 「我这周还有什么课?」 | 查课表 | 课表 |
| 10:15 | 课间找空间 | 被动 L2/L3 | 「哪有空的自习位/交流区/电话间?」 | 空间预约 → 查空间占用、查可用时段、短时预约 | 推荐列表 + 预约确认 |
| 12:00 | 午餐错峰(待定) | 被动 L2 | 「食堂现在人多吗?」 | 查食堂人数(窗口级大概率无数据) | 文字 + 食堂级人数 |
| 13:30 | 小组讨论/课后 | 被动 L2/L3 | 「下午 2 点找个能投屏的讨论室,4 个人」 | 空间预约 → 查可用时段、查会议室、预定、控设备 | 预约确认 |
| 15:00 | 活动查询 | 主动 + 被动 L4/L2 | 「最近有什么并购相关的活动?」 | 活动推荐 → 查活动、报名、加日程 | 推荐 + 报名选项 |
| 15:30 | 校友导师 | 被动 L2/L3 | 「有没有做并购的校友导师?」 | 校友导师 → 按职位/行业检索、发起预约(信息由用户自维护,可能只有职位) | 导师列表 + 预约 |
| 16:30 | 报修/工单查询 | 被动 L3/L2 | 「3 楼饮水机坏了」(拍照);「我上周报的修好了吗?」 | 报修 → 识别设备、建工单、查工单 | 工单进度 |
| 17:00 | 碳积分 | 被动 L2 | 「碳积分多少?」 | 碳账户 → 查积分(依赖绿色节能管理应用) | 碳积分卡片 |
这一天的主线:王女士没有打开任何二级菜单;通勤、找路、找座位、吃饭、讨论室、活动、报修都在一个对话里完成。不推车程/ETC 类信息——没有当前定位和交通方式,算不准;停车只给「历史规律 + 建议到校时间」。碳积分场景保留,但依赖绿色节能管理应用的积分规则。
6. 运维人员的一天:张工
人设:物业/IT 运维,早班,负责 A 楼 3 层;今天有 3 间教室课前保障、1 轮规则巡检、1 轮视觉巡检、若干告警。
巡检对象:资产/设备(有 IoT 走规则巡检)、空间(有相机走视觉巡检)、自定义点(人工巡检);结果落到巡检工单 + 巡检明细。
待讨论:本条的「负责范围、健康度橙色触发逻辑、同一设备重复推送」需要和巡检/预测性维护同事一起定,见本节末尾。
| 时间 | 场景 | 触发 / 层级 | 一句话 / 看到什么 | Agent 编排(Skill → Tool) | 输出 |
|---|---|---|---|---|---|
| 07:00 | 交接班 | 主动 L4 | 「昨夜 2 条告警已闭环;我负责的 A 楼 3 层今日 3 间教室课前保障;1 台 AHU 健康度橙色(待确认是否推送)」 | 运维交接班 → 查巡检报告、查告警、查待办、查健康度 | 交接班摘要 + 待办 |
| 07:30 | 今日巡检计划 | 被动 L2/L6 | 「今天要巡哪些点?哪些设备风险高?」 | 今日巡检计划 → 查巡检计划、查风险清单 | 计划表 + Mermaid 分布 |
| 09:00 | 三类巡检执行(上午/午间两轮) | 定时 L3 | 「规则 42 项:AHU 送风温度、滤网压差、风机状态 vs 课表;视觉 18 项:地面积水、防火门、白板、报告厅门;人工 6 项:异响/异味/消防器材;异常 3 项」 | 巡检执行 → 规则比对、视觉判定、人工填报 | 巡检工单 + 明细 |
| 10:00 | 告警/工单/根因 | 事件 L2/L3 | 「3F AHU-02 温度越限,工单 #1234 怎么排查?」 | 工单系统内置:规则告警→自动建单→工单内「一键诊断」按钮 → 根因/证据/建议;不由 ReAct Agent 编排 | 工单 + 诊断报告 |
| 10:30 | 能源异常处置 | 被动 L2/L3 | 「3 楼空调能耗异常,帮我看看/转工单」 | 能源异常诊断 → 查能耗异常、查证据、建工单(与 01 规则诊断对齐) | 异常清单 + 证据 + 工单 |
| 14:00 | 巡检异常流转/人工复核 | 被动 L3 | 「VLM 低置信度 3 条、判定不符合 2 条 → 自动进入人工复核」 | 异常流转 → 查明细、看证据图、确认/纠正、转人工 | 复核队列 + 证据图 |
| 16:00 | 健康度/预测性维护 | 被动 L2/L6 | 「3 楼 AHU-02 最近状态怎么样?还能不能撑到学期末?」 | 健康度 → 查健康分、查趋势、查扣分原因、查时间线 | 健康分 + 趋势图 + 扣分原因 + 建议 |
| 17:00 | 日报/交接 | 主动 L6 | 「今日完成率 94%,异常 7 项,闭环 4 项,待复核 3 项」 | 巡检日报 → 查巡检统计、生成报告 | 日报 + 图表 + 待办 |
| 夜间 | 定时巡检/告警值班 | 定时 L4 | 规则/视觉巡检按计划跑;异常即时推送 | 巡检计划 → 规则/视觉执行;告警 → 推送 | 夜间报告 + 告警 |
这一天的主线:张工不再「盯屏幕、翻记录」,而是看「交接班摘要 → 今日计划 → 异常清单 → 复核队列 → 健康度」。规则巡检不重复告警阈值;视觉巡检只覆盖 IoT 看不到的物理状态,异常由多模态大模型判定并附证据图/置信度;人工巡检做现场检查与 AI 辅助判责;低置信度/抓拍失败自动转人工复核。保洁/AV/安保/运维按异常类型分流,派单由工单系统负责。
本节待讨论:
- 运维范围:一个学校很大,必须先定义这个运维人员负责的楼/层/系统/区域;Agent 只展示他范围内的。
- 健康度橙色触发:橙色由哪条规则触发、和 AI 巡检/预测性维护怎么衔接,需要细化。
- 重复推送:同一台设备不要每天重复报。建议健康度预警做状态机——新出现 / 恶化 / 持续 / 恢复,只在「新出现、恶化、恢复」时推送,「持续」每周汇总一次;已转工单的设备不再每天推。
7. 管理者的一天/一周:王院长
人设:学院运营负责人,关注空间利用率、能耗、服务质量、预算和碳目标;不直接操作设备,主要看指标和报告。
| 时间 | 场景 | 触发 / 层级 | 一句话 / 看到什么 | Agent 编排(Skill → Tool) | 输出 |
|---|---|---|---|---|---|
| 08:30 | 晨报 | 主动 L4/L6 | 「昨日在楼 1,860 人;能耗环比 +6%;告警 12 条;巡检完成率 94%」 | 运营日报 → 查指标、查告警、查工单、查巡检统计 | 日报 + Mermaid 趋势 |
| 09:00 | 例会看板 | 被动 L2/L6 | 「上周各楼层空间利用率、能耗、工单怎么样?」 | 查空间利用率、查能耗、查工单统计 | 对比表 + 图表 |
| 09:30 | 用能画像 | 被动 L2 | 「给我看看 302 阶梯教室的用能画像」 | 用能画像 → 查能耗、查空间、查同类 | 画像 + Mermaid |
| 10:00 | 异常能耗侦探 | 被动 L2/L3 | 「最近哪些地方能耗异常?」 | 异常诊断 → 查规则诊断、查证据、转工单 | 异常清单 + 证据 |
| 10:30 | 双碳与能源月报 | 被动 L2/L6 | 「10 月院区碳排多少?按楼栋拆一下」 | 能源月报 → 查能耗、碳核算、生成报告 | 碳排 + 报告 URL |
| 11:00 | AI 能效顾问 | 被动 L2 | 「3 楼空调能耗为什么高?有什么建议?」 | 能效顾问 → 查规则诊断、查知识库 | 解释 + 建议(不生成优化策略) |
| 14:00 | 空间洞察 | 被动 L2/L6 | 「3 楼案例讨论室为什么用得少?」 | 空间洞察 → 查空间画像、查利用率、查能耗/工单、查同类 | 画像 + 单位面积指标 + 建议;业务系统先行,MCP 只取既有逻辑/指标 |
| 15:00 | 人流密度/热力 | 被动 L2 | 「现在 3 楼哪些区域人多?报告厅散场会不会堵?」 | 人流密度 → 查人数、查空间、算密度、超容预警 | 热力/密度分级 + Mermaid |
| 16:00 | 服务质量 | 被动 L2/L6 | 「这个月巡检完成率、视觉巡检误报率、投诉闭环率?」 | 查巡检统计、查投诉、生成简报 | 指标卡 + 漏斗图 |
| 月度 | 月度报告 | 主动 + 被动 L6 | 「看下上个月运营情况」/ 推送「本月能耗超预算 8%;碳排目标进度 72%;3 个低效空间建议调整」 | 运营月报 → 指标汇总、异常、建议 | 月报 + 建议清单 |
| 学期 | 学期报告 | 主动 L6 | 「出一份学期运营报告:空间、能耗、设备、服务」 | 学期报告 → 多源指标、趋势、建议 | 报告 + 图表 + 导出 |
这一天的主线:管理者不看原始数据,看「结论 + 证据 + 建议 + 跳转」;能源按「画像 → 异常 → 双碳/月报 → 顾问」串起来,空间同类比较,跨类型只看趋势;报告数字来自指标引擎,LLM 只负责解读和表达。
8. 外部角色:访客 / 企业嘉宾 / 校友
| 角色 | 时间线 | 一句话 | Agent 编排 | 输出 |
|---|---|---|---|---|
| 访客/企业嘉宾 | 申请 → 到访 → 离场 | 「明天 10 点我要到 201,帮我做个访客申请」 | 访客接待 → 创建访客申请、门禁授权、导航;到访当天自动提醒访客和接待人 | 通行凭证 + 导航 + 提醒 |
| 校友 | 返校前 → 到校 → 活动 → 离场 | 「周六返校,活动在哪?」 | 校友接待 → 查预约、查活动、参观路线;停车/欢迎屏待定 | 接待卡片 + 路线 |
外部角色的核心是通行 + 引导 + 接待,不是查数据;权限最小化,离场自动回收。
待定:欢迎屏的联动方式尚未明确;访客/校友停车规则(哪个入口、哪层、访客区)待甲方定义,暂不在话术中承诺。
9. 场景矩阵
| 角色 | 核心场景数 | 主要层级 | 关键依赖 |
|---|---|---|---|
| 教师 | 9 | L2/L3/L4/L5/L6 | 课表、智能整备、设备控制、访客、能耗 |
| MBA 学生 | 11 | L2/L3/L4 | 课表、历史车位、充电/车位、空间占用、预约、工单、活动、校友 |
| 运维人员 | 9 | L2/L3/L4/L6 | 巡检工单/巡检点/标准、设备 IoT、相机、告警、健康度、能耗/规则诊断 |
| 管理者 | 11 | L2/L4/L6 | 指标引擎、用能画像、异常诊断、碳核算、人流密度、空间画像、巡检统计、报表 |
| 外部角色 | 2 | L2/L3/L5 | 访客、门禁、校友活动 |
失物认领属于 L1 知识问答(电话/地点/流程),不走进工单流程;本文不单列。
10. Demo 剧本与模块说明(请标记/删除)
先看四视角时间线;每个格子里的编号对应下面一个模块。短期不做的,直接删模块或标 N。
| 时间 | 教师(李教授) | MBA 学生(王女士) | 运维(张工) | 管理者(王院长) |
|---|---|---|---|---|
| 07:30–08:30 | T1 到校前简报 课程、天气 | S1 通勤提醒 课程、讲座、历史停车 | O1 交接班 夜间告警、今日计划 | M1 晨报 在楼人数、能耗、巡检 |
| 08:20–08:40 | T2 到校导航 B2→302 T3 智能整备 完成、异常通知 | S2 充电/车位查询 空位 / 我的车充电 S3 到校导航 大堂→501 | O2 今日计划 巡检点、风险设备 | M2 例会看板 空间、能耗、工单 |
| 09:00 | T4 课中环境 人数、CO₂→新风 | S4 课前课表 本周课程 | O3 三类巡检 规则、视觉、人工 | M3 用能画像 分项、同类对比 |
| 09:40 | T5 案例讨论模式 灯光、投影、空调、窗帘 | S5 找空间 自习位、电话间 | O4 告警/工单 告警、建单 一键诊断(工单按钮) | M4 异常能耗侦探 规则诊断、证据 |
| 10:30–11:00 | — | — | O5 能源异常处置 能耗异常→证据/工单 | M5 双碳与能源月报 碳排、月报 M6 AI 能效顾问 原因、建议 |
| 12:00 | T6 找讨论室 30 人、能投屏 T7 嘉宾接待 访客、门禁、导航 | S6 午餐(待定) 食堂人数 | O6 视觉异常流转 低置信度→人工复核 | — |
| 13:30–15:00 | T8 工单报修 拍照、建单、进度 T9 课程报告 用能、教室、工单 | S7 讨论室 预约、设备联动 S8 活动查询 推荐、报名 S9 校友导师 职位、行业检索 | O7 预测性维护 健康分、趋势、扣分原因 | M7 空间洞察 低效空间 M8 人流密度/热力 密度、超容预警 |
| 16:30–17:00 | — | S10 报修/投诉/建议 拍照、建单、状态 S11 碳积分(待定) 积分查询 | O8 巡检日报 完成率、异常、待办 O9 夜间巡检 定时、告警 | M9 服务质量 巡检、投诉 M10 月度报告 能耗、空间、巡检 M11 学期报告 改造建议 |
外部角色:
| 角色 | 场景 | 说明 |
|---|---|---|
| 访客/企业嘉宾 | E1 访客申请 | 访客申请、通行、导航、到访提醒 |
| 校友 | E2 校友返校 | 预约、活动、路线;停车/欢迎屏待定 |
Demo 范围:模块名带反引号(如
T1 到校前简报)的是当前打算做 demo 的部分;未标记的暂不展开详细设计。主动 / 被动 / 定时 / 事件的 query 用法:
- 被动问答:用户先说一句话,Agent 解析 query 后调工具。
- 主动推送:没有用户 query;系统按时间/事件触发,结果写入该用户的常驻会话,摘要同步到首页「本周 AI 运行洞察」卡片;Demo 不做微信/企微推送、不弹系统通知,用户打开小程序后看到,可直接打字追问。
- 定时执行 / 事件触发:系统自动跑,跑完再推送结果;用户不需要先问。
下表「用户 query / 系统触发」列:被动模块直接写用户原话示例;主动/定时/事件模块写「无 query + 推送内容」。
教师模块
| 模块 | 交互 | 用户 query / 系统触发 | 输入 | 编排(Skill → Tool) | 输出 | 兜底 / 待定 |
|---|---|---|---|---|---|---|
T1 到校前简报 | 主动推送 | 无 query 每天 07:30(默认可配置)推送:「李老师早上好,今天 09:00《公司金融》在 302,选课 42 人…」 | 课表、天气;容量/人数 | 教师日程简报 → 查课表、查天气 | 文字 + 表格 + Mermaid;教室名带导航超链接 | 无课不推送;课表失败不推送;不推实时车位 |
T2 到校导航 | 被动问答 | 「我想问下 B2 停车场到 302 怎么导航?」 | 起终点 POI、地图 | 室内导航 → 实体解析、地图路线 | 路线 + 步行时间 | 起终点不明→选起点/跳转地图页 |
T3 智能整备 | 主动执行 | 无 query 课前自动执行,推送「302 已整备完成/有 1 项失败已通知运维」 | 课表、设备、场景模板 | 智能整备 → 控灯光、空调、投影、幕布;失败→通知运维 | 整备结果 + 异常提示 | 不自动换教室;无设备标「未接入」 |
T4 课中环境 | 被动问答 | 「302 现在多少人?空气怎么样?」 | 闸机/摄像头人数、环境点位 | 查人数、查环境;CO₂ 高→建议新风 | 文字 + Mermaid | 数据断连→「暂无」;不承诺精确 |
T5 案例讨论模式 | 被动问答 | 「帮我把教室切到案例讨论模式」 | 场景模板、设备状态 | 教室场景切换 → 控灯光、投影、空调、窗帘 | 执行确认 + 快捷选项 | 设备不支持→列可用项 |
T6 找讨论室 | 被动问答 | 「下午两点想找个能坐 30 人、能投屏的讨论室」 | 空间占用、预约、设备标签 | 空间预约 → 查时段、查会议室、预定、控设备 | 推荐 + 预约确认 | 冲突→替代;审批→状态 |
| T7 嘉宾接待 | 被动问答 | 「明天上午 10 点有企业嘉宾到 201,帮我登记一下」 | 姓名、手机号、车牌、到访地点/受访人、时间、事由 | 访客接待 → 建访客、门禁授权、导航;到访提醒 | 通行凭证 + 导航 | 审核未通过→告知;停车/欢迎屏待定 |
T8 工单报修 | 被动问答 | 「302 的投影坏了」(拍照) | 图像、设备台账、位置 | 报修 → 识别设备/位置、建单、查进度 | 工单确认 + 进度 | 识别失败→选设备/位置;重复→合并 |
T9 课程报告 | 被动问答 | 「我这门课这学期用了多少电?」 | 课表、能耗、工单 | 课程报告 → 查课表、查能耗、查工单、生成报告 | 报告 + Mermaid | 数据不足→标缺口 |
学生模块
| 模块 | 交互 | 用户 query / 系统触发 | 输入 | 编排(Skill → Tool) | 输出 | 兜底 / 待定 |
|---|---|---|---|---|---|---|
S1 通勤提醒 | 主动推送 | 无 query 07:45 推送:「今天 09:00《投资学》在 501,周六 08:30 前 B2 通常有空位…」 | 课表、历史车位、活动 | 通勤提醒 → 查课表、查历史车位、查活动 | 文字 + 行程选项 | 无历史车位→只给课程/活动;不推车程/ETC |
S2 充电/车位查询 | 被动问答 | A 未充电:「B2 还有充电车位吗?」 B 已充电:「我的车现在充得怎么样了?」 | 停车/充电系统、地图、车牌/充电桩绑定 | A→查空闲充电车位 + 导航;B→查我的车/充电桩状态(电量、剩余时间、是否充满) | A:空位 + 导航;B:充电进度 + 预计充满 | 不做预约/排队;查我的车需车牌/充电桩绑定;无数据→「暂无」 |
S3 到校导航 | 被动问答 | 「我从大堂去 501 怎么走?」 | 起终点 POI、地图 | 室内导航 → 实体解析、地图路线 | 路线 + 步行时间 | 多意图先反问;无定位→选起点/跳转地图页 |
S4 课前课表 | 被动问答 | 「我这周还有什么课?」 | 教务课表 | 查课表 | 课表卡片 | 调停课以教务为准;课程资料下载待调研 |
S5 找空间 | 被动问答 | 「现在哪里有空的电话间?」 | 空间占用、容量、预约 | 空间预约 → 查占用、查时段、短时预约 | 推荐 + 预约确认 | 无实时占用→推荐可预约;不保证座位 |
| S6 午餐(待定) | 被动问答 | 「食堂现在人多吗?」 | 食堂系统(待定) | 查食堂人数 | 文字 + 食堂级人数 | 窗口级大概率无数据;无系统→不做 |
S7 讨论室预约 | 被动问答 | 「下午两点找个 4 个人能投屏的讨论室」 | 预约、空间、设备 | 空间预约 → 查时段、查会议室、预定、控设备 | 预约确认 | 冲突→替代;需审批→状态查询 |
S8 活动查询 | 被动问答 | 「最近有什么并购相关的活动?」 | 活动系统、兴趣标签、课表 | 活动推荐 → 查活动、报名、加日程 | 推荐 + 报名选项 | 无活动系统→不做或退化为知识问答 |
| S9 校友导师 | 被动问答 | 「有没有做并购的校友导师可以约?」 | 校友库(职位/行业,自维护)、预约 | 校友导师 → 检索、发起预约 | 导师列表 + 预约 | 信息不足→「暂无」;不展示未授权信息 |
S10 报修/投诉/建议 | 被动问答 | 「3 楼饮水机坏了」(拍照)/「3 楼卫生间保洁不到位,我要投诉」/「我上周的投诉处理到哪了?」 | 图像、设备、工单、投诉系统 | 报修/投诉 → 识别设备/位置、建单(报修/投诉/建议)、查状态 | 工单/投诉单进度 | 识别失败→选设备/位置;投诉可匿名;重复→合并 |
| S11 碳积分(待定) | 被动问答 | 「我这学期碳积分多少?」 | 绿色节能管理应用(待定) | 碳账户 | 积分卡片 | 无应用→不做;积分规则待甲方定义 |
运维模块
| 模块 | 交互 | 用户 query / 系统触发 | 输入 | 编排(Skill → Tool) | 输出 | 兜底 / 待定 |
|---|---|---|---|---|---|---|
O1 交接班 | 主动推送 | 无 query 07:00 推送:「昨夜 2 条告警已闭环;今天 A 楼 3 层 3 间教室课前保障…」 | 巡检报告、告警、待办、健康度 | 运维交接班 → 查巡检报告、查告警、查待办、查健康度 | 摘要 + 待办 | 范围、健康度橙色触发、重复推送待讨论 |
O2 今日巡检计划 | 被动问答 | 「今天我要巡哪些点?」 | 巡检计划、风险清单 | 今日巡检计划 → 查计划、查风险清单 | 计划表 + Mermaid | 计划未配置→提示 |
| O3 三类巡检 | 定时执行 | 无 query 上午/午间自动执行,完成后推送结果 | 巡检点/标准、设备 IoT、相机 | 巡检执行 → 规则比对、视觉判定、人工填报 | 巡检工单 + 明细 | 无 IoT→人工;抓拍失败→不判;数据缺失→无法判定 |
O4 告警/工单/根因 | 事件触发 + 被动问答 | 无 query 告警触发自动建单;也可问「3F AHU-02 温度越限,工单 #1234 怎么排查?」 | 告警、工单、设备 IoT、维修/保养/巡检 | 工单系统内置链路:规则告警→自动建单→工单内「一键诊断」按钮(IoT 实时值 + 告警 + 维修/保养/巡检)→ 根因/证据/建议;不由 ReAct Agent 编排 | 工单 + 诊断报告 | 一键诊断是工单系统按钮,不是 Agent 工具;不替工单系统派单 |
| O5 能源异常处置 | 被动问答 | 「3 楼空调能耗异常,帮我看看/转工单」 | 能耗异常、设备、工单 | 能源异常诊断 → 查能耗异常、查证据、建工单 | 异常清单 + 证据 + 工单 | 与 01 规则诊断对齐;不生成优化策略 |
O6 视觉异常流转 | 事件触发 | 无 query VLM 低置信度/不符合 → 自动流转 | 巡检明细、证据图、置信度 | 异常流转 → 查明细、看证据图、确认/纠正、转人工 | 复核队列 + 证据图 | 抓拍失败→人工;低置信度→复核 |
| O7 健康度/预测性维护 | 被动问答 | 「3 楼 AHU-02 最近状态怎么样?还能不能撑到学期末?」 | 健康度、告警、工单、保养、巡检、备件 | 健康度 → 查健康分、查趋势、查扣分原因 | 健康分 + 趋势 + 扣分原因 + 建议 | L1/L2 自建;RUL/L3/L4 由 OEM/伙伴;不承诺准确率;本次不作为 demo/PRD 交付 |
O8 巡检日报 | 主动推送 | 无 query 17:00 推送巡检日报 | 巡检统计 | 巡检日报 → 查统计、生成报告 | 日报 + 图表 + 待办 | 数据不足→标缺口 |
| O9 夜间巡检/告警值班 | 定时 + 事件 | 无 query 定时执行/告警推送 | 巡检计划、告警 | 巡检计划 → 规则/视觉执行;告警→推送 | 夜间报告 + 告警 | 异常即时推送;无人值守→升级 |
管理者模块
| 模块 | 交互 | 用户 query / 系统触发 | 输入 | 编排(Skill → Tool) | 输出 | 兜底 / 待定 |
|---|---|---|---|---|---|---|
M1 晨报 | 主动推送 | 无 query 08:30 推送晨报 | 指标、告警、工单、巡检 | 运营日报 → 查指标、查告警、查工单、查巡检统计 | 日报 + Mermaid | 数据不足→标缺口 |
M2 例会看板 | 被动问答 | 「上周各楼层空间利用率、能耗、工单怎么样?」 | 空间利用率、能耗、工单 | 查空间利用率、查能耗、查工单统计 | 对比表 + 图表 | 跨类型只做趋势,不做排名 |
M3 用能画像 | 被动问答 | 「给我看看 302 阶梯教室的用能画像」 | 能耗、分项、空间、同类分组 | 用能画像 → 查能耗、查空间、查同类 | 画像 + Mermaid | 分项不全→只出可确认指标;课表一致性/空置判定待口径 |
M4 异常能耗侦探 | 被动问答 | 「最近哪些地方能耗异常?」 | 01 规则诊断、能耗、设备、工单 | 异常诊断 → 查规则诊断、查证据、转工单 | 异常清单(时段/阈值)+ 证据 | 规则未配置→提示;异常≠故障;转工单 |
M5 双碳与能源月报 | 被动问答 | 「10 月院区碳排多少?按楼栋拆一下」/「出一份能源月报」 | 碳核算、因子库、能耗、报告 | 能源月报 → 查能耗、碳核算、生成报告 | 碳排 + 报告 URL | 碳核算以应用板块为准;因子/分摊口径未定→标待定;报告引擎固定模板,给 URL |
M6 AI 能效顾问 | 被动问答 | 「3 楼空调能耗为什么高?有什么建议?」 | 规则诊断、知识库 | 能效顾问 → 查规则诊断、查知识库 | 解释 + 规则诊断建议(不生成优化策略、不控制) | 只做问答型;优化策略不在本期(见 01) |
M7 空间洞察 | 被动问答 | 「3 楼案例讨论室为什么用得少?」 | 空间画像、利用率、能耗、工单、同类 | 空间洞察 → 查空间画像、查利用率、查能耗/工单、查同类 | 画像 + 单位面积指标 + 建议 | 业务系统先行;MCP 只取既有逻辑/指标;不做坪效/全成本 |
M8 人流密度/热力 | 被动问答 | 「现在 3 楼哪些区域人多?报告厅散场会不会堵?」 | 闸机/摄像头人数、空间映射、面积/容量 | 人流密度 → 查人数、查空间、算密度、超容预警 | 密度分级/趋势 + Mermaid | 依赖点位-空间映射配置;demo 不做平面热力图;人数有误差,不承诺精确 |
| M9 服务质量 | 被动问答 | 「这个月巡检完成率、视觉巡检误报率、投诉闭环率怎么样?」 | 巡检统计、投诉 | 查巡检统计、查投诉、生成简报 | 指标卡 + 漏斗图 | 数据不足→标缺口 |
M10 月度报告 | 主动推送 + 被动查询 | 定时:月度推送月报;也可问「看下上个月运营情况」 | 指标汇总、异常、建议 | 运营月报 → 指标汇总、异常、建议 | 月报 + 建议 | 数据不足→标缺口;已生成月份返回快照 |
| M11 学期报告 | 主动推送 | 无 query 学期推送报告 | 多源指标、趋势 | 学期报告 → 多源指标、趋势、建议 | 报告 + 图表 + 导出 | 数据不足→标缺口 |
外部角色模块
| 模块 | 交互 | 用户 query / 系统触发 | 输入 | 编排(Skill → Tool) | 输出 | 兜底 / 待定 |
|---|---|---|---|---|---|---|
| E1 访客申请 | 被动问答 | 「明天 10 点我要到 201,帮我做个访客申请」 | 姓名、手机号、车牌、到访地点/受访人、时间、事由 | 访客接待 → 建访客、门禁授权、导航;到访提醒 | 通行凭证 + 导航 + 提醒 | 审核未通过→告知;停车/欢迎屏待定 |
E2 校友返校 | 被动问答 | 「周六返校,活动在哪?」 | 预约、活动、路线 | 校友接待 → 查预约、查活动、参观路线 | 接待卡片 + 路线 | 停车/欢迎屏待定;权限最小化、离场回收 |
访客登记最小字段:姓名、手机号、车牌(如有)、到访地点/受访人、到访时间、事由、人数。
11. 跨系统与兜底
每个时间线场景的跨系统依赖与失败兜底如下(与上表逐条对应):
| 场景 | 跨哪些系统 | 失败 / 兜底 |
|---|---|---|
| 教师到校前简报 | 教务(课表)、天气 | 无课→不推送;课表失败→不推送并告警;天气失败→省略天气段 |
| 教师智能整备 | 设备/中控、BA、照明 | 整备失败→通知运维,不推荐换教室;无数据→标注「未接入」 |
| 教师控设备 | 教室中控 / BA / 照明 | 无权限→说明并给申请入口;控制失败→现场面板/运维 |
| 教师嘉宾接待 | 访客、门禁、设备;停车/欢迎屏待定 | 审核未通过→告知原因;权限到期→自动回收 |
| 学生通勤提醒 | 教务、停车(历史)、活动 | 无历史车位→只给课程/活动;不推车程/ETC |
| 学生室内导航 | 地图、空间主数据、POI | 无当前定位→选起点/跳转地图页;无 POI→问服务台 |
| 学生空间预约 | 预约、空间、设备、审批 | 冲突→推荐替代;需审批→给状态查询 |
| 学生课程资料下载 | 暂无系统,待调研 | 若甲方有系统→只做 L1 知识问答(在哪下载);无系统→不承诺 |
| 学生食堂 | 食堂系统(待定) | 窗口级大概率无数据;有系统则只到食堂级人数 |
| 学生报修/投诉/建议 | 工单、设备、图像识别、投诉系统 | 识别失败→让用户选设备/位置;投诉可匿名;状态查询依赖投诉系统 |
| 失物认领 | 知识库(L1) | 只给电话、地点、流程;不建工单 |
| 校友导师查询/预约 | 校友库(职位、行业,用户自维护)、预约 | 只有职位也可检索;信息不足→提示「暂无资料」;不展示未授权信息 |
| 运维交接班/巡检计划 | 巡检工单/点/标准、告警、健康度 | 数据缺失→列「数据缺口」;计划未配置→提示 |
| 规则巡检 | 设备 IoT、巡检标准 | 无 IoT→转人工;数据缺失→无法判定 |
| 视觉巡检 | 相机/预置位/ROI、多模态模型 | 抓拍失败/模糊/遮挡→转人工,不硬判;低置信度→复核 |
| 告警/工单/根因 | 告警、工单、设备 IoT、维修/保养/巡检 | 一键诊断是工单系统内置按钮,不由 ReAct Agent 承载;不替工单系统派单;无数据→标缺口 |
| 健康度/预测性维护 | 设备、告警、工单、保养、备件、巡检 | L1/L2 自建;RUL/L3/L4 由 OEM/伙伴;数据完整度 <60%→灰色;不承诺准确率 |
| 空间洞察 | 预约/课表、人流/门禁、能耗、工单、资产 | 业务系统先行;MCP 只取既有逻辑/指标;不做坪效/全成本 |
| 人流密度/热力 | 闸机/摄像头、空间映射、面积/容量 | 点位未映射→标「待配置」;人数有误差,不承诺精确 |
| 充电/车位查询 | 停车/充电系统、地图、车牌/充电桩绑定 | 未充电查空位+导航;已充电查我的车/充电桩状态;不做预约/排队;查我的车需绑定;无数据→「暂无」 |
| 用能画像 | 指标引擎、能耗、空间、同类分组 | 分项不全→只出可确认指标;课表一致性/空置判定待口径 |
| 异常能耗侦探 | 01 规则诊断、能耗、设备、工单 | 规则未配置→提示;异常≠故障;证据不足→转人工 |
| 双碳与能源月报 | 碳核算、因子库、能耗、报告引擎 | 碳核算以应用板块为准;因子/分摊未定→标待定;报告给 URL |
| AI 能效顾问 | 规则诊断、知识库 | 只做问答型;不生成优化策略、不控制;越权→拒绝 |
| 运维能源异常处置 | 能耗异常、设备、工单 | 与 01 规则诊断对齐;不生成优化策略;建单由工单系统流转 |
| 管理者报告 | 指标、能耗、空间、人流、巡检、报表、碳核算 | 数据不足→标注缺口;跨类型→只做趋势不做排名 |
| 访客/校友 | 访客、门禁、校友活动;停车/欢迎屏待定 | 预约未通过→告知;离场→权限回收 |
12. 设计与风险
| 事项 | 设计 / 应对 |
|---|---|
| 主动频率 | 教师每天 2–3 次、学生 2–3 次、运维交接班+异常、管理者日报/周报;避免打扰 |
| 主动服务展示 | 不做微信/企微推送、不弹系统通知;结果写入常驻会话,摘要进首页「本周 AI 运行洞察」卡片(保留 7 天) |
| 多意图 | 一轮只处理一个主需求;多意图先反问,不假装一次全办 |
| 权限 | 教师只控本人教室;学生只看本人;运维按区域;管理者按授权范围;访客最小权限、离场回收 |
| 数据口径 | 人数看闸机+摄像头;未来看预约/课表;空值≠0;同类空间才做排名 |
| 人流密度 | 依赖「点位/设备 → 空间」映射配置;未映射→标「待配置」;人数有误差,不承诺精确 |
| 空间洞察 | 业务系统先定义空间画像/指标;MCP 只取既有逻辑和指标,不每次从头分析;不做坪效/全成本,运维/租金成本等财务数据拿不到 |
| 预测性维护 | L1/L2 自建(健康度/趋势);RUL/L3/L4 由 OEM/伙伴;本次不作为 demo/PRD 交付 |
| 充电/车位 | 未充电查空位+导航;已充电查我的车/充电桩状态(需车牌/充电桩绑定);不做预约/排队;无数据→「暂无」 |
| 投诉/建议 | 可匿名;状态查询依赖投诉系统;与报修同一入口 |
| 告警根因 | 规则告警→自动建单→工单内「一键诊断」按钮;不是 ReAct Agent 能力;不替工单系统派单 |
| 能源数据 | 分项计量、15 分钟~1 小时粒度、至少 1 年历史;分项不全→只出可确认指标,不编数 |
| AI 能效顾问 | 问答型:只做查询、解释、规则诊断汇总;不生成优化策略、不通过对话控制能源系统/冷机 |
| 双碳 | 碳核算、因子库、分摊规则由应用板块提供;报告引擎固定模板,给 URL |
| 异常诊断 | 规则需按项目配置;异常≠故障;误报要有人工反馈闭环 |
| 负荷预测 | 供冷侧预测已有但未启用;Agent 只查询/解释/提示,控制由自控系统按策略执行 |
| 导航 | 起终点明确走地图 MCP;只说「去 501」时,跳转地图页授权或让用户选起点,Chatbox 不强行申请蓝牙 |
| 停车 | 教师有固定车位不推;学生/访客用历史规律 + 建议到校时间,不推实时车程 |
| 健康度 | 预警做状态机(新出现/恶化/持续/恢复),只在状态变化时推送;已转工单不重复推 |
| 视觉巡检 | 只按巡检时刻抓拍,不连续录像;ROI 避开人脸;证据图 + 置信度;低置信度/不符合自动流转人工复核 |
| 角色分流 | 保洁/AV/安保/运维按异常类型分流;Agent 只建单,不替工单系统派单 |
| 待定项 | 欢迎屏联动方式;访客/校友停车规则;校友信息维护(可能只有职位);绿色节能积分规则;课程资料下载系统;食堂窗口/食堂级数据 |
| 演示数据 | 只用真实数据或明确标注的模拟数据;不编造 |
13. 一句话总结
移动端 AI 不是「一个能聊天的搜索框」,而是四类角色在同一个小程序里,各自按一天的时间线,被同一个 ReAct 智能体主动服务、一句话办事、选项/卡片闭环:教师省心,MBA 学生省时间,运维看风险清单,管理者看结论和报告。