Skip to content

SA 空间预约:资源处理流水线 (Resource Pipeline)

文档目的:描述后端开发人员如何实现会议室的筛选、排序(召回)以及与飞书/钉钉等平台的最终下单对接。本层专注于物理资源的执行与校验。

IMPORTANT


1. 标准化输入 (Pipeline Inputs)

Resource Pipeline 接收由前序流程(Agent 或 Time Pipeline)标准化后的参数。

参数名称类型说明来源
start_dtStandard ISO意图时间块/搜索窗口的起始点Time Pipeline
end_dtStandard ISO意图时间块/搜索窗口的截止点Time Pipeline
durationFloat归一化后的会议时长(默认 1.0)Time Pipeline
room_entityString用户输入的会议室名称 (或 null)Agent (Slot)
capacityInteger参会人数 (默认 0)Agent (Slot)

2. 筛选与排序核心 (Screening & Ranking Flow)


3. 详细执行逻辑 (Detailed Logic)

3.1 候选集召回 (Candidate Generation)

  • 精准/语义匹配:若 room_entity 有值,对向量数据库发起检索处理。
    • 语义置信度 (Semantic Confidence):衡量用户输入(如“305”)与空间别名语义相似度的分值。系统强制要求 Score>0.7 以过滤低相关脏数据。
    • 能力过滤:强制通过 entity_type = SPACE 元数据过滤非空间意图(如规避掉名为“305”的某个传感器)。
  • 容量初步过滤:若为模糊预约(未指定房间),则基于 room_capacity >= capacity 粗筛出符合条件的办公空间集合。

3.2 综合排序 (Ranking Strategy)

在发起忙闲查询前,根据用户需求类型(指定 vs. 模糊)执行差异化预排序。详细算法定义与公式参考:会议室推荐算法逻辑

  • 核心评估指标 (Metric Index)
    • 语义置信度 (Confidence):指代“这间房是不是用户想要的”,仅在指定场景下参与评分。
    • 容量适配度 (Fit):指代“这间房大房小用是否严重”,仅在模糊推荐场景下参与评分。
    • 业务权重 (Weight):指代“这间房在管理侧的重要性(如 VIP 优先)”,为辅助加权项。
  • 差异化排序路径
    • 场景 A (指定房间):主要基于 语义置信度。通过 0.9 的超高权重保障用户意图不被业务权重“劫持”。
    • 场景 B (模糊推荐):主要基于 容量适配度。追求空间资源的最优利用率,优先推荐规格最契合的项目。

3.3 业务接口调用模式 (Execution Modes)

根据 Agent 传入的指令类型,流水线进入不同的执行分支:

  • 模式 A:固定时间搜索 (Fixed Range Search)
    • 适用场景NOW数字时间
    • 接口逻辑:调用业务系统标准查询接口。输入 [start_dt, end_dt],接口返回在该全时间段内均为空闲的会议室列表。
  • 模式 B:尽快寻优搜索 (ASAP Greedy Search)
    • 适用场景ASAP 语义标签。
    • 接口逻辑:调用业务系统 ASAP 专用接口(或由流水线对业务接口执行多次轮询)。输入搜索窗口 [start_dt, end_dt] 和会议时长 duration,接口返回该窗口内最早的一个可用空档及其对应的会议室。

3.4 结果截断与 IoT 增强 (Output Truncation)

  • Top 3 截断:从 available_list 中取前 3 个最优项作为推荐。

3.5 冲突处理 (Conflict Handler)

详细策略参考:会议室推荐算法逻辑available_list 为空时触发:

  • 挪时间建议:在同一地点寻找前后 1-2 小时内的最近空位。
  • 换房间建议:推荐同一楼层或相邻楼层容量规格一致的可用房间。

4. 平台对接

4.1 平台元数据 (Platform Metadata)

平台必要元数据字段业务用途
飞书 (Feishu)calendar_id, resource_id查忙闲与下单绑定。
钉钉 (DingTalk)target_id统一标识 ID 映射。

5. 资源异常场景穷举 (Resource Edge Cases)

本模块承接原决策矩阵中关于“空间/资源”侧的冲突拦截逻辑:

场景触发条件预期 StatusAgent 预期话术
容量溢出capacity 大于办公区所有会议室的最大上限ERROR (OVERCAP)"抱歉,目前最大的会议室也无法容纳 {n} 人。"
指名冲突用户指定了 A 房间,但 A 房间在该时段被占用CONFLICT (BUSY)"A 房间在该时段已有会议,为您推荐了以下空闲房间:"
全域满容搜索窗口内所有符合容量要求的房间均被占用FAIL (ALL_BUSY)"抱歉,该时段所有会议室均已约满,建议您换个时间。"

容量溢出 目前接口不支持。 暂时需求优先级不高


6. 结果状态定义 (Return Status Table)

状态码含义下游 Agent 行为
SUCCESS找到可用资源Agent 展示:前端推荐卡片(Top 3)。
CONFLICT指定资源冲突但有替补Agent 引导:解释指名冲突原因,同时推送替代方案。
ERROR硬性条件不符(如人数超限)Agent 报错:告知资源瓶颈,引导修正需求(如减少人数)。
FAIL时段内资源确实枯竭Agent 话术:表示歉意,引导用户尝试其他日期。

Released under the Private License.