---
title: 分配助手
description: 主管说一句话，它把几十次操作做完 —— 助手的分工、决策、边界与验收。
icon: Bot
---

主管在矩阵上点一格，助手挑人、排客服、出确认单。**他只要看一眼、点确认。**

功能本身见 [召回分配](./batch-assignment)。本文讲**那个助手**：谁做决定、它凭什么这么做、哪些事它绝对不做、怎么知道它没变坏。

---

## 一、三者分工

```mermaid
flowchart LR
  H["👤 主管<br/>做决定"] -->|说一句话| A["🤖 助手<br/>组织语言 · 调工具"]
  A -->|调用| P["⚙️ 程序<br/>算数 · 取数 · 落库"]
  P -->|事实| A
  A -->|一段话 + 一张确认单| H
  H -->|点确认| P

  style H fill:#fef3c7,stroke:#f59e0b
  style A fill:#e0e7ff,stroke:#6366f1
  style P fill:#d1fae5,stroke:#10b981
```

| | 负责 | ⛔ 不负责 |
|---|---|---|
| **主管** | 所有决定 | —— |
| **助手** | 理解他的话、组织成人话、把决定翻译成动作 | **任何数字**、谁分给谁、要不要落库 |
| **程序** | 挑人、落人、算判据、写库 | 措辞 |

**一条铁律**：凡是能算的，都由程序算。助手只转述。

---

## 二、一次分配，它怎么走

```mermaid
flowchart TD
  S(["主管圈定<br/>矩阵点一格 / 直接说要哪批人"]) --> P

  P["助手出一版<br/>① 选人：这批是谁、多大<br/>② 分人：专属回自己人 · 无主给最空的<br/>③ 专属排满的不动，单列出来"]

  P --> D{"这一版<br/>还有要他定的吗？"}
  D -->|"没有"| C
  D -->|"有"| G["摆成按钮<br/>待分配 · 换个条件选 · 本批人数 · 打不完"]

  G --> Q{"主管做什么？"}
  Q -->|"一条不点<br/>（默认永远安全）"| C
  Q -->|"点按钮"| M
  Q -->|"开口说别的"| M

  M{"动的是哪一层？"}
  M -->|"怎么派<br/>移出谁 · 改派 · 改时效 · 带福利"| J["就在这一版上改<br/>不重跑"]
  M -->|"这批人是谁<br/>换条件 · 改人数 · 换时间档"| N["重跑，出新版<br/>旧版当场作废"]

  J --> D
  N --> P

  C["主管点确认<br/>这一下才真的分下去"] --> A(["已确认"])
  A --> A1["限时撤销"]
  A --> A2["补挂福利"]
  A --> A3["跟踪进度"]

  style S fill:#fef3c7,stroke:#f59e0b
  style P fill:#e0e7ff,stroke:#6366f1
  style D fill:#fff,stroke:#94a3b8
  style Q fill:#fff,stroke:#94a3b8
  style M fill:#fee2e2,stroke:#ef4444,stroke-width:2px
  style G fill:#fce7f3,stroke:#ec4899
  style J fill:#ede9fe,stroke:#8b5cf6
  style N fill:#ede9fe,stroke:#8b5cf6
  style C fill:#fef3c7,stroke:#f59e0b
  style A fill:#d1fae5,stroke:#10b981
```

### 红色那个菱形，是助手在这条线上**唯一实质的判断**

| 主管说 | 动的是 | 走 |
|---|---|---|
| 「王强移出这批」「待分配都还给专属」「给 5 天」「带个福利」 | **怎么派** | 局部改，同一版 |
| 「只要商保直付的」「改成 200 人」「换成 1–2 年那档」 | **这批人是谁** | 重跑，出新版 |

<Callout type="warn">**代价不对称**：把「这批人是谁」误判成「怎么派」→ 主管以为条件生效了、其实没有（**看不出来的错**）；反过来只是多算一次。⇒ **拿不准时一律走重跑。**</Callout>

### 两条闭合的环

| 环 | 回到哪 | 结果 |
|---|---|---|
| **改派法** | 回到同一版 | 人没变，分法变了 |
| **改人群** | 回到新的一版 | **旧版当场作废**，确认按钮禁用 |

⚠️ 作废发生在**新版生成时**，不是确认时 —— 主管要能看见自己出过几版、哪一版才是当前的。

### 助手讲这一版时，也按这个顺序讲

`① 选人 → ② 分人 → ③ 确认`。**顺序不能反**：选人那一档他一动，整版重出；先讲分法，他动一下就全白讲。

---

## 三、它由什么拼起来

```mermaid
flowchart TB
  subgraph P["提示词（常驻）"]
    direction TB
    P1["装置 · 你是谁"] --> P2["诚实 · 什么不许编"] --> P3["语气 · 怎么说话"] --> P4["角色 · 你伺候谁"] --> P5["现场 · 他此刻在做什么"]
  end

  subgraph T["工具（按角色发）"]
    T1["查"] --- T2["出方案"] --- T3["改单"] --- T4["追踪"]
  end

  subgraph O["每次出方案，程序给它"]
    O1["结构化事实<br/>怎么选的 / 怎么派的"] --- O2["引导节点<br/>还有什么要你定"]
  end

  P --> M(("助手"))
  T --> M
  O --> M
  M --> R["一段话 + 一张确认单 + 几个按钮"]

  style P fill:#e0e7ff,stroke:#6366f1
  style T fill:#ede9fe,stroke:#8b5cf6
  style O fill:#fce7f3,stroke:#ec4899
  style M fill:#fef3c7,stroke:#f59e0b
```

---

## 四、提示词分五层

**分层的依据是「什么会让它变」** —— 不是按话题分。

| | 层 | 管什么 | 什么时候会变 |
|---|---|---|---|
| ① | **装置** | 你是谁、你看不见什么 | 产品形态变 |
| ② | **诚实** | 数从哪来、什么不许编 | 几乎不变 |
| ③ | **语气** | 衔接、顺序、分寸、排版 | **可配置**（换一套人设即可） |
| ④ | **角色** | 他有什么权责、你不许替他决定什么 | 登录人的权限 |
| ⑤ | **现场** | 他此刻在做的那条业务线 | 加一条新业务线 |

**同一个助手，两种人看到两份提示词**：

```mermaid
flowchart LR
  L["主管登录"] --> R1["角色：主管的助手"] --> S1["现场：把一批人分给客服"] --> T1["工具：21 个"]
  C["客服登录"] --> R2["角色：客服的助手"] --> S2["现场：把手上的单打好"] --> T2["工具：9 个"]

  style L fill:#fef3c7,stroke:#f59e0b
  style C fill:#dbeafe,stroke:#3b82f6
```

前三层完全一样；后两层与工具清单**跟着登录账号走**。将来加排班、复盘，就是加第 ⑥ 条现场，前面四层一个字不动。

**次要的活不常驻**：分配追踪的做法写成单独一篇，提示词里只留一行索引，助手要用时自己去取。常驻上下文不为一件三成会话才用到的事买单。

---

## 五、它手上的工具

工具是助手唯一能做事的通道。**没有对应工具的事，它做不了，也不会假装做了。**

<Callout type="info">**两个人拿到的清单不一样** —— 不是靠提示词叮嘱它"别看别人的"，是那些工具**根本没发给它**。</Callout>

### 两种人都有

| | |
|---|---|
| **我是谁** | 我能管哪几家诊所、有什么权限 |
| **查患者** | 找人 · 全貌 · 画像 · 关键事实 · 这次为什么要联系他 |
| **看召回池** | 名单 · 数字概览 |

### 只有主管有

| | |
|---|---|
| **看人手** | 在岗客服名册 + 每人手上压着多少 |
| **看这批人构成** | 各画像维度各多少人（切之前先看，免得切完只剩三个） |
| **出方案** | 挑人 · 排客服 · 算引导节点，**一次算完** |
| **看当前确认单** | 他在卡片上动过手之后，助手看不见 —— 得查 |
| **改确认单** | 移出谁 · 改派给谁 · 改时效 · 设福利 |
| **摆卡片 / 摆按钮** | 决定确认单和选项按钮**落在正文的哪个位置** |
| **追踪** | 我分过哪几批 · 某批怎么样了 · 这个人为什么分给了他 |
| **撤销** | 限时收回整批 |

---

## 六、要他定的事，做成按钮

程序算出「这一版还有什么没定」，**摆成按钮**，不让主管打字。

```mermaid
flowchart LR
  subgraph S["确认单上的一条"]
    direction TB
    T["📌 182 人的专属客服这轮已排满"]
    W["为什么：他们有专属客服，但那位这轮排满了"]
    D["不处理 = 这批不发给他们"]
    B["［换无专属客服的患者补上］［铺平给在岗］［各自归专属］［移出本批］［我自己说］"]
    T --- W --- D --- B
  end
  style S fill:#fff7ed,stroke:#f59e0b
```

| 节点 | 什么时候出 | 不处理会怎样 |
|---|---|---|
| **待分配** | 有人的专属客服这轮排满了 | 这批不发给他们 |
| **换个条件选** | 这一格还能再切 | 就按整格来 |
| **本批人数** | 这批多大是系统估的 | 就按这个数发 |
| **打不完** | 最忙的那位手上超过时效能打的量 | 就按这个时效发，到期没打完的自动回池 |

**三条设计原则**：

| | |
|---|---|
| **只陈述事实** | ⛔ 不写「建议你铺平」—— 给建议就是替主管做决定 |
| **默认永远是"不动"** | 一条不点、直接确认，**在任何情况下都安全** |
| **有后果的全亮** | ⛔ 不许省、不许弱化成「另有若干」—— 藏一条，他就不知道有东西卡着 |

按钮和说话**走同一套动作**：他点按钮，和他开口说「把待分配的都还给专属客服」，落到程序里是同一件事。

---

## 七、红线

| ⛔ 绝不 | 为什么 |
|---|---|
| 报没查过的数字 | 曾对主管说「共 70 人，重要价值 4 人」，而工具一次没调，真值 278 / 97 |
| 说「已撤销」而没真撤 | 那 9 个患者还挂在客服名下，主管以为人已回池、不会再补救 |
| 说「已经分配好了」 | **点确认的是他的手**，助手只是把方案摆出来 |
| 把患者从他的专属客服手里挪走 | 关系层面的决定，只有主管能拍板 |
| 讲「成功率 / 转化率」 | 本系统**不统计成功与否**，那个结论编不出来 |
| 替他加福利的条件、期限、承诺 | 他说什么就原样写进去 |
| 说「我做不到」「你先自己弄完再说」 | 他能改的东西助手手上都有工具；把几十次手工操作推回去不是保护，是甩锅 |

---

## 八、怎么知道它没变坏

助手这层**天生有波动** —— 同一句话问两次，它未必走同一条路。所以验收不能只看"跑通了一次"。

```mermaid
flowchart TB
  L1["① 算法与取数<br/>挑人 · 落人 · 判据"] --> V1["单元测试<br/>过 / 不过"]
  L2["② 交接<br/>谁传什么、谁压过谁"] --> V2["契约测试<br/>过 / 不过"]
  L3["③ 助手行为<br/>该调的工具调没调"] --> V3["用例集跑批<br/>通过率"]

  style L1 fill:#d1fae5,stroke:#10b981
  style L2 fill:#e0e7ff,stroke:#6366f1
  style L3 fill:#fce7f3,stroke:#ec4899
  style V3 fill:#fef3c7,stroke:#f59e0b
```

**第 ③ 层的判据是「动作」，不是「文字」。** 同一个意思十种说法都对；而最贵的那类失败恰恰是**话说得挺好、工具一次没调**。

<Callout type="warn">**跑一次不算数。** 同一份配置跑 3 轮得到 1/3、跑 10 轮得到 9/10 —— 是同一个行为。判断"它是不是退步了"必须看多轮通过率。</Callout>

用例全部来自**真实踩过的坑**，每条都写明由来 —— 没有一条是设想出来的场景。改提示词、换模型、加工具之前后各跑一次，比的是通过率。

---

## 一句话总结

**主管做决定，助手把决定落成动作，程序保证数是真的。**

三者边界不靠自觉，靠**结构**：算得出来的不让它算，看不到的不发给它，做不了的不给工具。
