## Bug 自动分诊与指派确认 {.case data-case-id="001"}

| 字段 | 值 |
| --- | --- |
| 案例编号 | `001` |
| 行业 / 部门 | 互联网 / 研发 |
| 角色 | 工程经理 |
| 难度 | `入门` |
| 调用来源 | `manual`（每日由外部定时发起一次手动调用，一次处理当天全部新 Bug） |

<!-- slot: 目标 -->
新 Bug 每天堆积，人工分诊耗时且不一致。目标：每条新 Bug 由分诊 Agent 给出指派建议，经审批人确认后再通知团队频道，不让 AI 单独拍板。指标：从发起分诊到团队收到通知的端到端中位数 < 10 分钟；每条结果都经人工确认。

<!-- slot: 边界 -->
- **覆盖**：对新 Bug 自动分诊、人工确认、把确认后的指派结果通知到频道。
- **不覆盖**：Bug 修复本身、自动写回工单系统（见"复用与变体"）、按严重度自动分流。
- **假设**：Bug 以结构化文字摘要作为调用输入提供；团队里有一个能做分诊的 Agent。

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

```text
帮我创建一个 Workflow：把当天的新 Bug 逐条交给分诊 Agent，让它返回每条应指派给哪个团队。
结果由审批人逐条确认后，才把"已指派给 X"的通知发到目标频道。
触发：由外部定时每天发起一次手动调用，调用时带入当天全部新 Bug 的脱敏摘要（安全引用，原始工单记录留在工单系统，由发起方抽取白名单字段）、目标频道、分诊 Agent 和审批人；一次调用处理当天所有新 Bug。
审批：逐条确认后才通知，审批本身不设自动超时、无默认通过或否决；驳回则该条失败结束，需要重新分诊就再发起一次。
异常：分诊 Agent 回传的结构不合要求，就停在等待点等它重新提交，不自动重跑；通知发送失败按重试上限重试，仍失败则升级到值班频道并保留待发内容供人工补发；长时间无人审批由运维介入。
完成：当天每条 Bug 的通知发出后成功结束，并留审计时间戳；当天无新 Bug 时发一条"今日无新 Bug"汇总回执并留时间戳，不静默结束。
```

<!-- slot: 流程 -->
![案例 001 Bug 自动分诊：一次调用处理当天全部新 Bug，分诊 Agent 返回指派建议，回传不合结构时停在原等待点；审批人确认后通知频道，驳回则失败结束；当天无新 Bug 发汇总回执](../../../media/cases/fig-case-001-01-flow.svg){#fig-case-001-01 width=92%}

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

1. **发起调用**：外部定时（或人工）发起一次手动调用，带入当天全部新 Bug 的脱敏摘要与安全引用、目标频道、分诊 Agent 与审批人；一次调用处理当天所有新 Bug，当天无新 Bug 时直接发"今日无新 Bug"汇总回执并留时间戳。
2. **分诊**：分诊 Agent 逐条读取 Bug，返回建议指派的团队；回传结构不合要求时停在原等待点，等其修正后重新提交，不自动重跑。
3. **人工确认**：审批人对每条建议收到"建议指派给 X"，确认继续或驳回。
4. **通知**：确认后把"已指派给 X"发到团队频道；通知发送失败按重试上限重试，仍失败则升级到值班频道并保留待发内容供人工补发。
5. **结束**：当天每条 Bug 的通知发出即成功并留审计时间戳；审批人驳回则该条失败结束、不发通知，要重新分诊就再发起一次。

<!-- slot: 配置 -->
你不需要手写代码或配置。把上面的提示词发给 Loop，AI 会理解意图、在后台画出这个流程——它知道"分诊"需要一个发消息并等待回调的 Agent 环节、"确认"需要一个审批环节、"通知"需要一个发消息环节，并把它们连起来。AI 还会在后台校验流程结构是否完整（每个环节的输入是否都连好），你不必关心这些技术细节。

<!-- slot: 异常 -->
- **分诊 Agent 回传不合结构**：本次完成请求被拒绝，流程停在等待点等 Agent 修正后重新提交，不会反复重跑，也不会发出错误结果。
- **审批人驳回**：该条失败结束、不发通知；要换团队或重新分诊，再发起一次新调用即可。
- **通知发送失败**：按重试上限重试投递；超过上限则升级到值班频道，并保留待发内容供人工补发。
- **当天无新 Bug（结果为 0）**：仍发一条"今日无新 Bug"汇总回执并留时间戳，让"没消息"变成可核验的记录，而不是无声结束。
- **长时间无人审批**：审批本身不设自动超时，流程会停在等待状态。若业务需要响应时限，这是运营策略：由另一条定时检查的 Workflow（或值班人员）扫出超过时限的待审批项并通知经理，而不是依赖本流程自动升级。

<!-- slot: 审批 -->
每条指派建议都必须经审批人确认后才通知团队，防止 AI 误判后把错误指派发出去。审批只有确认或驳回两种结果，驳回即本次失败，没有"AI 自动改"。若要更严（如高危 Bug 双审），在提示词里写明，AI 会在流程里多加一个审批环节。

<!-- slot: 外部系统 -->
本工作流不直接对接外部系统；调用输入只携带新 Bug 的脱敏摘要与安全引用（原始工单记录留在工单系统，进入工作流前已抽取白名单字段），由发起方（外部定时或人工）带入。进入 Agent 消息、Run/Activation/Effect 记录与 App/Extension 工具日志仅记录白名单/令牌化字段，原值不进入以上任何一层，并按 10% 抽查四层实际记录。若将来要让 Agent 自动从工单系统拉取当天的 Bug，由 Agent 通过 App 或 Extension 完成，你只需在提示词里说"从工单系统读取今天的 Bug"，不必在工作流里写对接逻辑。

<!-- slot: 验收 -->
- **回放集与基准**：取最近 200 条已标注历史 Bug，人工基准答案为既定指派团队；分诊建议与基准一致率 ≥ 85% 视为通过。
- **分母与口径**：一致率分母为回放总数，每日全量回放并记录每条时间戳。
- **人工确认**：每条结果 100% 经过审批人确认。
- **时效**：从发起分诊到团队收到通知的端到端中位数 < 10 分钟。
- **源头脱敏**：进入 Agent 消息、Run/Activation/Effect 记录与 App/Extension 工具日志的字段 100% 在白名单内（仅令牌化/白名单字段，原值不进入以上任何一层），并按 10% 抽查四层实际记录。

### 复用与变体
- **同构迁移**：客户工单分诊、运维告警分级、客服升级判定。
- **写回工单**：在通知后再加一个 Agent 环节，由获授权 Agent 经 App/Extension 把指派结果写回可信的工单系统（仅指派字段这一业务维度），以 Bug 编号为稳定幂等键、响应未知先查后写，配有限重试、升级、待处理与审计。
- **按严重度分流**：让分诊 Agent 同时返回严重度，只对高危走审批，其余直接通知。

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