🐦 第13章 实战案例:智能客服
📄 一句话概括

客服的咨询大致三类:产品问题六成、通用问题两成半、答不上来一成半。 这个比例是本课估的,各家不一样。 三类要三条路:知识库检索加生成、FAQ 表直出、转人工。混在一起答,三类都答不好。 拿口语问题去算字面相似度,最高才 0.16。这一章判「有没有」,不判「像不像」。

📝 本章和前面几章的关系

前面五个案例都只有一条主线,这个案例第一次要同时照顾三种产出。 它用到的东西前面都讲过:知识库(第 5 章)、表格(第 7 章)、提示词(第 6 章)、 输出节点(第 3 章)。这一章不再教新零件,只教怎么把它们排成一条客服流水线。 另外多了两样前面没碰的:对话流的多轮记忆、飞书多维表格当知识源。

一、三类问题,三条路

类型 占比(本课估) 例子 怎么处理
产品问题 60 能保温多久、能不能退 知识库检索 + 生成
通用问题 25 几点上班、发什么快递 FAQ 表查固定答案
答不上来 15 老板是谁、给个内部价 转人工并记下来

三条路的分工不是按难度分的,是按答案有没有唯一正确写法分的。 「会员九五折」只有一个正确写法,交给模型生成就可能被写成「九折」。 「保温多久」有十种说法都对,反而必须生成。 第三类最容易被忽略。答不上来不丢人,答不上来还硬答才丢人。 而且这类问题记下来,就是下一版知识库的原料。

二、知识库能覆盖多少

本课的知识库只有五段产品说明。 拿六句话去问,前五句在文档里都能找到对应的词,第六句(问老板)一个词都不沾。 但字面相似度给的分数很低:最高 0.16,最低 0.00。 原因是短问句碰长段落,重合的那几个词被句子长度冲淡了。 所以这一章判「文档里有没有用户说的那个词」,不判「分数像不像」。 真机上这一列由向量检索给分,数字会好看得多,可阈值这件事一样逃不掉。

阈值那条线比检索精度重要:低于它的不答,转人工。这条定不下来,后面全是空谈。

三、流程写在链里,答案放在表里

存哪 怎么改 谁改
FAQ 写死在提示词里 改一条要改提示词、重发版 运营改不了
FAQ 放进在线表格 运营直接在表里改 改完即时生效

客服这块最常变的是答案,不是流程。 「营业时间改成早十点」「快递换成中通」,这类改动一个月一次,流程半年不动。 把变的那部分挪出去,运营就不用等技术排期。 这是第 13.4 节整节在讲的事。 反过来说,流程也别写成硬编码。分支条件、意图关键词这些,一样会变。

四、这一章七节的顺序

节 干什么
13.2 建对话流,配意图识别
13.3 产品问题那一条:改写、检索、生成
13.4 飞书多维表格:FAQ 表怎么建
13.5 多维表格交互节点:怎么读写这张表
13.6 输出节点:用户看到的那段话怎么拼
13.7 知识库:把表格也喂进去
13.8 非产品问题:兜底那条路
13.9 完整测试:二十句跑两遍
13.10 发布、授权、FAQ 自动更新

顺序不是按重要性,是按搭建顺序:先建骨架(13.2),再填两条支路(13.3、13.8), 中间把表配好(13.4~13.7),最后测和发(13.9、13.10)。 照着这个顺序做,每一步都能单独测。 反过来先做知识库,做完不知道接在哪,调起来没头绪。

五、人工客服的账

环节 每个咨询耗时(本课估)
看问题、判断类型 10 秒
查资料、写回复 60 ~ 120 秒
转交、记录 20 秒

取中位算,一个问题两分钟。一天一百个咨询是三点三小时——够一个人全职干半天。 这三个数是本课估的量级,不是实测。要说的是:客服的成本在「重复」,不在「难」。 重复的部分交给机器,人只管那 15%。这也正是三类要分开的原因。

六、动手 Demo:三类问题,三条路

先列三类的占比和各走哪条路,再拿六句话去问五段产品说明,看分数到底能不能用。 最后对比「FAQ 写进提示词」和「FAQ 放进表格」两种做法。

QS = [(u'这个杯子能保温多久', u'保温'), (u'能不能退货', u'退货'),
      (u'盖子能拆下来洗吗', u'杯盖'), (u'下单多久能到', u'送到'),
      (u'会员有什么优惠', u'会员'), (u'你们老板是谁', u'老板')]

for q, k in QS:
    sc = Q.retrieve(q, DOCS, top=1)[0][0]   # 字面相似度
    has = k in u''.join(DOCS)                # 文档里有没有这个词

实跑输出:

--------------------------------------------------------------------
三类问题,三条路
--------------------------------------------------------------------


  ① 一天一百个咨询,都是什么
  --------------------------------------------------------------------

| 类型 | 占比(本课估) | 例子 |
|---|---|---|
| 产品问题 | 60 | 这个保温杯能保温多久、能不能退 |
| 通用问题 | 25 | 你们几点上班、发什么快递 |
| 答不上来 | 15 | 你们老板是谁、能不能给我内部价 |

  三类里只有第一类值得建知识库。第二类写几条固定话术就够,第三类必须转人工。
  把三类分开处理,是这一章全部设计的起点。 混在一起答,只会三类都答不好。

  ② 三条路各管什么
  --------------------------------------------------------------------

| 类型 | 怎么处理 | 要求 |
|---|---|---|
| 产品问题 | 知识库检索 + 大模型生成 | 答案要有出处 |
| 通用问题 | FAQ 表里查固定答案 | 答案要一字不差 |
| 答不上来 | 转人工,并把问题记下来 | 答案要诚实 |

  第二类用表不用知识库,因为固定答案不需要生成。生成会改写,改写就可能出错。
  第三类最关键:答不上来要认,还要把问题记下来——这是第 13.10 节「FAQ 自动更新」的入口。

  ③ 知识库能覆盖多少
  --------------------------------------------------------------------

| 用户问的 | 字面分 | 文档里有没有这个词 |
|---|---|---|
| 这个杯子能保温多久 | 0.16 | 有 |
| 能不能退货 | 0.10 | 有 |
| 盖子能拆下来洗吗 | 0.00 | 有 |
| 下单多久能到 | 0.11 | 有 |
| 会员有什么优惠 | 0.10 | 有 |
| 你们老板是谁 | 0.00 | 没有 |

  字面分这一列全在 0.16 以下,最高的一句才 0.16。
  短问句碰长段落,字面重合被句子长度冲淡了,这个分数排不出先后。
  所以第二列只看一件事:文档里有没有用户说的那个词。前五句有,第六句(问老板)没有。
  真机上这一列由向量检索给分,数字会高得多,但阈值这件事一样逃不掉——低于它的不答,转人工。

  ④ 为什么要一张表
  --------------------------------------------------------------------

| 存哪 | 怎么改 | 谁改 |
|---|---|---|
| FAQ 写死在提示词里 | 改一条要改提示词、重发版 | 运营改不了 |
| FAQ 放进在线表格 | 运营直接在表里改 | 改完即时生效 |

  客服这块最常变的是答案,不是流程。流程写在工作流里,答案放在表里。
  这条分工定下来,运营就不用等技术排期了。第 13.4 节整节都在讲这张表。

①第一张表三类占比:产品 60、通用 25、答不上来 15,本课估的量级。 ②第二张表三条路各管什么:只有产品问题要生成,其余两个都不能生成。 ③第三张表六句话的字面分:最高 0.16,最低 0.00,这一列排不出先后。 ④第五列改判「文档里有没有这个词」:前五句有,第六句没有。 ⑤第六句问老板,分数 0.00、词也没有,只能转人工——这是设计好的第三条路。

30 秒实验

  1. 把最近一周的真实咨询抄二十条下来,按三类打标。你的比例和 60 / 25 / 15 差多少?
  2. 从「答不上来」那堆里挑五条,看看它们该进知识库还是该改产品页面。
  3. 写一条判定规则:什么样的答案必须一字不差,什么样的可以生成。写不出来说明还没想清。

常见误区

  1. 「三类混在一起答,模型自己会判断。」判得越多越不准,而且判错了你不知道。
  2. 「分数低说明检索坏了。」短问句碰长段落,0.16 是常态,不是故障。
  3. 「转人工是失败。」它是设计好的第三条路。答不上来还硬答才是失败。
自测三问(点开对答案) 1. 三类问题按什么分? —— 按答案有没有唯一正确写法。有唯一写法的进表直出,没有的才交给模型生成。 2. 为什么字面相似度只有 0.16? —— 短问句和长段落重合的词少,被句子长度冲淡了。所以这一章改判「有没有」而不是「像不像」。 3. 转人工为什么要把问题记下来? —— 它是下一版 FAQ 的原料。不记,同一批问题会一直被转人工。

思路定了,下一节建对话流。它和前面五章的工作流不是一回事——它有记忆。

相关笔记