从模型驱动,到策略驱动:客服系统的必经之路

当客服系统开始出问题,大家第一反应总是“模型不够好”

如果你参与过真实的客服系统项目,你一定对下面这个场景不陌生。

 

模型上线后,陆陆续续出现一些问题:

  • 话说得太满

  • 不该答的问题也答了

  • 某些边界情况回答很危险

  • 用户开始“钻空子”

 

于是会议室里自然会出现这些讨论:

  • “模型理解还是不够准。”

  • “要不要再微调一版?”

  • “是不是参数还能再调一下?”

 

在项目早期,这种反应是正常的。

但如果一个客服系统已经跑了一段时间,问题仍然被不断归因到模型,那通常说明一件事:

 

系统走错方向了。

 

因为客服系统真正的挑战,从来不是“能不能回答”,而是:

 

该不该答、怎么兜底、错了怎么办。

 

一个必须先接受的现实:客服系统的目标,不是“答得多”,而是“少出事”

很多团队在设计客服系统时,潜意识里有一个非常危险的目标:

 

“让模型尽量把问题都解决掉,减少人工。”

 

这个目标在 PPT 上很好看,

但在真实世界里,几乎一定会翻车。

 

因为客服系统面对的是:

  • 权益

  • 责任

  • 合规

  • 情绪

 

这些东西,任何一个出问题,都不是“模型再聪明一点”能补救的

 

成熟客服系统的真实目标其实是:

 

在尽量自动化的前提下,把风险压到最低。

 

这意味着:

宁可少自动处理一些问题,也不能让模型“自由发挥”。

 

模型驱动客服的本质问题:你让概率系统承担了确定性责任

我们先把“模型驱动客服”这个概念拆清楚。

 

所谓模型驱动,通常意味着:

  • 用户问题 → 模型理解

  • 模型判断 → 模型生成答案

  • 模型输出 → 直接给用户

 

也就是说,模型既负责“理解”,又负责“决定”,还负责“表达”

 

这在 demo 阶段非常爽,但在真实业务里有一个致命问题:

 

模型是概率系统,但客服决策是确定性责任。

 

模型可以:

  • 概率性地理解语义

  • 概率性地生成答案

 

但它不能:

  • 为错误退款负责

  • 为违规承诺负责

  • 为用户损失负责

 

只要你让模型直接决定结果,

你就已经把系统的责任交给了一个不具备责任能力的组件

 

客服系统真正的分水岭:开始把“判断权”从模型手里收回来

所有成熟客服系统,都会在某个阶段做同一件事:

 

把“判断权”从模型手里收回来。

 

这并不是“模型不行了”,

而是系统开始意识到:

  • 模型适合做“理解和表达”

  • 系统必须做“判断和约束”

 

于是系统开始出现“策略层”。

 

什么是策略驱动?不是规则堆砌,而是责任分层

很多人一听“策略驱动”,就会联想到:

  • 一堆 if-else

  • 一堆黑名单

  • 一堆规则代码

 

但真正成熟的策略驱动,并不是简单的规则堆,而是:

 

明确每一个决策点,谁负责,失败了怎么办。

 

在策略驱动的客服系统里,通常会出现这样的结构:

  • 模型负责理解问题和生成候选回复

  • 策略层负责判断:

  - 能不能答

  - 要不要转人工

  - 是否触发风险

  - 是否需要固定话术

 

模型不再是“最终裁决者”,

而是“建议提供者”。

 

picture.image 模型驱动 vs 策略驱动 架构对比图

 

一个非常关键的转变:从“模型兜底”到“策略兜底”

模型驱动系统里,最常见的一种设计是:

 

“如果前面的规则都没命中,那就交给模型。”

 

这看起来很合理,

但在客服系统里,几乎是灾难级设计

 

因为这意味着:

  • 最模糊

  • 最复杂

  • 最危险

 

的问题,最后都交给了模型。

 

而策略驱动系统,正好是反过来的:

 

**模型只在“低风险、可控范围内”发挥;

高风险场景,系统要么拒绝,要么转人工。**

 

这不是削弱模型,而是在保护系统

 

为什么策略驱动反而能“释放”模型能力

这是一个很多人一开始想不通,但后面都会认同的点。

 

当你让模型:

  • 不用背合规锅

  • 不用背退款责任

  • 不用背异常场景兜底

 

模型反而可以:

  • 在解释、安抚、引导上发挥得更好

  • 输出更自然

  • 表达更一致

 

你会发现:

 

**模型一旦不需要承担“后果”,

它的表现反而更稳定。**

 

客服系统里的典型策略职责划分

在真实工程里,成熟的客服系统通常会把责任拆成这样:

  • 输入是否合法 → 策略层

  • 是否允许自动回复 → 策略层

  • 是否涉及资金 / 权限 → 策略层

  • 是否需要人工 → 策略层

  • 如何用自然语言表达 → 模型

 

模型只负责“怎么说”,

系统负责“能不能说”。

 

picture.image 客服系统责任分工图(策略层 vs 模型层)

 

为什么“再微调一版”往往是客服系统的假解法

当客服系统已经进入策略驱动阶段,

很多问题会自动暴露一个事实:

  • 问题不是模型不准

  • 而是策略没兜住

 

如果你这时候选择:

  • 再微调模型

  • 再喂规则

  • 再调参数

 

你其实是在:

 

用模型去弥补系统设计的空洞。

 

这会导致:

  • 模型越来越复杂

  • 行为越来越难解释

  • 风险越来越隐蔽

 

而真正的解决方式,往往是:

  • 增加一个明确策略判断

  • 或干脆不自动处理这一类问题

 

一个非常重要的判断信号:你是否开始“限制模型使用场景”

当客服系统真正成熟时,你会发现一个明显变化:

  • 模型的调用次数未必增加

  • 但每一次调用都更“安心”

 

因为系统已经明确了:

  • 哪些问题可以交给模型

  • 哪些问题模型永远碰都不该碰

 

如果你还在追求:

 

“让模型尽量多回答一些问题”

 

那你其实还停留在模型驱动阶段。

 

一个工程自检问题(非常好用)

你可以问团队一句话:

 

如果模型在这个场景下答错了,我们是否能接受?

 

  • 如果不能接受 → 不该让模型决定

  • 如果可以接受 → 模型才有资格参与

 

这句话,几乎能瞬间暴露系统设计是否成熟。

 

一个简化但真实的客服系统演进示意

 


初期:

用户 → 模型 → 回复

 

中期:

用户 → 模型 → 策略兜底 → 回复 / 转人工

 

成熟期:

用户 → 策略判断

     → 可自动处理 → 模型生成

     → 高风险 → 人工 / 固定流程

 

你会发现:

模型的位置越来越“靠里”,系统越来越“靠外”。

 

很多客服系统之所以迟迟无法稳定上线,并不是模型能力不足,而是始终停留在“模型驱动”的阶段。用LLaMA-Factory online把模型微调、策略判断、风险评估拆开验证,能更清楚地看见:哪些问题该继续优化模型,哪些问题已经必须交给策略和系统来兜底。

 

总结:客服系统的终点,不是“更聪明的模型”,而是“更清晰的责任边界”

我用一句话,把这篇文章、也把你整个系列收住:

 

**客服系统真正成熟的那一天,

不是模型无所不能,

而是模型终于只做它该做的事。**

 

从模型驱动,到策略驱动,

不是技术倒退,

而是工程觉醒。

 

当你走到这一步,你会发现:

  • 模型更稳定了

  • 风险更可控了

  • 团队反而更敢上线了

 

因为你终于不再指望一个概率模型,

替整个系统承担责任。

0
0
0
0
评论
未登录
暂无评论