技能组

技能组(Skill Group)是呼叫中心路由的核心维度,将坐席和队列按能力分组。

1. 技能组概念

技能组 "sales"
  ├── 坐席 agent-001 (技能: sales, chinese, level: 8)
  ├── 坐席 agent-002 (技能: sales, english, level: 6)
  └── 坐席 agent-003 (技能: sales, japanese, level: 7)

队列 "sales-queue"
  └── 匹配技能组: sales
       └── ACD 按 skill_based 策略选最优坐席

2. 创建技能组

Call Center → 技能组 → 新建:

字段说明示例
ID唯一标识sales
名称显示名称销售组
技能标签该组具备的技能列表sales, chinese
描述备注国内销售团队

2.1 TOML 配置

# config/cc/skill_groups.toml
[[skill_group]]
id = "sales"
name = "销售组"
skills = ["sales", "chinese"]
description = "国内销售团队"

[[skill_group]]
id = "support"
name = "售后组"
skills = ["support", "chinese", "technical"]
description = "技术支持团队"

[[skill_group]]
id = "vip"
name = "VIP 组"
skills = ["sales", "chinese", "english", "vip"]
description = "VIP 客户服务"

3. 坐席技能

每个坐席可属于多个技能组,拥有独立的技能等级:

{
  "agent_id": "agent-001",
  "skill_groups": ["sales", "vip"],
  "skills": {
    "sales": 8,
    "chinese": 10,
    "english": 5,
    "vip": 7
  }
}

技能等级(1-10)影响 skill_based 策略的评分。

4. 技能组路由规则

4.1 基本路由

队列配置中指定匹配的技能组:

[[queue]]
name = "sales-queue"

[queue.agent_match]
skill_group = "sales"

4.2 多技能组

ACD 支持在溢出链中引用其他技能组:

[acd.policies.support.overflow]
chain = [
  { skill_group = { id = "senior" } },
  { skill_group = { id = "backup" } },
  "voicemail"
]

4.3 溢出模式(0.5+)

每个技能组都有自己的 overflow_mode,决定上面这条链的推进方式——replace(默认)、cumulative(原组与溢出组同时振铃)、sequential(在当前队列停留 threshold_secs 后按链顺序重新排入下一组)。完整行为矩阵见队列与 ACD → 溢出处理。

坐席卡死绑定在 0.5+ 有两道保险:自愈 watchdog 会释放对端已死亡的绑定;操作员可在控制台强制释放残留卡死绑定(POST /cc/stuck-bindings/force-release)。

4.4 精确匹配 vs 部分匹配

模式说明示例
require_exact_skill = false坐席至少匹配一个技能灵活,多技能坐席可跨组
require_exact_skill = true坐席必须匹配全部技能严格,仅匹配完全合格的坐席

5. 管理操作

操作API说明
列出技能组GET /cc/skill-groups所有技能组
创建技能组POST /cc/skill-groups新建
更新技能组PUT /cc/skill-groups/{id}修改
删除技能组DELETE /cc/skill-groups/{id}删除
导出配置POST /cc/skill-groups/export导出 TOML
重新加载POST /cc/skill-groups/reload从 TOML 重载
查看配置文件GET /cc/skill-groups/files列出 TOML 文件

6. 技能组与队列联动

入局呼叫 → 路由规则匹配 → 进入队列
                              │
                    队列配置 skill_group = "sales"
                              │
                    ACD 查找 sales 组的坐席
                              │
                    按 strategy_type 排序选择
                              │
                    过滤有容量的坐席
                              │
                    分配给最优坐席

修改技能组成员后,ACD 下次分配时自动使用最新配置,无需重新加载。