Skip to content

2026 AI 空间智能体 - 空间语义管理 PRD (v3.8)

  • 版本: v3.8
  • 日期: 2026-04-28
  • 状态: 空间级感知归一化版
  • 目标: 构建统一的"空间语义管理"子中心,实现从物理碎片到空间真相的跃迁。

0. 架构导航:脑(空间)与 手(设备)的辩证关系

在空间智能体系统中,我们必须严格区分"空间级"与"设备级"两种语义逻辑。这不仅是 UI 的区别,更是 AI 思考逻辑的解耦。

0.1 核心对照表

维度设备语义 (Device Level) - "手"空间语义 (Space Level) - "脑"
核心定位原子执行终端(物理实体资产)逻辑统一容器(空间真相 SSOT)
交互粒度精准微操 / 报修主动整备 / 意图控制
典型例句"帮我关下305会议室左边靠窗的空调。""帮我把 305 会议室的空调关了。"
屏蔽逻辑屏蔽了品牌、协议的通信差异。屏蔽了物理设备数量、碎片化的细节。
信号来源设备能力透视 (Device Capability)
对应自控平台-产品品类-逻辑信号
空间逻辑映射 (Space Logic Mapping)
对应自控平台-空间树节点-逻辑信号(待建设)
代偿逻辑原子底座:不具备全局决策权。逻辑进化:支持通过"自动扫描"将唯一设备能力直接"升维"为空间大脑。

0.2 开发者共识 (Dev Guide)

  • 空间级感知归一化:当 AI 需要获取 305 的温度时,它不应该去扫描并计算 3 台空调的回风温度,而应该直接向空间逻辑点位(单一逻辑真相 SSOT)索取。
  • 逻辑加工权:空间点位的数值是如何得来的(是平均值、加权值还是真实传感器值),由自控平台负责加工。AI 侧只将其作为"官方口径"使用。
  • 逻辑代偿 (Logical Compensation):由于本项目旨在降低实施成本,我们不强求自控平台(CP)为每个房间都建立虚拟逻辑点位。AI 平台通过 "一键扫描" 机制,将唯一的"手"自动提炼为"脑",实现能力的逻辑代偿。
  • 剪枝与去重原则:在设备控制场景中,若一个点位已升维至"脑(空间层)",则必须在上下文中剪掉其作为"手(设备层)"的属性入口,确保 Agent 认知路径的唯一性。
  • 职能边界:设备语义管理解决"能不能动"的问题;空间语义管理解决"怎么想才专业"的问题。

1. 核心设计理念

1.1 物理与语义解耦

系统不对物联平台原有物理数据做侵入式修改,而是在 AI 层通过"语义增强"建立映射:

  • 物理层: 维护真实的设备 ID、物模型属性、拓扑关系。
  • 语义层: 叠加别名 (Alias)、基础权重 (Weight)、默认标记,让 AI 听懂"VIP室"、"那个灯"等口语指令。

1.2 核心设计准则

  • 强空间依赖 (No Space, No Device): 任何设备接入前,其所属的空间路径必须已通过 AI 纳管。
  • 数据治理策略: 仅展示 IoT 平台已配置"安装位置"的资源,倒逼物理源头数据的规范性。
  • 空间原生优先 (Native First):AI 优先匹配由自控平台在 空间树节点 定义的"逻辑点位"来实现群控或状态感知。
  • 资产自动升维 (Asset Elevation):在缺乏 CP 原生逻辑信号时,系统通过智能算法将空间内唯一资产的能力自动升维为"空间真相"。这让 AI 平台具备了对底层基础能力的自动补齐与逻辑对齐能力。
  • 空间感知归一化 (Perception Unification):空间级映射不仅是为了群控 (W),更是为了确立空间的"代表性感知状态 (R)"。AI 侧只将其视作该空间的"单一逻辑真相 (SSOT)",从而屏蔽物理碎片化噪声。

1.3 核心术语表 (Terminology)

NOTE

空间资产 (Space Assets): 管理地理容器(项目、楼层、房间),为业务提供拓扑支撑。 语义别名 (Alias): AI 识别实体的自然语言凭证,支持冗余别称。 同步异常 (Anomaly): 由于物理层变动导致语义映射断裂的各种不一致状态。

1.4 AI 语义层与业务系统分歧澄清

为了保障 AI 智能体的架构纯粹性,系统严格遵循以下分工原则:

  • 资产实体中心化 (Entity-Centric): 空间的别名标签、物理权重是其固有属性集合,必须在 AI 空间中心进行中心化管理。只有这样,AI 才能在处理"预定、控制、报修"等不同跨领域任务时,对同一个物理实体保持统一的认知。
  • 决策逻辑主权 (Intelligence Sovereignty): 业务系统(如会议系统)仅负责其职能内的"资源可用性(物理执行)"。用户偏好、业务权重评分等属于 AI 层面的"决策逻辑",严禁下沉至业务系统,以防止严重的逻辑耦合。
  • 适配器原则 (AI-as-an-Adapter): AI 空间层作为"大脑",负责适配各业务系统的标准化 API。不应强求业务系统针对 AI 语义(如增加标签、MCP 支持等)进行侵入式改造,以降低长期维护与系统迁移的成本。

2. 管理模块概述 (Management Overview)

2.1 空间管理模块 (Space Hub)

空间管理是所有资产的"底盘"。通过引入 IoT 项目空间的拓扑树,在 AI 系统中建立具备父子继承关系的地理容器。

2.2 核心特性

  • 物理路径补全: 引入任一子节点,系统自动追溯并拉取完整的祖先路径。
  • 级联递归展示: 侧边树选择任意中间层级,列表应穿透显示下属所有房间/设备容器。
  • 语义权重: 管理空间的重要性(Weight),辅助 AI 进行意图优先级判断。

3. 一致性管控逻辑 (Consistency Governance)

AI 层数据长效生存的基石。系统遵循 "列表防御性停用,抽屉阶梯式对账" 的分层治理原则。

3.1 异常感知准则 (Detection Rules)

任何物联层字段(名称、路径、标识符)与 AI 层底账不一致时,触发 [⚠️ 同步异常] 标识。

  • 强制策略: 一旦触发异常,AI 状态强制锁定为 ⚪ 已停用。系统在向量库中临时下线该资源,直至异常闭环。

3.2 阶梯式采纳与闭环 (Stepped Adoption)

当多项异常复合出现时(如:物理名称变了 + 空间也移了),系统按以下优先级处理:

级别 1:熔断级 (Orphan)

  • 判定: 物联平台已物理删除该实体。
  • 策略: 彻底熔断。抽屉内所有配置项设为 disabled
  • 操作: 禁用所有编辑及采纳按钮,仅保留 [彻底移除]
  • 🚨 级联移除限制: 系统执行"彻底移除"前,必须检查该节点是否包含子节点(子空间/房间)。若存在未移除的子节点,系统应中断操作并提示"请先清理下层级资源",严禁产生逻辑孤儿。

级别 2:采纳项 (Auto-Sync Items)

  • 范围: 包含 名称变更空间/路径迁移
  • 逻辑: 支持"一键采纳"。
    • 位置自动闭环: 若涉及空间迁移且目标空间未纳管,系统会自动完成路径引入,无需用户跨页面操作。
    • 容纳人数 (Capacity):该数值由 系统源头(如飞书会议室资源管理)同步获取,UI 界面强制置灰只读,不接受人工定义,以确保跨系统数据一致性。
    • 部分同步: 若同时存在属性漂移,点击采纳仅同步名称/路径。

3.3 交互 UI 规范

  • 主列表: 极简显示,统一提示为"同步异常"。新增复选框与批量操作工具栏。
  • 详情抽屉: 提供 Diff 对比清单,显式展示"物理层变动内容"。
  • 危险操作: 移除空间时,需调用 弹窗 (Custom Confirm Modal) 二次确认。
  • 批量安全性 (Batch Safety): 批量执行"生效"时,自动跳过处于任何异常状态的项。对于空间资产,若未配置至少一个 AI 别名,亦会被跳过。

4. 全链路业务流程 (Business Process)

4.1 系统上线纳管生命周期

4.2 关键逻辑:双层状态模型

系统舍弃简单的"开关"逻辑,采用 "实体生命周期 + 插件化能力" 的双层结构:

  1. AI 实体生效状态 (Global Lifecycle Status):

    • 作用: 决定该空间资源是否被向量化引擎拉取。
    • 状态: 🟢生效 (Active) / ⚪停用 (Disabled)
    • 独立性: 与具体能力配置无关。若设为"停用",该空间在 AI 面前相当于"不存在"。
  2. 空间能力插件 (Capability Plugins):

    • 会议预定能力 (Meeting): [基础设施] 决定 AI 是否可推荐该空间用于预约。详见 §8
    • 设备能力透视 (Device Insight): [基础设施] 自动感知的物理设备支撑背景,仅供审计参考。详见 §9
    • 空间逻辑映射 (Logic Mapping): [业务扩展] 空间的灵魂。定义了意图如何下发、真相从何处获取。详见 §10
    • 主动整备配置 (Active Prep): [扩展能力] 空间的后台静默任务开关。控制系统是否在会议前自动调节环境。详见 §11

5. 空间管理主界面 (Space Management UI)

5.1 界面总览:布局

主界面采用 [系统导航] - [空间层级树] - [资源工作区] 的三栏结构,实现物理空间到 AI 纳管资源的直观映射。

text
+----------------+--------------------------+-------------------------------------------------------------------------------------------+
| [APP NAV]      | [ 物理空间层级树       ] |  首页 / 空间资源管理 / 金螳螂 / 1楼                                                      |
+----------------+--------------------------+-------------------------------------------------------------------------------------------+
|                |                          |                                                                                           |
|  [🏢] 空间管理 |  v 21默认项目            | [ 工作区: 已选节点及其下级资源列表 ]                                                       |
|  (Active)      |    v 金螳螂  <Selected    |                                                                                           |
|                |      v 1楼               | 筛选: [ 空间类型 v ]  搜索: [ 别名... ]  [ + 引入 IoT 空间资源 ]                          |
|  [💡] 设备管理 |        305培训室         |                                                                                           |
|                |        ...               | [ 已选 2 项 ] [ 批量生效 ]  [ 批量失效 ] (仅在有勾选项时显示此操作栏)                     |
|                |      > 4楼               | +---------------------------------------------------------------------------------------+ |
|                |    > 北楼                | | [v] | 原始名称   | 上层空间     | 类型     | AI 别名       | AI状态 | 异常   | 操作列   | |
|                |                          | |-----|------------|--------------|----------|---------------|--------|--------|----------| |
|                |                          | | [x] | 1楼大厅    | 金螳螂/1楼   | 楼层空间 | [大厅]        | 🟢生效 | -      | 配置|失效| |
|                |                          | | [ ] | 305培训室  | 金螳螂/1楼   | 会议室   | [305会议室]   | 🟢生效 | ⚠️变更 | 处理|失效| |
|                |                          | | [x] | 北楼1楼    | 北楼         | 楼层空间 | (空)          | ⚪停用 | -      | 配置|生效| |
|                |                          | | [ ] | 储藏室A    | 金螳螂/1楼   | 房间     | [杂物间]      | ⚪停用 | 💀已删 | 查看     | |
|                |                          | +---------------------------------------------------------------------------------------+ |
+----------------+--------------------------+-------------------------------------------------------------------------------------------+

5.2 关键交互说明

  1. 级联递归检索 (Recursive Retrieval): 在侧边栏点击任意节点,列表页不仅显示当前节点,还必须级联显示其下所有深度的子空间节点
  2. 上层空间显式路径 (Parent Path Column): 由于采用了递归展示,列表必须提供"上层空间"列,标明每个节点的父级路径(如:金螳螂 / 1楼),防止在扁平化列表中产生位置歧义。
  3. 中间树 (Tree): 基于已引入AI IOT, 展示AI IoT 平台的物理拓扑结构,叶节点(会议室/房间)也须在树中显示

5.3 关键状态说明

  1. 分层状态模型 (Layered Status Model):

    【层1:AI 生效状态 (Global Lifecycle)】

    • [🟢 生效中 (Active)]: 该空间实体被纳入 AI 管理,向量化引擎将同步其别名。
    • [⚪ 已停用 (Disabled)]: 管理员手动/策略停用。模型库彻底屏蔽此空间,AI 不再感知其存在。
    • 注:同步异常(如:物联信息丢失 💀)会强制触发此状态。

    【层2:分项能力状态 (Capability Plugins)】

    • 每个已开启的插件(如 会议预定控制策略)拥有独立的业务状态:
      • 挂载中: 插件存在即代表业务功能上线。
      • 手动移除: 管理员点击 [x] 彻底切断该项 AI 关联。
    • 注:用户还可选择在抽屉内触发 彻底移除,清除所有表数据。

    【轴2:同步异常 (底层感知)】

    • [-]: 正常,无变化。
    • [⚠️ 物理变更 (Metadata Changed)]: 大一统的复合状态提示。当底层 IoT 名称和/或路径发生变更时触发。点击 [处理] 操作打开侧边抽屉,会显式标注变更明细。注意:此状态为警告级别,不影响现有设备的底座控制,AI 纳管状态(如 🟢生效中)保持不变。
    • [💀 物联信息丢失 (Orphan)]: 最严重的破坏性状态。IoT 端已将该节点彻底物理删除。触发该状态时,系统会强制将其 AI 状态置为 ⚪已停用 防止幽灵调用,并锁定状态禁止再次开启。列表页只能执行 [查看] 与彻底 [移除]
  2. 操作列双按钮设计:

    • [配置] / [处理]: 打开右侧配置抽屉。当同步异常为 ⚠️物理变更 时文字切换为"处理"(蓝色高亮)。
    • [生效] / [失效]: 直接在列表行内切换 AI 状态。仅在同步异常 💀物联信息丢失 时显示。
      • ⚠️ 生效前置校验: 点击 [生效] 时,若该空间的 AI 别名为空,系统拦截并报错。确保被纳管空间至少有一个语义入口。

6. 资产纳管引入 (Onboarding)

点击 [+ 引入 IoT 空间资源] 唤起弹窗。采用 "固定左树 + 动态右表" 的设计。

  1. 双重过滤: 右侧列表的数据源,同时受顶部 [类型筛选] 和左侧 [区域树](同 物联平台-物理空间树) 的交集控制。
  2. 去重逻辑: 已引入的资源在弹窗中置灰或不显示。
  3. 确认引入:点击 "确认引入" 按钮,引入 AI空间数据
text
+-----------------------------------------------------------------------------------+
|  从 IoT 平台引入空间资源                                                  [ X ]   |
+-----------------------------------------------------------------------------------+
|  💡 温馨提示:引入特定空间时,系统将自动同步引入其在物联平台中的所有上级节点。            |
+-----------------------------------------------------------------------------------+
|  类型筛选: [ 会议室 v ]    搜索: [ 305                  ] Q                       |
+--------------------------+--------------------------------------------------------+
|  [ 区域筛选树 ]          |  [ 待引入资源列表 ]                                    |
|                          |                                                        |
|  v 21默认项目            |  [x]  名称         所属路径        类型                |
|    v 金螳螂              |  ----------------------------------------------------  |
|      v 1楼               |  [x]  305会议室    金螳螂/1楼      会议室              |
|      > 4楼               |  [ ]  401大会议室  金螳螂/4楼      会议室              |
|    > 北楼                |  [ ]  VIP接待室    北楼/1楼        会议室              |
|                          |                                                        |
|  (点击节点可过滤右侧)    |  * 列表内容 = (类型匹配) AND (属于左侧选中区域)        |
+--------------------------+--------------------------------------------------------+
|                                                      [ 取消 ]   [ 确定引入 (1) ]  |
+-----------------------------------------------------------------------------------+

6.1 引入逻辑细节 (Auto-Parent Sync)

  1. 自动同步父节点 (Auto-Parent Import):

    • 行为: 勾选引入任意空间节点(如:1号楼/305会议室)时,系统必须自动在后台检查并同时引入其所有的父代路径节点(1号楼、园区等)。
    • 初始状态隔离: 所有通过引入操作新建的资产节点(包含目标节点与补全的父节点),其 初始 AI 状态必须强制默认为 ⚪已停用 (Disabled)。管理员需进入抽屉完成语义配置后手动开启,实现"安全冷启动"。
  2. 别名初始化规则: 自动带入的节点, 初始化 AI 别名 固定为该空间的"物理名称"。无论是否冲突(如多个"机房"),引入阶段均允许存在。初始状态默认为 ⚪已停用

  3. 弱校验原则: 为了降低运维复杂度,系统不再对别名执行强查重拦截。同音字或同名空间在向量检索阶段将通过相似度评分与权重(Base Weight)综合调节。

  4. 列表刷新: 引入成功后,高亮新增行,并同步更新左侧侧边栏的 AI 空间树。


7. 空间配置详情抽屉 (Drawer Detail)

点击列表中的 [配置] 按钮,右侧滑出抽屉。除了常规配置,这里也是解异常闭环的唯一入口。

text
+---------------------------------------------------------------+
|  空间配置详情                                          [ X ]  |
+---------------------------------------------------------------+
|                                                               |
|  [ 业务开关: 🟢 AI 纳管生效中 ]   [ 彻底移除资源 (Danger) ]     |
|                                                               |
|  == 基础信息 ==                                                |
|  [⚠️ 发现底层物理变更]   (若无变更则不显示此警告框)              |
|  (更新详情: IoT端 名称修改为"305直播间"; 路径转移至"1楼")        |
|  [ 采纳 IoT 更新 ] (点击后报错标签消除,AI物理信息自动同步)       |
|                                                               |
|  物理名称:  305会议室 (旧)                                     |
|  物理路径:  金螳螂 / 3楼 (旧)                                  |
|                                                               |
|  == AI 语义增强 ==                                            |
|  基础权重:  Low [-----O-----] High  (0.5 - 普通权重)          |
|             (0.1: 低频勿扰, 0.5: 普通权重, 1.0: 核心地标)      |
|                                                              |
|  语义别名:  [ 305会议室 x ] [ VIP室 x ] [ 三楼大的 x ]          |
|             (回车添加 Tag。 建议依据上方变更信息调整别名)        |
|                                                               | 
|  == 空间能力集成 ==                        [ + 添加能力 v ]     |
|                                          | 💡 空间逻辑映射  |   |
|                                          | 🚀 智能整备     |   |
|  (会议预定、设备能力透视由系统自动静默装载,无需手动添加)        |
|  +-------------------------------------------------------------+
|  | [基础设施] 📅 会议预定 (Meeting)           [ (ON) ]          |
|  +-------------------------------------------------------------+
|  | [基础设施] 📡 设备能力透视 (Insight)       [ (ON) ]          |
|  +-------------------------------------------------------------+
+---------------------------------------------------------------+
|                                      [ 取消 ]   [ 保存生效 ]  |
+---------------------------------------------------------------+

7.1 处理闭环与更新逻辑

  1. 多维变更Diff展示:如果发生物理变更,详细展示 名称、空间路径空间类型 的新旧对比。
  2. 防御性状态保持与异常消警: 当产生 [⚠️物理变更] 异常时,管理员点击 [采纳 IoT 更新] 后,系统自动更新底层物理属性。
    • ⚠️ 状态防诈尸机制:如果采纳前该空间因异常被降级为"已停用"或原本就是"已停用",采纳后严格保持"已停用"状态不变,需用户确认无误后手动拨动开关生效,防止未配好别名的空间意外暴露。
    • 路径递归补全与自动跳转:如果设备的"物理路径"发生了跨区移动,系统在采纳该路径前,会检查目标路径是否纳管,若未纳管则递归式静默创建所有缺失层级。重点:一旦发生空间跃迁,系统会自动重定位并展开左侧树的全新位置,保持用户的处理连贯性。
    • AI 路径自动重构: 物理路径重构后,所有依赖该路径构建的向量化字符串都会被系统自动触发重写。
    • 人工责任转移: 采纳更新后,强提示管理员人工核对 语义别名 框内是否还遗留有矛盾的别称。
  3. 降级只读模式: 若该资源处于 [💀物联信息丢失] 的异常状态下,整个配置抽屉内的配置组件将强制进入全局 ReadOnly (只读) 状态,隐藏"采纳"及"保存"等按钮,防止死链数据的修改。
  4. 规则冷启动: 引入资源时采用强规则策略:
    • 别名初始化: 直接截取 IoT [原始名称] 填充为默认别名。
    • 无感录入: 抽屉内增加别名时,自动拦截本资源内的完全重复,但不再拦截跨空间的同名情况(依靠大模型的上下文与 Base Weight 判断)。

7.2 AI 语义增强

权重定义与 UI 认知映射 (Base Weight):

  1. 保持底层存储 0.1~1.0 数值模型不变,默认值为 0.50,UI 加强业务定性标签降低理解门槛:
    • 0.1 - 0.3 (次级排他):极弱存在感区域(如管道井、天台),AI 在泛化意图猜测时尽最大可能避开该项。
    • 0.4 - 0.7 (普通权重):常规会议室、办公区,无需特意干扰(默认取 0.5)。
    • 0.8 - 1.0 (核心地标):大堂中庭、总裁办等敏感区域。当有员工说"去大厅",只要无长上下文限定,算法总是倾向匹配给权重最高的那个"大厅"。
  2. 保存生效: 提交所有变动并更新数据库,通过触发器同步刷新向量库 (Vector DB) 数据切片。

7.3 空间能力集成概览

空间能力采用"基础设施自动装配 + 业务扩展手动挂载"双机制。本期包含:

  • 📅 会议预定能力 — [基础设施] 由外部会议系统同步结果自动装配。详见 §8
  • 📡 设备能力透视 — [基础设施] 系统根据资产自动装配。自动感知的物理设备支撑背景。详见 §9
  • 💡 空间逻辑映射 — [业务扩展] 需管理员手动挂载并定义。用于实现精准的群控与意图承接。详见 §10
  • 🤖 智能整备能力 — [扩展能力] 见 §11

交互规则

  • 装配策略 (Auto-Provisioning)
    • 基础设施型(会议 / 透视):系统检测到相关资产后自动静默装配。
    • 业务扩展型(映射 / 整备):需管理员在 [+ 添加能力] 菜单中手动挂载,支持移除。
  • 固定排序:能力卡片始终按 会议预定 → 设备能力透视 → 空间逻辑映射 → 智能整备 的固定顺序排列。
  • 外部点击关闭:点击下拉菜单以外的区域,菜单自动折叠。

8. 分项能力:会议预定 (Meeting Reservation)

IMPORTANT

Agent 调度逻辑详见SA_空间预约_Agent设计.md

8.1 卡片原型

text
+-------------------------------------------------------------+
| [基础设施] 📅 会议预定 (Meeting)           [ (ON) ]           |
|-------------------------------------------------------------|
| 容纳人数:    15 人                                           |
| 支持设备:    [投影仪] [电视机] [视频终端]                     |
|                                                             |
| 💡 该数据同步自"自有会议系统"                                 |
+-------------------------------------------------------------+

8.2 对接策略

  1. 全渠道清退: 响应架构演进,AI 空间侧不再维护飞书/钉钉等外部源的 1:1 映射。
  2. 单一数据契约: 所有空间能力挂载均通过"自有会议预定系统"进行中转。
  3. 只读感知: 后台管理端仅提供该能力的"挂载开关",具体的房间物理参数(人数/设备)仅供展示核对,不提供二次编辑权限。

8.3 自动装配与治理规则 (Auto-Provisioning Governance)

会议预定已归入基础设施能力,遵循与控制/感知一致的自动装配策略,不再使用"建议挂载"流程。

  1. 装配触发:系统检测到空间已完成内部会议系统对接后,自动静默装配 meeting 能力卡片。
  2. 入口约束[+ 添加能力] 菜单不再出现 会议预定 项。
  3. 生命周期:会议卡片不可移除,仅保留 is_enabled 业务开关(ON/OFF)。
  4. 数据口径capacityequipment 等字段均为会议系统同步只读,空间侧不允许人工改写。
  5. 异常治理:当会议系统对接失效或字段缺失时,卡片保留并展示异常态,待上游恢复后自动回补。

9. 分项能力:设备能力透视

IMPORTANT

Agent 调度逻辑详见SA_设备控制_Agent设计.md

数据源说明:设备能力点位自设备语义管理 v4.0 起从产品级映射继承,数据源从 设备.capabilities.mappings[] 切换为 产品.mappings[] + 设备.disabled_signals[]

9.1 卡片原型 (v4.0)

该卡片为用户(管理员)提供概要参考,不供 AI 消费。采用简洁的产品分组层级展示。

text
+-------------------------------------------------------------+
| [基础设施] 📡 设备能力透视 (Device Insight)      [ (ON) ]     |
|-------------------------------------------------------------|
| 💡 指引:系统自动感知的物理设备兵力分布,作为配置参考。         |
|                                                             |
| [ ▶ 展开 (共 3 个产品, 5 个意图已纳管) ]                       |
|                                                             |
|   灯产品              已启用 2/3 个点位    部署 2 台 ▾       |
|     · 灯具开关 (light_power)                                 |
|     · 亮度调节 (light_brightness)                            |
|                                                             |
|   灯带产品            已启用 1/2 个点位    部署 1 台 ▾       |
|     · 灯带开关 (light_power)                                 |
|                                                             |
|   大金空调            已启用 1/4 个点位    部署 2 台 ▾       |
|     · 空调开关 (hvac_power)                                   |
|     · 设定目标温度 (hvac_target_temp)                         |
|     · 风速档位 (hvac_fan_speed)                              |
|                                                             |
+-------------------------------------------------------------+

9.2 展示逻辑

层级展示内容数据来源
卡片标题栏共 N 个产品, M 个意图已纳管产品去重个数 + enabled=true 点位去重个数
产品行产品名称 + 已启用/总点位 + 部署设备台数产品 mappings + 空间下该产品的设备数
能力行语义名称 (semantic_key)产品 enabled=true 的点位

规则

  1. 产品行仅展示有设备的 — 空间下无设备的跳过
  2. 能力行仅展示产品已启用的enabled=false 的不展示
  3. 产品行和设备行均支持链接 — 点击跳转对应管理页面

9.3 逻辑说明

  • 自动装配:只要空间下存在已纳管设备,该卡片即自动出现。
  • 授权开关 (Control Auth):该卡片的 ON/OFF 状态直接决定 AI 是否有权操控本空间下的物理设备。
    • ON (授权):即使未配置"空间逻辑映射",AI 也会通过扫描此处感知到的物理设备执行 "聚合兜底 (Aggregation Fallback)" 控制。
    • OFF (去权):AI 将被禁止操作该空间下任何未建立原生逻辑映射的物理设备。
  • 只读性:该卡片内容完全由系统感知生成,管理员不可修改明细,仅可以调整 switch 开关。
  • 资产联动 (Asset Deep-link):产品行点击跳转产品管理页面,设备名称点击跳转设备管理页面。

10. 分项能力:空间逻辑映射 (Space Logic Mapping)

IMPORTANT

核心定义:该能力是 AI 运营官的"群控主路径"与"感知归一枢纽"。管理员通过将标准语义绑定至空间树逻辑点位,确立空间的 单一逻辑真相 (SSOT)架构价值:将碎片化的物理设备(手)封装为统一的空间大脑(脑),AI 无需理解底层算法(如平均温计算),只需调用空间的官方逻辑信号。

v4.0 变更:映射配置上移至产品层。空间逻辑映射根据信号来源分流——直连设备继承产品映射(📎只读),空间群控需空间级配置(🔄可编辑)。

10.1 卡片原型 (v4.0 · 业务扩展 · 手动挂载)

text
+-------------------------------------------------------------+
| 💡 空间逻辑映射 (Logic Mapping)        [ (ON) ]              |
|-------------------------------------------------------------|
| 💡 指引:直连设备(📎只读)继承产品映射,空间群控(🔄)需手动配置。 |
|     点击"一键扫描"自动装载唯一设备点位。                           |
|                                                             |
| == 语义映射清单 (Semantic Mapping List) ==                   |
|                                                             |
|  ┌──────────────────────────────────────────────────────┐    |
|  │ 语义: 空调开关 (hvac_power)                          │    |
|  │ [布尔(Bool)] [读写(RW)]                             │    |
|  │                                                      │    |
|  │ [📎 直连设备]                                        │    |
|  │ 信号: [305-大金-开关 (PowerSwitch)       ] [👁️][🗑️]  │    |
|  └──────────────────────────────────────────────────────┘    |
|                                                             |
|  ┌──────────────────────────────────────────────────────┐    |
|  │ 语义: 设定温度 (hvac_target_temp)                     │    |
|  │ [数值(Num)] [读写(RW)]                               │    |
|  │                                                      │    |
|  │ [🔄 空间群控]                                          │    |
|  │ 信号: [空间群控温度信号                   ] [⚙️][🗑️]  │    |
|  └──────────────────────────────────────────────────────┘    |
|                                                             |
|  ┌──────────────────────────────────────────────────────┐    |
|  │ 语义: 风速调节 (hvac_fan_speed)                       │    |
|  │ [数值(Num)] [读写(RW)]                               │    |
|  │                                                      │    |
|  │ 信号: [ 点击绑定逻辑信号...              ]      [🗑️]  │    |
|  └──────────────────────────────────────────────────────┘    |
|                                                             |
| [ + 添加语义映射 ]      [ 🔍 一键扫描 ]                       |
+-------------------------------------------------------------+

每行三区布局说明

区域位置内容
左:语义标识区左侧列语义名称 + 类型标签(布尔/数值/枚举)+ 角色标签(读写/只读)+ 语义Key下拉
右上:来源标签信号输入框上方📎 直连设备(直连设备时,绿色)或 🔄 空间群控(空间逻辑信号时,蓝色)
中:信号绑定区中间列信号名称 + 信号输入框
右:操作区右侧列👁️/⚙️ 详情按钮 + 🗑️ 删除按钮

来源标签规则

  • 直连设备行:[📎 直连设备] 绿色标签 → 信号区上方显示 → 👁️ 只读详情
  • 空间群控行:[🔄 空间群控] 蓝色标签 → 信号区上方显示 → ⚙️ 可编辑详情

10.1.1 映射行按钮说明

图标出现场景含义行为
👁️ 眼睛直连设备行(signal_source=device映射配置继承自产品,不可编辑点击展开只读详情面板,展示产品级 label/range/step/AI指引。面板底部引导"如需修改请前往产品管理"
⚙️ 齿轮空间群控行(signal_source=space_logic无产品归属,需空间级手动配置点击展开可编辑详情面板,填写 label/range/step/AI指引
🗑️ 删除所有行移除此映射直接删除

10.1.2 快捷新建标准语义

语义下拉列表中除了现有标准语义选项外,始终包含 + 新建标准语义 选项(列表最底部)。选中后弹出新建弹窗。

与产品语义管理页面的区别:空间逻辑映射没有点位上下文,因此数据类型和业务角色不作为自动推导,而是显示为可编辑的下拉选择框,由管理员手动指定。

+---------------------------------------------------------------+
|  新建标准语义                                          [ X ]  |
+---------------------------------------------------------------+
|                                                               |
|  == 核心定义 (Metadata) ==                                     |
|                                                               |
|  所在业务分类: [ 照明系统 v ]  ← 对齐语义页面的业务分类目录       |
|                                                               |
|  标准 Key: [ my_custom_semantic    ]  ← 唯一标识                |
|                                                               |
|  语义友好名称: [ 我的自定义语义      ]                           |
|                                                               |
|  数据类型: [ Boolean(布尔) v ]  [可编辑]    ║                 |
|  业务角色: [ RW(读写)   v ]  [可编辑]    ║ ← 手动指定      |
|                                                               |
|  == MCP / LLM 推理增强描述 ==    [LLM REASONING]               |
|  ┌─ 该描述将通过 MCP... ──────────────────────────────────────┐ |
|  │ 该描述将通过 MCP 工具元数据直接喂给 Agent,用于辅助意图识别。  │ |
|  │                                                             │ |
|  │ [ 输入面向 AI 的操作描述...                      ]          │ |
|  └─────────────────────────────────────────────────────────────┘ |
|                                                               |
+---------------------------------------------------------------+
|                                    [ 取消 ]   [ 创建并选中 ]  |
+---------------------------------------------------------------+

交互说明

区域说明
数据类型 / 业务角色可编辑。因为资产侧无点位上下文自动推导,需管理员手动选择
所在业务分类下拉选择器,选项对齐 iot-semantics.html 侧边栏"业务分类目录":暖通空调、照明系统、遮阳与幕布、环境感知
标准 Key必填。系统内唯一标识符,输入后通过 SemanticUtils.findItem() 校验重复
语义友好名称必填。语义的中文友好名称
LLM 推理增强描述推荐填写。该描述将通过 MCP 工具元数据喂给 Agent,用于辅助意图识别
创建并选中校验通过后写入 StandardSemantics[品类].items,下拉自动选中新建项
取消关闭弹窗,下拉恢复到之前的值

10.1.3 详情面板内容

直连设备行 — 只读展示(👁️ 展开):

text
+------------------------------------------------------------------+
|  ═══ 点位映射配置(继承自产品: 大金空调) ═══                      |
|                                                                  |
|  * false (0) → 关闭     * true (1) → 开启                        |
|                                                                  |
|  AI 指引: 控制空调开关                                            |
|                                                                  |
|  💡 如需修改,请前往 产品管理 → 大金空调 → 点位映射配置              |
+------------------------------------------------------------------+

空间群控行 — 可编辑(⚙️ 展开):

Bool/Enum 类型 — 状态映射:

text
+------------------------------------------------------------------+
|  ═══ AI 语义配置 (状态映射) (必填) ═══                          |
|                                                                  |
|  * false (0) → [ 关闭      ] ← 必填                             |
|  * true (1)  → [ 开启      ] ← 必填                             |
|                                                                  |
|  AI 指引: [ 描述逻辑信号含义或执行建议... ] (非必填)            |
+------------------------------------------------------------------+

Number 类型 — 数值调节:

text
+------------------------------------------------------------------+
|  ═══ AI 语义配置 (数值调节) (必填) ═══                          |
|                                                                  |
|  * 步长: [ 1.0 ] ← 必填     * 范围: [ 16 ] — [ 30 ] ← 必填      |
|                                                                  |
|  AI 指引: [ 描述数值含义或调节建议... ] (非必填)                |
+------------------------------------------------------------------+

10.1.4 初始值来源(选择信号后自动带入)

来源初始值预填逻辑编辑权限
直连设备 (signal_source=device)从产品映射中读取 values/min/max/step/ai_instruction,自动填入详情面板只读,不可编辑
空间群控信号 (signal_source=space_logic)自控平台逻辑点位定义中的量程/步长/枚举选项(P2,当前手动填写)可编辑,必填校验

10.2 逻辑点位选择弹窗原型

点击映射行的信号输入框时触发。支持在"空间群控信号"与"物理资产升维"之间切换。

text
+----------------------------------------------------------------------------+
|  选择空间逻辑信号                                                   [ X ]  |
+----------------------------------------------------------------------------+
|  源切换: [ (•) 空间群控信号 ]   [ ( ) 物理资产升维 (Device Elevation) ]      |
|----------------------------------------------------------------------------|
|  [ 搜索信号名称或标识符...          ] [ 查询 ]                              |
|                                                                            |
|  [ 空间级逻辑点位 (Space Logic) ]                                           |
|  归属空间  | 信号名称                       | 标识符        | 点位类型 (Type) |
|  ----------|------------------------------|--------------|---------------|
|  305会议室  | 空间空调群控开关               | AC_GROUP_PWR | Bool(RW)     |
|  305会议室  | 空间室内实时温度               | AC_ROOM_TEMP | Float (R)     |
|                                                                            |
|  -- 或 --                                                                  |
|                                                                            |
|  [ 物理资产升维 (待选资产点位) ]                                             |
|  产品      | 设备名称   | 标准语义     | 标识符            | 类型 (Type) | 操作    |
|  ---------|-----------|--------------|------------------|-----------|--------|
|  大金空调  | 305空调    | 空调设定温度 | TargetTempSet    | Number RW  | [ 选择 ]|
|  大金空调  | 305空调    | 室内实时温度 | ReturnAirTemp    | Number RO  | [ 选择 ]|
|  大金空调  | 305靠窗    | 室内实时温度 | ReturnAirTemp    | Number RO  | [ 选择 ]|
|                                                                            |
+----------------------------------------------------------------------------+
|                                                           [ 取消 ] [ 确定 ] |
+----------------------------------------------------------------------------+

物理资产升维列表变更说明:原按设备平铺,现调整为按产品分组展示,并新增"产品"列,便于管理员识别信号归属。

10.2.1 选择后自动展开

来源行为
空间群控信号信号名称填入映射行 → 自动展开可编辑详情面板(⚙️) → signal_source=space_logic
物理资产升维信号名称填入映射行 → 自动展开只读详情面板(👁️) → 预填产品级配置 → signal_source=device

10.3 "一键扫描"逻辑定义 (Rescan Algorithm)

  1. 初始状态:引入空间资源后,映射清单默认为空。
  2. 清空代偿:点击"一键扫描"时,系统将自动识别并删除当前空间所有 signal_source=device 的映射记录。signal_source=space_logic 的映射予以保留。
  3. 语义汇总:扫描空间下所有设备所关联产品的已启用标准语义 Key (Sk)(来源:产品 mappingsenabled=true 的点位,排除设备级 disabled_signals 禁用的)。
  4. 仅装载唯一设备:若语义 Sk 在该空间下仅 1 台设备拥有 → 自动创建映射并绑定,标记 signal_source=device,👁️ 只读详情。若有多台设备冲突 → 跳过不处理,管理员需手动添加并选择群控信号。

10.4 数据Schema与持久化说明

字段名称内部标识符数据类型说明
标准语义Keysemantic_keyString引用标准语义库标识
逻辑点位信号signal_nameString绑定的点位名称
信号来源signal_sourceEnum新增device(直连设备)/ space_logic(空间群控)
物理升维标记is_auto_promotedBooleanTrue: 由一键扫描生成; False: 手动创建
源设备IDsource_device_idString新增,仅 signal_source=device
源产品IDsource_product_idString新增,仅 signal_source=device,用于读取产品映射
映射配置mapping_configJSONsignal_source=space_logic 时有效。含 values/min/max/step/unit/ai_instruction

10.5 校验规则

保存配置时,系统对空间逻辑映射卡片执行以下校验:

  1. 分流校验signal_source=device 的行跳过校验(映射继承自产品)。仅校验 signal_source=space_logic 的行。
  2. 展开校验:已绑定空间群控的映射行,其详情配置面板必须处于展开状态,且所有必填项已填写。
  3. 状态映射校验:bool/enum 类型的每个 intent 值不可为空。
  4. 数值调节校验:number 类型的 step 和 range 必须为合法数字。
  5. AI 指引非必填,留空不影响保存。
  6. 不合规处理:校验不通过的行标红,弹出 Toast 提示,阻止保存

10.6 核心交互逻辑

  1. 引导文案 (Guidance):明确"直连设备(继承产品)"与"空间群控(空间级配置)"两种路径的区别。
  2. 选择器交互
    • 左树:默认定位并选中当前编辑的空间节点。
    • 右表:按"空间群控信号" / "物理资产升维"两个 Tab 切换展示。
    • 自动过滤:点位搜索结果将依据语义属性(R/W)自动过滤。
  3. 调度优先级 (Priority Strategy)
    • 原生优先 (Native First):AI 优先匹配空间逻辑点位(signal_source=space_logicsignal_source=device)。
    • 聚合兜底 (Aggregation Fallback):若未配置任何映射,则根据"设备能力透视"卡片感知的物理设备执行控制。

11. 分项能力:智能整备 (Active Preparation)

IMPORTANT

Agent 调度逻辑详见SA_主动整备_Agent设计.md (v2.0)

作为后台静默执行类 Agent 的物理配置底座,决定该空间是否参与"扫单整备"计划。

11.1 卡片原型与配置

text
+-------------------------------------------------------------+
| 🤖 智能整备 (Active Prep)          [ (ON) ]  [ 移除 ]         |
|-------------------------------------------------------------|
| 💡 空间逻辑映射中的 RW 语义即为整备能力范围,无需额外配置。      |
|                                                             |
| 执行逻辑: [ 自动执行 v ] (会前自动整备,完成后通知)             |
|                                                             |
| ✅ 能力检查: 已检测到 N 个 RW 语义 (空调开关/设定温度/灯光/窗帘) |
|                                                             |
| 💡 依赖能力: 空间逻辑映射(至少需配置 1 条 RW 语义)           |
|                                                             |
| 📅 参数配置(prep_window/global_delay)移至 Dify 编排参数      |
+-------------------------------------------------------------+

11.2 逻辑依赖检查 (动态校验)

整备开关是否可开启,由「空间逻辑映射」中 RW 语义的配置状态决定。不满足时 switch 置灰不可操作。

  1. 动态能力检查:统计空间逻辑映射role=rwenabled=true 的语义条目数量。
  2. 阻断规则:RW 语义数量为 0 → switch 置灰 + 红底提示"整备依赖缺失:请先在空间逻辑映射中配置可操作能力";RW 语义 ≥ 1 → switch 可正常操作。
  3. 模式解释
    • 自动执行:会前自动整备,完成后通知。
    • 确认后执行:会前先询问,用户确认后执行。

11.3 ~ 11.4 策略表与参数覆盖(已移除)

旧版的季/月度环境策略表和调节强度系数已移至 Dify 知识库规则,由 LLM 决策时动态参考,不再在管理后台维护。

11.5 空间控制面板 (纯数据类型驱动)

深度调节面板已从"预设模板"模式迁移为纯数据类型驱动模式。面板内容由空间逻辑映射的语义列表自动渲染,不再依赖「UI Profile」配置。详见 SA_空间控制面板设计.md

11.5.1 面板数据链路

空间逻辑映射(每条映射记录)
  ├─ semantic_key → 关联标准语义库 → icon、name
  ├─ data_type → 决定渲染组件(bool→switch / enum→选项列表 / number→滑块)
  ├─ role → 分组归类(RW→可操作能力 / RO→环境感知)
  ├─ value → 当前实时值(自控平台同步)
  ├─ range/step → number 量程与步长
  ├─ options → enum 可选列表
  └─ unit → 数值单位(P2 接入自控平台 unit 字段)

11.5.2 主动整备自检 (动态校验)

自检由 checkPrepDependencies() 在运行时执行,结果为阻断式——不满足条件时整备开关直接置灰。

状态判定条件UI 表现
逻辑就绪空间逻辑映射中至少有 1 条 role=rwenabled=true 的语义switch 可操作,可正常开启整备
映射缺失空间逻辑映射中无任何 RW 语义配置switch 置灰 + 红底提示:整备依赖缺失,需配置空间逻辑映射

变更说明:旧版硬编码检查黄金三要素(hvac_power / hvac_target_temp / env_indoor_temp),已废弃。新版改为动态检测 RW 语义数量,零额外配置。


12. 技术实现与数据模型

12.1 向量化策略 (One-to-Many Vectorization)

采用拆分存储策略,一条 SQL 实体记录对应多条 Vector DB 记录,以覆盖不同的自然语言表达。

  • ETL 触发: 用户点击配置抽屉的 [保存生效]
  • 拆分逻辑: 遍历 aliases 数组(含原名、全路径名、人工别名)。
  • 前置属性 (Pre-Filter Fields)
    • entity_type: SPACEDEVICE
    • cap_tags: 该实体拥有的能力标签数组(如 ["meet", "control"])。
  • 存储示例:
    • vec("305会议室") -> Payload: { "ref_id": "SP01", "entity_type": "SPACE", "cap_tags": ["meet"] }
    • vec("金螳螂/1楼/305会议室") -> Payload: { "ref_id": "SP01", "entity_type": "SPACE", "cap_tags": ["meet"] }
    • vec("VIP室") -> Payload: { "ref_id": "SP01", "entity_type": "SPACE", "cap_tags": ["meet"] }

12.2 数据一致性与冲突检查

  • 弹性校验: 空间与设备别名不再强制全局唯一。系统支持多个资源共享相同别名,具体匹配逻辑下沉至 Agent 推理层。
  • 后端存储: 保存时仅执行格式校验,不再报错冲突。

12.3 实体基础表 (ai_entities - Space)

字段类型必填说明
idUUIDYesAI 系统主键
iot_ref_idStringYesIoT 平台原始 ID (SpaceID)
typeEnumYesSPACE
ai_statusEnumYesACTIVE, DISABLED
sync_errorEnumNoCHANGED, ORPHAN
base_weightFloatYes默认 0.50
aliasesJSONYes字符串数组 ["别名1", "别名2"]
capabilitiesJSONNo插件能力配置容器 (含 is_enabled 开关状态)

12.4 空间插件能力配置 (capabilities)

Meeting Plugin (Key: meeting)

json
{
  "platform": "internal",
  "config": {
    "sync_at": "2026-04-09 10:00:00",
    "capacity": 15,
    "equipment": ["投影仪", "电视机"],
    "is_synced": true
  }
}

Control Plugin (Key: control)

用于定义该空间是否允许 AI 执行控制指令。

json
{
  "is_enabled": true,                // 空间级控制总关 (Policy Guard)
  "description": "允许 AI 对此空间执行灯光/空调调节"
}

Sensing Plugin (Key: sensing)

json
{
  "is_enabled": true,
  "source_mode": "SPACE_NATIVE_FIRST",        // 优先使用空间原生点位,无映射时才从设备聚合
  "native_mappings": [                        // [新增] 空间节点直连的逻辑信号映射
    { "semantic_key": "env_indoor_temp", "property": "rm_305_temp_r" }
  ],
  "single_source_of_truth": true
}

Active Prep Plugin (Key: active_prep)

json
{
  "is_enabled": true,
  "config": {
    "run_mode": "CONFIRM",         // AUTO | CONFIRM
    "env_lambda": 6.5,             // 空间级修正系数
    "last_run_at": "2026-04-13 14:00:00"
  }
}

Released under the Private License.