主题
M7 空间洞察(Demo 场景 PRD)
| 项 | 内容 |
|---|---|
| 文档定位 | 08_移动端AI场景设计.md §10 管理者模块中反引号标记的 demo 模块。M7 纳入本期 demo 演示,本文按 demo 范围写最终方案;模板见 公共规范.md §8 |
| 通用 demo 规范 | 小程序前端形态、常驻会话、系统提示词边界、定时任务方式、数据与输出规范见 公共规范.md;本文只写 M7 场景本身 |
| 能力来源 | 02_人流密度与空间洞察.md(空间主数据、点位映射、空间类型口径);空间管理 / 预约 / 资产 / 能耗 / 工单业务系统的既有指标与规则 |
| 版本 | v0.2(在 v0.1 上落实「业务系统先行」、取消坪效与全成本、补充单空间归因主路径、预约时段分布与 M8 划界) |
1. 场景定义
1.1 一句话
管理者问「哪些空间利用率低」或「3 楼案例讨论室为什么用得少」,Agent 读取业务系统已有的空间画像与指标,按同类空间给出排名、单空间画像、归因辅助和带数字依据的调整建议。
1.2 用户与价值
| 项 | 内容 |
|---|---|
| 用户 | 管理者(demo 固定账号 M1001,数据范围全院) |
| 价值 | 不用翻空间看板、预约台账和工单列表,一句话拿到「哪些空间闲着、为什么、怎么调」 |
| 频次 | 按需,无定时推送 |
| 层级 | L2 数据查询 + L6 生成与洞察 |
1.3 触发方式
- 被动问答,没有定时任务。
- 典型 query:
- 「哪些空间利用率低、该调整?」
- 「3 楼案例讨论室为什么用得少?」(08 §7 的 M7 演示 query,主路径见 §3.3)
- 「A 楼讨论室这学期用得好不好?」
- 「A-402 面试间为什么用得少?」
- 「这些空间一年要花多少成本?」(按 §3.6 的边界回答)
- 空间类型或时间范围未说明时,默认「最近 30 天」;用户只给空间名时,默认查该空间的单空间画像。
- 用户问「现在 / 实时 / 热力 / 会不会挤」时,转 M8 人流密度,不在 M7 内回答。
1.4 边界
| 不做 | 原因 |
|---|---|
| 不做实时人数、实时热力、密度分级、超容预警、散场预判 | 属于 M8 人流密度;M7 只做 30 天级的画像、排名和归因辅助 |
| 不在 Agent 侧重新定义或重算业务口径 | 空间画像、利用率、可用时段、成本等口径由空间管理 / 预约 / 资产系统定义;MCP 只读取其既有逻辑和指标 |
| 不做坪效、不摊租金/折旧/物业/人力等全成本 | 教学空间不以租金收益为目标,全成本多数拿不到,摊到面积上也不可比;边界见 §3.6 |
| 不展开能源异常诊断 | 能耗异常归因归 M4;M7 只引用单位面积能耗作为画像维度 |
| 不做预约、调改、删预约等写操作 | M7 只给建议,不代管理者改空间用途或预约规则 |
| 不做定时任务和主动月报 | 月度空间的主动推送归 M10,M10 只引用 M7 的结论 |
| 不跨空间类型排名 | 教室看排课率、自习区看座位占用率,口径不同,混排会得出错误结论 |
| 不给无依据建议 | 每条建议必须引用画像、排名或预约分布中的具体数字 |
与 M8 的分界:
| 问题 | 归属 |
|---|---|
| 近 30 天哪间讨论室利用率低、为什么 | M7 |
| 某空间近 30 天预约集中在哪些时段 | M7 |
| 现在 3 楼有多少人、哪里人多 | M8 |
| 报告厅现在会不会超容、散场会不会堵 | M8 |
2. Demo 形态
通用形态见 公共规范.md(小程序悬浮球打开 DeerFlow 聊天区、单会话、Markdown + Mermaid)。
本场景只约定:
- 管理者在常驻会话里直接提问,回答落在聊天区,不写首页洞察卡片(M7 不是 L4 主动服务)。
- 演示主路径:登录
M1001→ 输入「3 楼案例讨论室为什么用得少?」→ 看单空间画像与归因 → 追问「那 302 呢 / 和同类比呢」;追问沿用同一时间范围与口径,不重新问参数。 - 一次回答只处理一个主意图;用户一句话问多个空间时,先给汇总表,再问要不要逐个展开。
- 一次回复最多 2 张图;不输出快捷按钮、不输出自定义业务卡片。
3. Agent 输出设计
3.1 输出元素
| 元素 | 用途 |
|---|---|
| Markdown 文字 | 结论、口径与来源说明、归因辅助、建议 |
| Markdown 表格 | 单空间画像、同类排名、跨类型汇总 |
Mermaid xychart-beta(bar) | 同类空间利用率对比,最多 8 个 |
Mermaid xychart-beta(bar) | 单空间预约时段分布,最多 1 张 |
| Markdown 链接 | 「查看空间看板」跳转 |
一次回复最多 2 张图;不输出快捷按钮、不输出自定义业务卡片。
3.2 口径与数据来源(先于取数)
业务系统先行:
- 空间管理 / 预约 / 资产系统已定义空间画像、利用率、可用时段、成本等口径时,MCP 直接读取其返回值,Agent 不在对话里重新推导。
- 业务系统尚未建设时,MCP 退化为只读预约 / 门禁 / 能耗 / 工单数据,按本节固定公式做基础画像,并标注「口径来自基础数据,非业务系统口径」;两种来源都不可用时写「暂无」,不按 0 处理。
| 指标 | 口径 | 说明 |
|---|---|---|
| 利用率 | 实际占用时长 ÷ 可预约时长 | 可预约时长按空间类型和业务系统开放规则取;教室取可用课时,自习区取开放时长 |
| 单位面积利用率 | 期间在室人时 ÷(建筑面积 × 可预约时长)× 100% | 替代坪效,衡量「每平方米承载的使用强度」;无实际人数时按预约人数 × 预约时长估算,标「预约口径」 |
| 单位面积能耗 | 期间用电量 ÷ 建筑面积(kWh/㎡) | 只引用,不做异常诊断;面积为空时返回空值 |
| 单位面积工单数 | 期间该空间工单数 ÷ 建筑面积(条/㎡) | 只统计数量与类型,不返回处理人 |
| 预约到座率 | 实际占用时长 ÷ 预约时长 | 与「预约未到」区分;有摄像头时再用平均在室人数校核 |
| 低效空间 | 利用率低于阈值(默认 30%)且有效样本 ≥7 天 | 阈值由业务系统配置;MCP 返回 is_low_util,Skill 不自行判断 |
注:空值 ≠ 0,面积为空时单位面积指标写「暂无」,不写 0;无预约记录写「暂无预约」。回复末尾用一句话写明时间范围、来源、公式与缺口。
3.3 主路径:单空间归因(08 演示 query)
模板:结论段(点名具体空间 + 对照)→ 画像表 → 预约时段分布图 → 归因辅助(供给 / 需求 / 设施 / 位置)→ 建议(≤3 条,带依据)→ 看板链接 → 口径注。
示例(模拟数据):
用户
3 楼案例讨论室为什么用得少?
Agent
3 楼有 2 间案例讨论室:302 近 30 天利用率 74%,A-303 只有 18%。「用得少」的是 A-303 案例讨论室;A-305 是研讨室,口径相同,这里只对照两间案例讨论室。
指标 A-303 案例讨论室 302 案例讨论室 说明 面积 / 容量 45 ㎡ / 12 人 65 ㎡ / 40 人 空间主数据 利用率 18% 74% 占用 43h / 可用 240h;222h / 300h 预约时长 48h 240h 预约系统 实际占用 43h 222h 到座率 90% / 93% 平均在室人数 5.0 人 24 人 摄像头口径 单位面积利用率 2.0% 27.3% 人时口径 单位面积能耗 1.4 kWh/㎡ 2.2 kWh/㎡ 同类均值 1.8 kWh/㎡ 单位面积工单数 0.044 条/㎡ 0.046 条/㎡ 2 条 / 3 条 归因辅助(数字来自 MCP,LLM 只做解释,不是结论):
- 供给端:A-303 在预约系统中被标记为「仅课程 / 课题组可约,需审批」,同层的 302 对师生开放即时预约;A-303 的可预约时长 240h,低于 302 的 300h。
- 需求端:A-303 的 48h 预约中,周三、周四合计 32h(67%),下午 14:00–17:00 占 34h(71%);需求集中在少数时段,不是全天均匀使用。
- 设施端:A-303 有 1 条投屏故障工单未闭环(
WO-20261028-013),另 1 条空调温控已闭环;需要投屏的小组讨论可能因此避开该空间。- 位置端:空间主数据与导览描述显示 A-303 位于 3F 东侧走廊尽头,距电梯厅约 80m;B-201 在 2F 电梯厅旁约 20m。位置是辅助因素,不能单独作为结论。
建议:
- 与空间管理确认是否把 A-303 从「仅课程 / 课题组」改为「师生可预约」,或至少对周三、周四下午的小组讨论开放免审批预约。(依据:审批限制 + 周三/周四预约占 67%)
- 修复投屏工单
WO-20261028-013,闭环后观察 2 周再判断是否调整用途。(依据:1 条投屏故障未闭环)- 预约页在 B-201 周三下午冲突时优先推荐 A-303;本周三下午 B-201 已有 3 次预约冲突,A-303 同时段仍有空余。(依据:B-201 冲突 3 次、A-303 同时段有剩余)
注(口径):2026-10-01 至 10-30,共 30 天;利用率、可预约时长来自预约系统,工单来自工单系统,单位面积能耗来自能耗系统;单位面积利用率为人时口径。归因为辅助判断,最终需运营确认;空间名称、类型与面积以空间主数据为准。
3.4 同类空间排名(盘点主场景)
示例(模拟数据):
用户
哪些空间利用率低、该调整?
Agent
近 30 天案例讨论室 / 研讨室共 5 间,平均利用率 41%,从低到高如下:
空间 楼层 面积 容量 可预约时长 预约时长 利用率 单位面积利用率 样本天数 A-303 案例讨论室 3F 45 ㎡ 12 240h 48h 18% 2.0% 30 B-201 讨论室 2F 38 ㎡ 10 270h 76h 26% 3.9% 30 A-305 研讨室 3F 40 ㎡ 10 240h 86h 33% 4.2% 30 B-203 讨论室 2F 42 ㎡ 12 240h 132h 52% 6.5% 30 302 案例讨论室 3F 65 ㎡ 40 300h 240h 74% 27.3% 30 结论:偏低空间集中在小容量讨论室(10–12 人),A-303、B-201 低于 30% 阈值;A-303 受预约限制、B-201 容量偏小,302 容量大且开放规则更宽。
建议:
- A-303 先解除「仅课程 / 课题组」的预约限制,观察 2 周;同类 B-203 在同等容量下利用率 52%,说明 12 人讨论室有需求。(依据:A-303 18%、B-203 52%、容量均为 12)
- B-201 容量 10,平均预约人数 6.2;周三下午有 3 次冲突,建议把溢出需求推荐到 A-303。(依据:冲突 3 次、平均预约 6.2 人)
- A-305 有 1 条投屏工单未闭环,修复后观察 2 周再判断是否调整用途。(依据:工单 1 条)
注(口径):2026-10-01 至 10-30;仅同类型空间参与排名;单位面积利用率为人时口径。
3.5 跨类型问题
用户问「哪些空间利用率最低」而未限定类型时:
- 先按空间类型分组给一张汇总表(各类型的空间数、平均利用率、主口径),不跨类型排名;
- 正文说明「不同类型口径不同,不能直接比,需要看哪一类我再展开」;
- 不画跨类型柱状图。
示例(模拟数据):
用户
哪些空间利用率最低?
Agent
近 30 天:案例讨论室 / 研讨室 41%、面试间 28%、自习区 63%、教室 72%。四类口径不同(讨论室看预约时长、面试间看短时预约、自习区看座位占用、教室看排课率),不能直接排名。要看哪一类的低效空间,我再展开。
空间类型 空间数 平均利用率 主口径 案例讨论室 / 研讨室 5 41% 预约时长 ÷ 可预约时长 面试间 3 28% 预约时段 ÷ 可预约时段 自习区 2 63% 座位占用率(人数 ÷ 座位) 教室 6 72% 排课时数 ÷ 可用课时
3.6 成本 / 坪效类问题的回答边界
用户问「坪效最低」「这些空间一年花多少钱」「单位面积成本多少」时:
- 明确说不计算坪效:坪效是商业地产指标,教学空间不以租金 / 营收为目标,算出来也不能指导教学空间调整。
- 明确说不摊全成本:租金、折旧、物业、人力等全成本多数拿不到;即使拿到,按面积摊分也会把公共区、设备、课程安排混在一起,不可比。
- 若甲方业务系统已有成本口径:只引用其返回值,标注「成本口径来自 XX 系统,统计截至 YYYY-MM-DD」,不自行折算、不做单位换算、不补摊分。
- 若没有成本数据:写「暂无成本口径」,不估算、不编造。
- 给出替代指标:单位面积利用率、单位面积能耗、单位面积工单数,按 §3.2 口径解释。
示例(模拟数据):
用户
这些空间一年要花多少成本?
Agent
不计算坪效。教学空间不以租金或营收为目标,租金、折旧、物业、人力等全成本多数拿不到,摊到面积上也不可比。A-303 可用的效率指标是:单位面积利用率 2.0%、单位面积能耗 1.4 kWh/㎡、单位面积工单数 0.044 条/㎡。如果资产 / 财务系统已有成本口径,我可以引用它的返回值并注明来源,但不自行折算。
3.7 异常与降级
| 情况 | 输出 |
|---|---|
sample_days < 7 / data_quality = low | 样本不足不进排名、不进柱状图;质量低单列在表下,不参与排名 |
| 业务系统未建设,退化为基础数据 | 正常出画像,但首段标注「口径来自基础数据,非业务系统口径」 |
| 某类型无数据 / 空间主数据映射缺失 | 无数据写「暂无」;未映射标「未映射」且不计算利用率 |
| 建筑面积为空 | 单位面积利用率、单位面积能耗、单位面积工单数写「暂无(面积未维护)」 |
| 预约数据不可用 | 跳过预约时段分布图,画像其余部分照常输出并标注缺口 |
| 画像接口失败 | 只给排名表,注明「原因分析暂不可用」 |
| 空间名不明确或候选多个 | 列出候选让用户选,不猜 |
| 用户只问单间空间 | 跳过排名,直接走 §3.3 单空间画像 |
| 用户问实时/热力/密度/散场,或坪效/全成本 | 实时类转 M8;坪效/成本按 §3.6 回答,不计算 |
| 越权空间 | 拒绝并说明当前授权范围 |
3.8 输出模板(开发参考)
本节给 Skill 组装输出用,业务评审可跳过。
同类空间排名:
结构固定:结论段(近 {N} 天 {类型} 共 {M} 间,平均 {均值}%,最低的 {K} 间)→ 排名表 → 柱状图(最多 8 根)→ 共性原因 → 建议(≤3 条)→ 看板链接。
4. MCP 设计
4.1 空间利用率 MCP
Tool:query_space_utilization
| 项 | 内容 |
|---|---|
| 作用 | 查一段时间内空间利用率,可按类型、楼层过滤与排序;优先返回业务系统已有指标 |
| 入参 | start_date(YYYY-MM-DD)、end_date、space_type(可选,业务系统类型编码,如 discussion / interview / classroom / study)、floor(可选,如 3F)、sort(utilization_asc | utilization_desc,默认 asc)、limit(int,默认 20,最大 50) |
返回:
| 字段 | 类型 | 说明 |
|---|---|---|
| spaces | array | 空间数组,字段见下 |
| summary | object | total_spaces、avg_utilization、space_type、period_days、low_util_count、low_util_area_m2、metric_source |
| metric_source | enum | business_system / base_data |
| source_system | string | 来源系统名称;基础数据口径时为「预约+门禁+能耗+工单」 |
spaces[] 字段:
| 字段 | 类型 | 说明 |
|---|---|---|
| space_id | string | 空间编码,如 A-3F-303 |
| space_name | string | 空间名称,如 A-303 案例讨论室 |
| space_type / space_type_name | enum / string | 业务系统类型编码与中文名:discussion / classroom / study / interview / auditorium / office / lounge / canteen |
| floor | string | 楼层,如 3F |
| area_m2 | number | 建筑面积,可能为空 |
| capacity | int | 设计容量,可能为空 |
| available_hours / booked_hours / occupied_hours | number | 可预约时长、预约时长、实际占用时长(小时) |
| utilization_rate | number | 利用率(0–100) |
| unit_area_utilization | number | 单位面积利用率(0–100,人时口径),可能为空 |
| sample_days | int | 有效样本天数 |
| data_quality | enum | high / medium / low |
| is_low_util | bool | 是否低于配置阈值(默认 30%)且样本 ≥7 天 |
| metric_source | enum | 该空间指标的来源:business_system / base_data |
注:利用率、单位面积利用率、低效标记都由 MCP 或业务系统算好,避免模型做除法。sample_days、data_quality、metric_source 必须返回,否则模型无法判断能否排名、能否引用。
4.2 空间画像 MCP
Tool:query_space_profile
| 项 | 内容 |
|---|---|
| 作用 | 查单个 / 多个空间的完整画像,用于单空间归因与排名后的共性分析 |
| 入参 | space_ids(string[],最多 5 个)、start_date、end_date |
返回每个空间:
| 字段 | 类型 | 说明 |
|---|---|---|
| space_id / space_name | string | 空间编码与空间名称 |
| space_type_name / floor | string | 类型中文名与楼层 |
| area_m2 | number | 面积,可能为空 |
| capacity | int | 容量,可能为空 |
| location_desc | string | 位置描述,来自空间主数据 / 导览,如「3F 东侧走廊尽头,距电梯厅约 80m」 |
| available_hours / booked_hours / occupied_hours | number | 可预约时长、预约时长、实际占用时长 |
| utilization_rate | number | 利用率(0–100) |
| unit_area_utilization | number | 单位面积利用率(0–100),可能为空 |
| avg_occupancy | number | 平均在室人数;无摄像头时为预约人数,标 occupancy_source |
| occupancy_source | enum | camera / booking |
| attendance_rate | number | 预约到座率(0–100) |
| booking_rule | object | open_hours、approval_required、audience(all / course_only / staff_only) |
| energy_kwh / energy_intensity | number | 期间用电量与单位面积能耗(kWh/㎡),可能为空 |
| workorder_count | int | 期间工单数 |
| open_workorder_count | int | 未闭环工单数 |
| workorder_density | number | 单位面积工单数(条/㎡),面积为空时为空 |
| top_workorder_types | array | 工单类型计数,如 [{type:"投屏故障",count:1}];不返回处理人 |
| anomaly_count | int | 期间异常数 |
| peak_periods | array | 高峰时段,如 ["周三下午","周四下午"] |
| idle_periods | array | 闲置时段,如 ["周一","20:00 后"] |
| peer | object | peer_group、peer_count、peer_avg_utilization、peer_avg_energy_intensity、peer_avg_workorder_density;样本不足时 null |
| data_quality | enum | high / medium / low |
| metric_source | enum | business_system / base_data |
注:画像只做归因辅助,不是结论。数字来自 MCP,LLM 只负责解释和排序;booking_rule、location_desc 是业务系统 / 空间主数据的既有字段,不由模型推断。
4.3 预约时段分布 MCP
Tool:query_space_booking_pattern
| 项 | 内容 |
|---|---|
| 作用 | 查单个空间的预约时段分布,用于回答「为什么用得少」的供给 / 需求归因 |
| 入参 | space_id(单个)、start_date、end_date、dimension(weekday / hour / both,默认 both) |
返回:
| 字段 | 类型 | 说明 |
|---|---|---|
| total_booked_hours | number | 期间预约总时长 |
| by_weekday | array | {weekday, booked_hours, share_pct},周一至周日 |
| by_hour | array | {slot, booked_hours, share_pct},如 14:00–17:00 |
| peak_slot | string | 预约最集中的时段 |
| idle_slots | array | 无预约或接近无预约的时段 |
| data_quality / metric_source | enum | 数据质量与口径来源 |
注:该工具只用于单空间归因,不用于排名;一次回答最多调 1 次,不批量查多个空间。预约数据不可用时返回 data_quality=low 并在 idle_slots 返回空数组,不推测。
5. Skill 设计
5.1 职责
Skill 把「解析意图与口径 → 取数 → 单空间归因或同类排名 → 按模板输出」写死,保证每次回复结构一致、建议都有依据。排名与单空间归因共用一个 Skill:两者共用同一套口径和取数逻辑,只是输出分支不同,拆成两个 Skill 会重复口径说明。
5.2 流程
5.3 Skill 提示词草稿
你是上海交通大学新院区 IBMS 的管理者助手。用户会问空间利用情况,你要给出可执行的调整建议。
输入:管理者 ID(demo 固定 M1001)、数据范围全院、默认最近 30 天;用户指定时以用户为准。
步骤:
1. 解析意图:排名/盘点、单空间归因、跨类型、成本/坪效、实时类。
2. 实时/热力/密度/散场:说明属于 M8 人流密度,不在本场景回答。
3. 坪效/全成本:明确说不计算、不摊分;有业务系统成本口径时只引用并标注来源;给单位面积利用率/能耗/工单数作为替代。
4. 单空间归因:解析空间 → query_space_profile → query_space_booking_pattern → 按模板输出画像、预约分布、归因辅助、建议。
5. 排名:类型明确时 query_space_utilization(space_type=…, sort=utilization_asc),对前 3 个低效空间 query_space_profile;类型不明确时不带 space_type,按类型分组汇总,不排名。
6. 按输出模板组装。
输出要求:
- 只用 Markdown 和 Mermaid,不输出 JSON、不用 HTML。
- 同类空间才排名;跨类型只给分组汇总和趋势,不做排名、不画跨类型柱状图。
- 业务系统有口径时优先引用并写「口径来自 XX 系统」;退化为基础数据时写「口径来自基础数据,非业务系统口径」。利用率、单位面积指标直接使用 MCP 返回值,不自己计算。
- sample_days < 7 标「样本不足」,不进排名;data_quality=low 标「数据质量低」,单列。
- 建议不超过 3 条,每条必须引用画像、排名或预约分布中的具体数字,不给空话。
- 不做坪效、不摊全成本、不估算成本;空值写「暂无」,不按 0 处理。
- 一次回复最多 2 张图;末尾给「[查看空间看板](https://example.com/space-dashboard)」。
- Few-shot:配置时把本文 §3.3(单空间归因)和 §3.4(同类排名)的示例原文,作为两条示例放入 skill。5.4 工具调用顺序与失败策略
| 步骤 | 调用 | 失败时 |
|---|---|---|
| 1 | query_space_profile | 不出画像,说明失败原因;不退化为猜测 |
| 2 | query_space_booking_pattern | 省略预约分布图,其余照常输出并标注「预约分布暂不可用」 |
| 3 | query_space_utilization(排名路径) | 返回「暂无数据」,不编造 |
| 4 | query_space_profile(排名后 Top 3) | 只给排名表,注明「原因分析暂不可用」 |
| 5 | 组装回复 | — |
注:画像是单空间主数据,必须成功;预约分布与排名后画像是辅助信息,失败不影响主结构。一次回答最多调 4 次工具,不重复取同一空间同一时段。
6. 定时任务配置
无。
M7 是被动问答,不配置 DeerFlow 定时任务。月度空间的主动推送归 M10 月度报告;M10 只引用 M7 的利用率区间与低效空间数量,不重复展开归因。
7. 权限与数据范围
- 管理者账号
M1001,demo 数据范围「全院」;生产按授权空间树节点 / 楼 / 部门裁剪。 - 数据裁剪在 MCP 层按空间范围校验,不靠提示词约束;越权空间直接返回空并由 Agent 说明「无权限查看该范围」。
- 只返回空间维度的聚合指标,不返回具体预约人、工单处理人姓名、联系方式;不返回摄像头原始画面、不做个人轨迹、不做人脸识别。
- 成本数据若由业务系统提供,按其权限返回;M7 不额外扩大成本数据的可见范围。
- 空值和 0 严格区分:无数据写「暂无」,不写 0%。
- 回复中保留口径来源,便于管理者判断数字可信度。
8. 验收要点
| # | 验收项 | 标准 |
|---|---|---|
| 1 | 08 主路径 | 输入「3 楼案例讨论室为什么用得少?」能定位到 A-303,输出画像、预约分布、工单/能耗、归因辅助和 ≤3 条带数字建议 |
| 2 | 业务系统先行 | 回复写明口径来源;业务系统未建设时标注「口径来自基础数据,非业务系统口径」 |
| 3 | 同类排名 | 指定类型时只排该类型,不混入面试间、自习区、教室等其他类型 |
| 4 | 跨类型 | 未指定类型时按类型分组给均值,不排名、不画跨类型柱状图 |
| 5 | 坪效/全成本 | 问坪效或成本时明确说不计算、不摊分;有成本口径只引用并标注来源;同时给三个替代指标 |
| 6 | 替代指标 | 单位面积利用率、单位面积能耗、单位面积工单数齐全,口径与 §3.2 一致 |
| 7 | 与 M8 划界 | 实时人数、热力、密度、超容、散场类问题转 M8,M7 不输出实时数字 |
| 8 | 样本与质量 | sample_days<7 标「样本不足」且不进排名;data_quality=low 单列,不参与排名 |
| 9 | 建议有依据 | 每条建议都引用了具体数字,无空泛表述 |
| 10 | 口径说明 | 回复中写明时间范围、利用率口径、单位面积指标口径与来源 |
| 11 | 图表 | 最多 2 张图、柱状图最多 8 根;单空间预约分布最多 1 张 |
| 12 | 空值 | 缺失数据显示「暂无」,不显示 0 |
| 13 | 权限 | 只返回授权范围内空间;不出现预约人、工单处理人姓名 |
| 14 | 多轮 | 追问「那 302 呢 / 和同类比呢」时沿用上一轮时间范围,不重新问全部参数 |
| 15 | 看板入口 | 末尾有「查看空间看板」超链接 |
9. 已确认与待确认
9.1 已确认
| # | 事项 | 结论 |
|---|---|---|
| 1 | Demo 范围 | M7 纳入本期 demo,08 §10 已用反引号标记 |
| 2 | 交互形态 | 被动问答,无定时任务 |
| 3 | 业务系统先行 | 空间画像、利用率、成本等口径由业务系统定义;MCP 只读取,不在 Agent 侧重算 |
| 4 | 降级口径 | 业务系统未建设时只读预约/门禁/能耗/工单做基础画像,并标注「非业务系统口径」 |
| 5 | 坪效/成本 | 不做坪效、不摊全成本;有成本口径只引用并标注来源 |
| 6 | 替代指标 | 单位面积利用率、单位面积能耗、单位面积工单数 |
| 7 | 排名规则 | 同类空间才排名,跨类型只看趋势 |
| 8 | M8 边界 | M7 做 30 天级画像/排名/归因辅助;实时人数、热力、密度预警、散场预判归 M8 |
| 9 | 建议 | 最多 3 条,每条带数字依据 |
| 10 | 样本门槛 | 有效样本 < 7 天标「样本不足」,不进排名 |
| 11 | 工具数量 | 只保留 query_space_utilization、query_space_profile、query_space_booking_pattern 三个 |
| 12 | 看板链接 | 占位 https://example.com/space-dashboard,待导览/看板模块上线替换 |
9.2 待确认
- 空间管理 / 预约 / 资产系统是否已建设:有哪些既有画像、利用率、成本指标?能否通过 API 读取?指标定义文档谁提供?
- 业务系统未建设时的基础数据覆盖:预约、门禁、能耗、工单四类数据是否齐全?哪些空间只有预约、没有门禁或分项计量?
- 空间主数据与映射:
location_id ↔ 空间编码、空间类型编码、面积、容量、位置描述是否齐全?谁维护、变更流程是什么? - 利用率口径:可预约时长、维护时段扣除、周末/晚间是否开放,甲方是否已定义?还是由业务系统配置?
- 低效阈值:默认 30% 是否可用?是否还需要「连续 N 天利用率 < 10%」的闲置判定?
- 单位面积利用率的人时来源:实际在室人数用摄像头还是预约人数?摄像头覆盖不足时是否接受「预约口径」估算?
- 成本数据:资产 / 财务系统是否已有成本口径?是否允许 M7 引用?引用时展示到什么粒度?
- 数据权限:是否需要按楼 / 部门 / 空间树节点做权限,而不是全院可见?
- 预约时段分布粒度:按星期 + 时段是否够用?是否需要到 30 分钟粒度?是否会暴露个人预约信息?
10. 关联文档
| 文档 | 关联内容 |
|---|---|
08_移动端AI场景设计.md §7、§10 | 管理者时间线中的空间洞察场景、M7 模块定义与 08 演示 query;M7 与 M8 的分界 |
02_人流密度与空间洞察.md §2、§3、§4 Q6/Q7 | 空间主数据与点位映射、空间类型决定指标口径、同类排名与归因边界 |
prd/M3-用能画像.md §1.4、§3.4 | 用能画像口径与同类对比;M3 不做节点排名,排名归 M7 |
prd/M4-异常能耗侦探.md | 能耗异常归因归 M4;M7 只引用单位面积能耗 |
prd/M10-月度报告.md §1.4 | M10 只引用 M7 的利用率区间与低效空间数量,不重复归因 |
公共规范.md | 前端形态、常驻会话、智能体边界、输出规范、场景 PRD 模板 |
注:上述文档与本文保持一致。如有差异,以本文为准,回写更新对应文档;00_总览 中「坪效 / 成本分摊」的旧表述以本文 §3.6 为准。