## 月度编制与招聘进度对账 {.case data-case-id="039"}

| 字段 | 值 |
| --- | --- |
| 案例编号 | `039` |
| 行业 / 部门 | 互联网 / 人力 |
| 角色 | HR 负责人 |
| 难度 | `复杂` |
| 调用来源 | `schedule`（定时由获授权 Agent 经 App/Extension 读取 HR 系统在编数与 ATS 招聘状态） |

<!-- slot: 目标 -->
月底盘点才发现某部门已悄悄超编、而缺口部门一个 offer 都没在途——这类错位靠人工对账总要晚一个月才暴露。目标：每月定时让获授权 Agent 读取 HR 系统各部门在编数与 ATS 在途 offer 状态，逐部门比对在编数、编制计划与在途 offer，产出对账差异表；有缺口或超编经 HR 负责人确认后发管理层，无差异发对齐回执。对账数据最小披露：只有部门、人数与状态，薪酬与成本字段不出现在任何回执。指标：差异表与人工对账一致率 ≥ 99%；任一系统不可达时 0 例基于单边数据出结论；字段缺失 100% 标"待确认"不猜。

<!-- slot: 边界 -->
- **覆盖**：定时读取在编数与 ATS 招聘状态、逐部门三方比对（在编数/编制计划/在途 offer）、差异表经确认后发管理层、无差异发对齐回执。
- **不覆盖**：自动调整编制计划、自动推进或否决 offer、自动测算人力成本、跨月趋势预测。
- **假设**：有两个经授权的 Agent（通过 App/Extension）分别读取 HR 系统在编数与 ATS 招聘状态；编制计划作为调用输入提供；数据字段缺失（如某部门编制未登记）标"待确认"，不猜测。

<!-- slot: 提示词 -->
把下面这段发给 Loop，它会在后台帮你创建这个 Workflow：

```text
帮我创建一个 Workflow：每月定时由两个获授权的查询 Agent 分别经 App/Extension 读取 HR 系统各部门在编数与 ATS 各部门在途 offer 状态，App/Extension 在读取侧即完成聚合与脱敏，Agent 只接收部门、在编数、在途 offer 状态等白名单字段，不接收姓名、薪酬、成本等原始字段，逐部门比对在编数、编制计划与在途 offer，生成对账差异表（部门、在编数、编制计划、在途 offer 数、缺口或超编数）。对账数据最小披露：只用部门、人数与状态，薪酬与成本字段不出现在任何回执。
触发：定时（计划）发起调用，调用时带入编制计划、两个查询 Agent、审批人、管理层频道与值班频道。
结果分流（按优先级从高到低依次判断）：
  任一系统不可达（HR 系统或 ATS 取数失败、数据陈旧）：绝不基于单边数据出结论——告警失败、留审计时间戳，按重试上限重试，仍失败则升级到值班频道；不当作"无差异"，也不出半张差异表。
  有缺口或超编（某部门在编 + 在途 offer 低于编制计划，或已超编制计划）：生成对账差异表，数据字段缺失（如编制未登记）标"待确认"不猜；差异表先交 HR 负责人确认，确认后发管理层频道（仅部门、人数与状态），并留审计时间戳。
  无差异（本期无差异部门，全部部门三方对齐）：发一条对齐汇总回执（仅各部门对齐状态）并留时间戳，不静默结束，也不当作取数失败。
审批：差异表必须经 HR 负责人确认后才发管理层，审批不设自动超时，无默认通过/否决；驳回则本次失败结束、留审计，不自动外发。
异常：查询 Agent 回传不合结构就停在等待点等它重新提交，不自动重跑；通知发送失败按重试上限重试，仍失败则升级到值班频道并保留待发内容供人工补发。
完成：三类结果各自出回执后结束，全部留审计时间戳。
```

<!-- slot: 流程 -->
![案例 039 月度编制与招聘进度对账：定时让获授权 Agent 分别读取 HR 系统在编数与 ATS 在途 offer 并逐部门三方比对；任一系统不可达绝不基于单边数据出结论、告警留审计重试升级，有缺口或超编（字段缺失标待确认）经 HR 负责人确认后发管理层、驳回则失败结束，无差异发对齐回执，薪酬与成本字段不进回执；回传不合结构停在原等待点](../../../media/cases/fig-case-039-01-flow.svg){#fig-case-039-01 width=92%}

如上图所示，正常路径、人工决策与异常同时可见，三类结果都有可见回执：

1. **定时触发**：计划到点（每月）发起一次调用，带入编制计划、两个查询 Agent、审批人、管理层频道与值班频道。
2. **双源取数与比对**：两个获授权 Agent 分别经 App/Extension 读取 HR 系统各部门在编数与 ATS 在途 offer 状态并回传，逐部门比对三方数据；任一 Agent 回传结构不合要求时停在原等待点，等其重新提交，不自动重跑。
3. **三路分流（先判取数可用性，再判差异）**：
   - **任一系统不可达**：HR 系统或 ATS 取数失败、数据陈旧，绝不基于单边数据出结论——告警失败并留审计时间戳，按重试上限重试，仍失败则升级到值班频道。
   - **有缺口或超编**：生成对账差异表，字段缺失（如编制未登记）标"待确认"不猜；差异表（仅部门、人数与状态）交 HR 负责人确认后发管理层并留审计时间戳，驳回则本次失败结束、留审计。
   - **无差异**：全部部门三方对齐，发对齐回执（仅各部门对齐状态）并留时间戳，不静默结束。

<!-- slot: 配置 -->
你不需要手写代码或配置。把上面的提示词发给 Loop，AI 会理解意图、在后台画出这个"双源取数 + 三方比对 + 确认后外发"流程——它知道"读在编数"与"读 ATS"各需要一个发消息并等待回调的 Agent 环节、"先判取数可用性再判差异"需要一个条件路由且可用性优先级最高、"HR 负责人确认"需要一个审批环节、"差异表与回执"各需要一个发消息环节，并把它们连起来。AI 还会在后台校验流程结构是否完整，你不必关心这些技术细节。

<!-- slot: 异常 -->
- **任一数据源不可达或数据陈旧**：绝不基于单边数据出结论——只看 HR 系统会把在途 offer 误判成缺口，只看 ATS 会漏掉刚入职的人；告警失败、留审计时间戳，按重试上限重试，仍失败则升级到值班频道由人工确认。
- **数据字段缺失（如编制未登记）**：不猜、不用历史数顶替，该部门差异标"待确认"，由 HR 负责人确认时补全或指定，差异表中单列呈现。
- **HR 负责人驳回差异表**：本次失败结束、留审计；修正口径或数据后等下月调用，没有"AI 自动外发"。
- **通知发送失败**：按重试上限重试投递；超过上限则升级到值班频道，并保留待发内容供人工补发。
- **查询 Agent 回传不合结构**：本次完成请求被拒绝，停在等待点等其修正后重新提交，不自动重跑。
- **敏感字段外泄防线**：薪酬与成本字段不进入差异表、对齐回执或任何消息；发到管理层频道的内容也只含部门、人数与状态。
- **长时间无人审批**：审批本身不设自动超时，流程停在等待状态。若业务需要响应时限，由另一条定时检查的 Workflow（或值班人员）扫出超时项并通知 HR 负责人。

<!-- slot: 审批 -->
差异表必须经 HR 负责人确认后才发管理层。缺口是补招还是接受、超编是冻结还是消化，是授权范围内的人工决策——确认时能看到差异表全貌（仅部门、人数与状态）、"待确认"字段与比对口径，所以是"有依据的快速决策"而非盲目拍板。审批只有确认或驳回两种结果，驳回即本次失败、留审计，没有"AI 自动外发"。审批本身不设自动超时，流程停在等待状态；月度经营会临近时若需提醒，由另一条定时检查的 Workflow 扫出仍待确认的项。

<!-- slot: 外部系统 -->
本工作流对 HR 系统在编数与 ATS 招聘状态的读取由两个获授权 Agent 分别通过 App/Extension 完成，工作流本身不直接调用外部系统；两边数据取齐后才做比对。编制计划、管理层频道与值班频道作为调用输入提供；两个系统的访问凭据分别用 `<token>` 占位，由各 Agent 运行时从密钥引用。任一系统不可达属于取数失败，走失败回执与升级，不当作"无差异"，也不出单边结论。回执遵循最小披露：只用部门、人数与状态。进入 Agent 消息、Run/Activation/Effect 记录与 App/Extension 工具日志的字段以白名单为准（仅令牌化/白名单字段，原值不进入以上任何一层），敏感原始字段在源头即被聚合/区间化/令牌化，并按 10% 抽查四层实际记录。

<!-- slot: 验收 -->
- **回放集与基准**：取最近 3 个月的历史在编数、编制计划与 ATS 快照（含缺口、超编、字段缺失、单边不可达样本），人工基准答案为当月人工对账差异表；回放并记录取数、确认、外发时间戳。
- **分母与口径**：差异一致率分母为回放的部门数 × 月份数；字段缺失与单边不可达样本单独计数，不并入差异一致率。
- **指标**：差异表与人工对账一致率 ≥ 99%；单边不可达样本 0 例出结论或半张差异表；字段缺失 100% 标"待确认"不猜；差异表 100% 经确认后外发。
- **最小披露**：抽查全部差异表与回执，100% 无薪酬与成本字段。
- **源头脱敏**：进入 Agent 消息、Run/Activation/Effect 记录与 App/Extension 工具日志的字段 100% 在白名单内（仅令牌化/白名单字段，原值不进入以上任何一层），并按 10% 抽查四层实际记录。
- **零静默**：三类结果 100% 出回执并留审计时间戳，无一例静默结束。

### 复用与变体
- **同构迁移**：外包人员编制对账、预算与实际支出对账、门店排班与客流对账。
- **双审口径**：差异超过阈值（如 3 人）的部门加签部门 HRBP，在提示词里写明。
- **写回系统**：确认后再加一个 Agent 环节，由它通过 App/Extension 把确认结论写回人力规划台账；写回须是获授权 Agent 经 App/Extension 的幂等动作（幂等键=月份+部门），响应未知先查后写、按重试上限有限重试、失败升级值班并置"待处理"保留补偿，全程留审计。若不需要写侧能力，改为只读汇总或仅留 Loop 回执更安全。

<!-- slot: 媒体槽位 -->
<!-- media: fig-case-039-01-flow.svg -->
