先说结论:客服机器人答非所问,九成不是模型笨,是意图分类那一层没做对。用户说"我这单不想要了",到底是退款、退货、还是改地址?分不清,后面的话术全错。

我做前端的,去年被拉去给公司的售后客服搭一个分流的小助手。一开始的想法很朴素:写一堆关键词,命中"退"就走退货流程。结果上线第二天就翻车——有个用户打字"退订一下短信营销",被我那套关键词稳稳判成了"退货申请",机器人热情地问他要快递单号,人都麻了。

关键词匹配这条路,做客服意图基本走不通。中文表达太活,"不要了""能退吗""我后悔了""帮我取消"指的可能是同一件事,也可能完全不是。

后来我换思路,不写规则了,直接让大模型来分意图。流程拆成两层:

  1. 第一层只干一件事——把用户这句话归到固定的几个意图标签里(退款/退货/物流查询/改地址/人工)。输出我强制要求只回标签,不准多说。

  2. 第二层再按命中的标签走对应的话术和取数逻辑。

这套我是在一个能拖拽配节点的平台上搭的,没写后端。意图分类那个节点我喂了大概 30 条真实的客服对话当例子,标签就五个。它内部怎么调模型、怎么解析我不管,我只管在画布上把"分类节点 → 不同分支"连起来。半天搭完,比我之前那堆 if-else 干净多了。

【配图建议:../img/01_workflow.png】

讲两个踩的坑,不然显得太顺:

一是边界意图。"我要退款,顺便问下还没发货为啥扣了我钱"——这句里头退款和物流查询都沾。模型有时候只抓前半句。我的土办法是允许它返回主+次两个标签,主标签走流程,次标签塞进回复末尾补一句"另外您问的扣费问题…"。不完美,但比漏掉强。

二是阈值。分类节点其实会给个置信度,低于某个值我就直接转人工别硬答。这个值我从 0.7 慢慢调到 0.82,太高了人工压力大,太低了乱答挨投诉。没有标准答案,看你们客服团队能扛多少转人工量。

还有个小细节,标签别设太多。我一开始贪心搞了 12 个意图,模型经常在相邻的两个里反复横跳。砍到 6 个之后准确率肉眼可见地上去了。意图分类这事,少即是多。

现在这套小助手帮我们挡了大概六成的常见咨询,剩下复杂的才转人工。前端出身能独立搭完,主要靠那种拖一拖就能配好分类和分支的工具,省了我求后端排期。

(模型那块我直接用了讯飞的 MaaS,现成的大模型 API 调,没自己部署推理服务。)

Logo

电商企业物流数字化转型必备!快递鸟 API 接口,72 小时快速完成物流系统集成。全流程实战1V1指导,营造开放的API技术生态圈。

更多推荐