Sales Ops Assistant · 区域销售 AI 助手

一句话提需求 → 拆成确定性步骤 → 程序算数 → 健康检查 → 预览确认 → 固定顺序发送 → message_id 留痕 虚构门店与群组,模拟数据
1 数据刷新多源抓取,偶发失败完整重跑一次
2 计算渲染达成率、排名由程序计算,不交给模型
3 健康检查覆盖率 · 新鲜度 · 数值合理
4 预览确认首次运行或群发超过 2 个群需确认
5 发送留痕白名单 · 禁言群跳过 · message_id
回放场景
10 个
模拟一个工作日(2026-10-12)
成功送达
7 条消息
3 次运行全部送达
被护栏拦下
7 次
跳过 1 · 拦截 3 · 失败 1 · 拒绝 1 · 待确认 1
错发 / 重复发送
0 / 0
按 outbox 实际发送记录核对 · 发送窗口 08:30–21:00

一句话 → 执行计划

用户输入
「把今天华东华南各门店的达成进度做成卡片发到群里」
识别任务门店达成度播报(attainment)
区域华东、华南
产出卡片 / 图 + 发送
步骤refresh → compute → render → health_check → preview → send
发送内容(场景 3)
【门店达成度播报】10-12 09:03
整体达成 756/892(85%)
TOP3:上海徐汇 122%、东莞南城 120%、南京新街口 119%
需关注:宁波鄞州 53%、厦门思明 53%、合肥政务 46%
群(固定顺序)message_id
区域管理层群om_9677294ca0bf
华东区域经营群om_1a6881eb4776
华南区域经营群om_bf572b9c70fc

场景回放

时间护栏

1. 太早,不打扰

定时任务 · 门店达成度播报 · 08:05
已拦截
  • 时间护栏stop08:05 不在 08:30–21:00 发送窗口内
结果:时间护栏:非工作时段不打扰
预览确认

2. 首次运行,先预览

把今天华东华南各门店的达成进度做成卡片发到群里
待确认
  • 数据刷新ok第 1 次刷新,15 行
  • 健康检查ok字段完整、数值合理、数据新鲜
  • 渲染ok15 家门店
  • 收件人skip「上海城市群」是禁言群,自动跳过
  • 收件人skip「外部合作方群」含外部成员,禁止发送
  • 预览确认pending待负责人确认,拟发 3 个群:区域管理层群、华东区域经营群、华南区域经营群
结果:预览已生成,等待负责人确认
固定收件人 · 禁言群跳过

3. 负责人确认后发送

把今天华东华南各门店的达成进度做成卡片发到群里
已发送
  • 数据刷新ok第 1 次刷新,15 行
  • 健康检查ok字段完整、数值合理、数据新鲜
  • 渲染ok15 家门店
  • 收件人skip「上海城市群」是禁言群,自动跳过
  • 收件人skip「外部合作方群」含外部成员,禁止发送
  • 预览确认approved确认人:区域负责人
  • 发送ok区域管理层群 · om_9677294ca0bf
  • 发送ok华东区域经营群 · om_1a6881eb4776
  • 发送ok华南区域经营群 · om_bf572b9c70fc
结果:按固定顺序送达 3 个群
幂等锁

4. 调度器重复触发

定时任务 · 门店达成度播报 · 09:10
跳过
  • 幂等锁skip同一时段已执行过(attainment:2026-10-12:AM)
结果:幂等锁:本时段已发送,不重复执行
失败重试

5. 数据源偶发超时

定时任务 · 现车库存播报 · 10:00
已发送
  • 数据刷新error第 1 次:库存表格读取失败
  • 重试wait等待 30 秒后完整重跑
  • 数据刷新ok第 2 次刷新,45 行
  • 健康检查ok字段完整、数值合理、数据新鲜
  • 渲染ok15 家门店
  • 预览确认approved确认人:区域负责人
  • 发送ok华东区域经营群 · om_b492d04a84fa
  • 发送ok华南区域经营群 · om_0ec2a2a3205a
结果:按固定顺序送达 2 个群
健康检查

6. 数据异常,拦下

定时任务 · 门店达成度播报 · 14:00
已拦截
  • 数据刷新ok第 1 次刷新,15 行
  • 健康检查fail深圳南山 达成率 900%,疑似重复计数
结果:健康检查未通过:深圳南山 达成率 900%,疑似重复计数
健康检查

7. 门店数据缺失,拦下

定时任务 · 门店达成度播报 · 14:20
已拦截
  • 数据刷新ok第 1 次刷新,13 行
  • 健康检查fail门店覆盖率 87%,低于 95%
结果:健康检查未通过:门店覆盖率 87%,低于 95%
发送重试 · message_id 留痕

8. 发送通道限流

定时任务 · 现车库存播报 · 16:00
已发送
  • 数据刷新ok第 1 次刷新,45 行
  • 健康检查ok字段完整、数值合理、数据新鲜
  • 渲染ok15 家门店
  • 预览确认auto常规任务,免确认
  • 发送error发送到「华东区域经营群」失败:通道限流
  • 发送ok华东区域经营群 · om_39f9e30ed69f
  • 发送ok华南区域经营群 · om_aaabb13b17e0
结果:按固定顺序送达 2 个群
重跑一次后放弃

9. 数据源持续失败

定时任务 · 门店达成度播报 · 18:00
失败未发送
  • 数据刷新error第 1 次:订单系统接口超时
  • 重试wait等待 30 秒后完整重跑
  • 数据刷新error第 2 次:订单系统接口超时
结果:重试 1 次后仍失败,已通知负责人,未发送任何内容
收件人白名单

10. 越权请求

把华东库存发到所有群
拒绝执行
  • 意图识别refuse识别为「inventory」,但请求越出了任务配置
结果:不支持发到「所有群」,只能发到任务配置里的固定收件人

审计日志(节选,完整版见 docs/audit.jsonl)

时间run_id步骤状态详情
08:05attainment-20261012080500时间护栏stop08:05 不在 08:30–21:00 发送窗口内
08:05attainment-20261012080500结束blocked时间护栏:非工作时段不打扰
09:00attainment-20261012090000健康检查ok字段完整、数值合理、数据新鲜
09:00attainment-20261012090000结束pending_approval预览已生成,等待负责人确认
09:03attainment-20261012090300健康检查ok字段完整、数值合理、数据新鲜
09:03attainment-20261012090300发送ok区域管理层群 · om_9677294ca0bf
09:03attainment-20261012090300发送ok华东区域经营群 · om_1a6881eb4776
09:03attainment-20261012090300发送ok华南区域经营群 · om_bf572b9c70fc
09:03attainment-20261012090300结束sent按固定顺序送达 3 个群
09:10attainment-20261012091000幂等锁skip同一时段已执行过(attainment:2026-10-12:AM)
09:10attainment-20261012091000结束skipped幂等锁:本时段已发送,不重复执行
10:00inventory-20261012100000健康检查ok字段完整、数值合理、数据新鲜
10:00inventory-20261012100000发送ok华东区域经营群 · om_b492d04a84fa
10:00inventory-20261012100000发送ok华南区域经营群 · om_0ec2a2a3205a
10:00inventory-20261012100000结束sent按固定顺序送达 2 个群
14:00attainment-20261012140000健康检查fail深圳南山 达成率 900%,疑似重复计数
14:00attainment-20261012140000结束blocked健康检查未通过:深圳南山 达成率 900%,疑似重复计数
14:20attainment-20261012142000健康检查fail门店覆盖率 87%,低于 95%
14:20attainment-20261012142000结束blocked健康检查未通过:门店覆盖率 87%,低于 95%
16:00inventory-20261012160000健康检查ok字段完整、数值合理、数据新鲜
16:00inventory-20261012160000发送error发送到「华东区域经营群」失败:通道限流
16:00inventory-20261012160000发送ok华东区域经营群 · om_39f9e30ed69f
16:00inventory-20261012160000发送ok华南区域经营群 · om_aaabb13b17e0
16:00inventory-20261012160000结束sent按固定顺序送达 2 个群
18:00attainment-20261012180000结束failed重试 1 次后仍失败,已通知负责人,未发送任何内容