## 月度客户健康报告 {.case data-case-id="032"}

| 字段 | 值 |
| --- | --- |
| 案例编号 | `032` |
| 行业 / 部门 | SaaS / 客户成功 |
| 角色 | 客户成功负责人 |
| 难度 | `复杂` |
| 调用来源 | `schedule`（获授权 Agent 经 App/Extension 汇总用量/工单/续约数据） |

<!-- slot: 目标 -->
客户健康度全靠 CSM 各自拍脑袋，谁快 churn 了往往到续约前一个月才被发现。目标：每月定时由获授权 Agent 经 App/Extension 汇总各客户的用量、工单与续约数据，按客户生成健康评分与关注点；评分只用系统数据，数据缺失的客户标"数据不足·待确认"单列、不计入评分；高关注客户单列建议动作，建议须负责人确认后才执行、不自动触发外联；确认后分发 CSM 团队。指标：报告按时产出率 100%；数据缺失客户 100% 单列不评分；评分与季度人工复盘方向一致率 ≥ 85%。

<!-- slot: 边界 -->
- **覆盖**：定时汇总三源数据、按客户评分与关注点、数据缺失单列不评分、高关注客户建议动作、负责人确认后分发 CSM 团队。
- **不覆盖**：自动联系客户、自动调整客户等级、自动触发续约流程、评分模型自动调参。
- **假设**：有一个经授权能读取用量、工单与续约三个数据源的 Agent（通过 App/Extension）；评分口径作为调用输入提供；客户名单来自系统数据，不人工指定。

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

```text
帮我创建一个 Workflow：每月一日定时由获授权的数据 Agent 经 App/Extension 汇总各客户的用量数据、工单数据与续约数据，按客户计算健康评分并返回（客户编号、健康评分、关注点、数据是否齐全、建议动作）。App/Extension 在读取侧即完成聚合与脱敏，Agent 只接收客户编号（伪名化）、用量区间、工单计数、续约日期与评分等白名单字段，不接收客户名称、联系人、联系方式或合同金额等原始字段。
触发：定时（计划）发起调用，调用时带入评分口径、三个数据源的安全引用（令牌化）、CSM 频道、数据 Agent 和审批人。
评分规则（先判数据齐全再评分）：
  数据齐全：评分只用系统数据，按输入的评分口径计算健康评分并列出关注点，留审计时间戳。
  数据缺失：该客户标"数据不足·待确认"单列，不计入评分、不参与排名，也不猜测补数——宁缺勿编。
  高关注客户（评分或口径命中高关注条件）：单列建议动作，建议动作只作为建议，须客户成功负责人确认后才执行，不自动触发外联。
结果分流：
  本月无可评估客户（汇总成功但客户名单为 0）：发一条"本月无可评估客户"汇总回执并留时间戳，不静默结束，也不当作取数失败。
  任一数据源不可达：等于取数失败，告警失败、留审计时间戳，按重试上限重试，仍失败则升级到值班频道；不当作"本月无可评估客户"，也不基于残缺数据源出"全部健康"的报告。
审批：报告须客户成功负责人确认后分发到 CSM 频道，重点确认高关注客户的建议动作，审批本身不设自动超时、无默认通过或否决；驳回则本次失败结束、不分发，调整口径后重新发起，不自动执行任何建议动作。
最小披露：报告内客户商业数据脱敏、最小披露，只给评分、关注点与必要数字，不带合同金额等敏感明细。
异常：数据 Agent 回传不合结构就停在等待点等它重新提交，不自动重跑；报告分发失败按重试上限重试，仍失败则升级到值班频道并保留待发内容供人工补发。
完成：报告分发成功或各失败回执发出后结束，均留审计时间戳。
```

<!-- slot: 流程 -->
![案例 032 月度客户健康报告：定时由 App/Extension 在源侧汇总并脱敏用量/工单/续约数据，只把客户编号、区间与计数等白名单投影交给 Agent（原始商业数据不进入 Agent），数据齐全的客户按口径评分并列关注点，数据缺失标数据不足待确认单列不评分；高关注客户单列建议动作，负责人确认后分发 CSM 频道，驳回失败结束不分发；本月无可评估客户发零结果回执；任一数据源不可达按取数失败告警留审计重试升级，不当作全部健康；回传不合结构停在原等待点](../../../media/cases/fig-case-032-01-flow.svg){#fig-case-032-01 width=92%}

如上图所示，正常路径、人工决策与异常同时可见：

1. **定时触发**：计划到点（每月一日）发起一次调用，带入评分口径、三个数据源安全引用（令牌化）、CSM 频道、数据 Agent 与审批人。
2. **汇总与评分**：App/Extension 在源侧汇总各客户的用量、工单与续约数据并完成脱敏，获授权 Agent 只接收白名单投影并按客户回传（客户编号、健康评分、关注点、数据是否齐全、建议动作）；回传结构不合要求时停在原等待点，等其重新提交，不自动重跑。
3. **评分规则（先判数据齐全再评分）**：
   - **数据齐全**：评分只用系统数据，按口径计算健康评分并列关注点，留审计时间戳。
   - **数据缺失**：该客户标"数据不足·待确认"单列，不计入评分、不参与排名，也不猜测补数。
   - **高关注客户**：单列建议动作，建议只作为建议，须负责人确认后才执行，不自动触发外联。
4. **确认分发**：客户成功负责人确认（重点过一遍高关注客户的建议动作）后，脱敏报告分发到 CSM 频道并留审计时间戳；驳回则本次失败结束、不分发。
5. **零结果与取数失败分开**：本月无可评估客户发零结果回执并留时间戳；任一数据源不可达按取数失败告警、留审计、重试升级，不基于残缺数据出"全部健康"的报告。

<!-- slot: 配置 -->
你不需要手写代码或配置。把上面的提示词发给 Loop，AI 会理解意图、在后台画出这个"多源汇总 + 先判数据齐全再评分 + 确认分发"流程——它知道"汇总评分"需要一个发消息并等待回调的 Agent 环节、"数据齐全/缺失/高关注"需要一个条件路由、"确认分发"需要一个审批环节、"报告与回执"各需要一个发消息环节，并把它们连起来。评分口径、数据源与频道都是调用输入，换口径不需要改流程。AI 还会在后台校验流程结构是否完整，你不必关心这些技术细节。

<!-- slot: 异常 -->
- **任一数据源不可达**：等于取数失败，告警并留审计时间戳，按重试上限重试，仍失败则升级到值班频道；不当作"本月无可评估客户"，也绝不基于剩下的数据源出"全部健康"的报告——缺一源就不出评分。
- **数据缺失的客户**：标"数据不足·待确认"单列，不计入评分、不参与排名，也不猜测补数；宁缺勿编，由 CSM 人工补数后下月再评。
- **建议动作被自动执行**：不会发生。建议只是报告里的文字，须负责人确认后才执行，流程里没有任何自动外联环节。
- **数据 Agent 回传不合结构**：本次完成请求被拒绝，停在等待点等 Agent 修正后重新提交，不会反复重跑，也不会把半成品当评分。
- **报告分发失败**：按重试上限重试投递；超过上限则升级到值班频道，并保留待发报告供人工补发。
- **客户成功负责人驳回**：本次失败结束、不分发，调整口径后重新发起一次，没有"AI 自动改分"。
- **本月无可评估客户（结果为 0）**：仍发一条汇总回执并留时间戳，让"没消息"变成可核验的记录，而不是无声结束。
- **长时间无人审批**：审批本身不设自动超时，流程停在等待状态。若业务需要响应时限，由另一条定时检查的 Workflow（或值班人员）扫出超时项并通知负责人。

<!-- slot: 审批 -->
报告须客户成功负责人确认后才分发到 CSM 频道，重点是高关注客户的建议动作——执行哪些、缓一缓哪些，由负责人拍板，流程只承载建议，不替人做外联决定。确认时负责人能看到各客户评分、关注点与"数据不足·待确认"单列名单，核对没有残缺数据被当成健康。审批只有确认或驳回两种结果，驳回即本次失败、不分发，没有"AI 自动改分"或自动执行建议。若想给高关注客户加 CSM 二次确认，在提示词里写明，AI 会在分发前多加一个审批环节。

<!-- slot: 外部系统 -->
用量、工单与续约三个数据源由授权 App/Extension 在源侧读取、聚合与脱敏；工作流本身不直接调用外部系统。访问凭据保留在连接侧，不进入提示词。客户名称、联系人、联系方式、合同金额及原始商业明细在源侧即被删除、区间化或伪名化，绝不先进入 Agent；Agent 消息、Run/Activation/Effect 记录与工具日志只接收客户编号、用量区间、工单计数、续约日期、评分等白名单投影。按 10% 抽查来源输出、Agent 消息、运行记录和工具日志四层。任一数据源不可达即取数失败，不能因为另外两个源可用就出"全部健康"报告。

<!-- slot: 验收 -->
- **回放集与基准**：取最近 3 个月共约 100 个客户月的用量、工单与续约数据，人工基准答案为客户成功团队季度复盘的"健康/需关注/风险"方向标注；评分方向与基准一致率 ≥ 85% 视为通过。
- **数据缺失处理**：基准含至少 10 个数据缺失客户样本，100% 标"数据不足·待确认"单列、不计入评分与排名，零猜测补数。
- **失败防护**：任一数据源不可达的回放 100% 走取数失败回执与升级，零次生成"全部健康"报告。
- **不自动外联**：高关注客户建议动作 100% 等负责人确认，流程内无自动外联执行记录。
- **最小披露**：分发报告 100% 脱敏，不含合同金额等敏感明细；抽 5 份人工核对。
- **源头脱敏**：授权 App/Extension 100% 在源侧完成聚合与脱敏，原始商业数据进入 Agent 的 0 例；Agent 消息、Run/Activation/Effect 记录与工具日志字段 100% 在白名单内，并按 10% 抽查四层实际记录。
- **分母与口径**：一致率分母为回放客户月总数；每次回放记录汇总、评分、确认与分发时间戳；报告按时产出率 100%（含零结果与失败回执，不静默结束）。

### 复用与变体
- **同构迁移**：经销商健康月报、渠道伙伴分层、代理商续约风险清单、产品活跃度月报。
- **双周高频版**：对高关注客户单独跑双周检查，口径更严，在提示词里改定时计划与口径。
- **写回 CRM**：分发后再加一个 Agent 环节，由获授权 Agent 经 App/Extension 把评分写回可信的 CRM 客户档案（仅健康评分这一业务维度，伪名化标识映射回真实档案由 CRM 侧完成），以客户编号加月份为稳定幂等键、响应未知先查后写，配有限重试、升级、待处理与审计。

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