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

FAQ 表五列:id、问题、答案、关键词、命中次数。第四列关键词是接住口语的那一列。 要一字不差的答案进表,要理解归纳的进知识库。这个分工一开始就要定。 表的意义不在技术,在运营能自己改——加一条 FAQ 不用走需求、改版、发布。

📝 本章和前面几章的关系

这一节对应书上三个小节:飞书多维表格设置、FAQ 表设置、机器人指令配置。 「多维表格」就是飞书里的在线表格,可以按列设类型、可以开 API。 它跟 Excel 的区别是它是个数据库,不是个文件。 本沙箱没有飞书账号,这一节的表用真 sqlite 建,字段和查法一模一样。

一、五列,各管一件事

列 类型 干什么
id 整数 主键,机器人按它改
question 文本 标准问法,给运营看的
answer 文本 标准答案,原样返回
keywords 文本 关键词,逗号隔开
hits 整数 被命中几次

第四列是关键。 用户不会照标准问法说话,靠关键词接住他——「能退款吗」接不住「支持退货吗」这条, 除非关键词里有「退款」。 第五列是给运营看的报表:哪个问题问得最多,就知道哪条答案该写细; 哪个一次没被问过,可能就是问法没人看得懂。 两列都不是给程序用的。 一张运营维护的表,得有点让运营看得见的东西。

二、为什么不用知识库

存哪 适合什么 特点
知识库 长文档、要检索、要归纳 答案会被改写
FAQ 表 短答案、要一字不差 答案原样返回

「券后价 199,送杯刷」这种答案不能改写。改一个字,价格就错了。 「保温多久」这种反过来:有十种说法都对,交给模型生成更自然。判据是有没有唯一正确写法。 这条分工要在建库之前定。定晚了,同一批内容两边都有,改了这边忘那边。

三、指令是给运营的,不是给客户的

指令 干什么
/faq add 问题 答案
/faq list 看最近二十条
/faq hit 3 看第 3 条被问了几次

这三条指令要在授权时分开放:运营能下发指令,客户只能问问题。 分不开的后果很直接:客户打一句「/faq list」,就能看到你们所有的标准答案,包括还没上线的那几条。 飞书里这件事靠「谁能进这个群」解决,不靠代码。所以第 13.10 节讲授权时,还会再提一次这条边界。

四、三件事都不需要开发参与

什么时候 谁做什么
新产品上线 运营加五条 FAQ
价格变了 运营改答案里那个数
发现答不上来 运营看 miss 表,补一条

这才是把 FAQ 放表格的全部意义。 如果放在提示词里,三件事都要走一次需求、改一次版、发一次。 运营等不起,最后就变成「先不改了」。 反过来说,如果你们没有运营这个角色,谁维护都一样,那放表格的好处就只剩「不用发版」。 这也是好处,只是没那么大。

五、飞书这边怎么建

建表五步:新建多维表格 → 建五个字段(id 数字、question 文本、answer 文本、keywords 文本、 hits 数字)→ 录入五条 → 添加文档应用并给读写权限 → 复制表格 URL。 第四步不给权限,节点里会一直报「无权限访问」,而不是「找不到表」。 这两种报错要分清:前者去查授权,后者去查表 ID。 权限要选「可编辑」。 只给「可阅读」的话,hits 加不上去、miss 也写不进去,当时不报错,一周后才发现表里全是 0。

第五步那个 URL 里带着表格的 token,别贴到公开的地方——拿着它就能读写你们整张表。 这段是平台原样,本沙箱不执行。下面的 Demo 用 sqlite 建同一张表,字段名和查法一一对应。

六、动手 Demo:FAQ 放进表格,是为了让运营能改

先看五列各管什么,再对比「放知识库」和「放表」两种存法。 最后列三条给运营用的指令,和三种不需要开发参与的改动。

FAQ = [(1, u'能保温多久', u'装满热水能保温 12 小时,采用 316 不锈钢内胆。',
        u'保温,多久,时长', 0),
       (2, u'支持退货吗', u'支持七天无理由退货,十五天内质量问题可换新。',
        u'退货,退款,七天', 0)]

实跑输出:

--------------------------------------------------------------------
FAQ 放进表格,是为了让运营能改
--------------------------------------------------------------------


  ① 一张 FAQ 表长什么样
  --------------------------------------------------------------------

| 列 | 类型 | 干什么 |
|---|---|---|
| id | 整数 | 主键 |
| question | 文本 | 标准问法 |
| answer | 文本 | 标准答案 |
| keywords | 文本 | 关键词,逗号隔开 |
| hits | 整数 | 被命中几次 |

  第四列 keywords 是关键。用户不会照标准问法说话,靠关键词接住他。
  第五列 hits 是给运营看的:哪个问题问得最多,就知道该重点维护哪条。

  ② 为什么不用知识库
  --------------------------------------------------------------------

| 存哪 | 适合什么 | 特点 |
|---|---|---|
| 知识库 | 适合长文档、要检索 | 答案会被改写 |
| FAQ 表 | 适合短答案、要一字不差 | 答案原样返回 |

  「券后价 199,送杯刷」这种答案不能改写。改一个字,价格就错了。
  要一字不差的进表,要理解归纳的进知识库。 这个分工要一开始就定。

  ③ 机器人指令
  --------------------------------------------------------------------

| 指令 | 干什么 |
|---|---|
| /faq add 问题 | 答案 | 新增一条 |
| /faq list | 看最近二十条 |
| /faq hit 3 | 看第 3 条被问了几次 |

  指令是给运营用的,不是给客户用的。这条边界要在授权时分开:运营能下发指令,客户只能问问题。

  ④ 表谁维护
  --------------------------------------------------------------------

| 什么时候 | 谁做什么 |
|---|---|
| 新产品上线 | 运营加五条 FAQ |
| 价格变了 | 运营改答案里那个数 |
| 发现答不上来 | 运营看 hits 里空的,补一条 |

  三件事都不需要开发参与。这才是把 FAQ 放表格的全部意义。
  如果放在提示词里,三件事都要走一次需求、改一次版、发一次。运营等不起。

①第一张表五列:question 给运营看,keywords 接口语,hits 是报表。 ②第二张表对比知识库和 FAQ 表:判据是有没有唯一正确写法。 ③三条机器人指令,要在授权时和客户隔开。 ④第三张表三种改动:都不需要开发参与,这才是放表格的意义。 ⑤第二节那句话最好记:券后价 199 这种答案,改一个字就是事故。

30 秒实验

  1. 把你们最常被问的十个问题抄下来,各配三个关键词。配不出来的那条,说明你不知用户怎么说。
  2. 把现有 FAQ 分两堆:一字不差的、可以改写的。分完就知道哪些该进表。
  3. 想一遍:如果运营明天要改一条答案,你们现在要走几步?超过三步就该挪到表里。

常见误区

  1. 「有知识库了还要表干什么。」长文档进库,短答案进表。两回事。
  2. 「指令开放给所有人方便。」客户打一行就能看到全部标准答案,包括没上线的。
  3. 「表建好就不用管了。」没有 hits 和 miss,你永远不知道哪条该改。
自测三问(点开对答案) 1. FAQ 表哪一列是接住口语的关键? —— keywords。用户不会照标准问法说话,靠关键词把他接住。 2. 什么内容该进表,什么该进知识库? —— 要一字不差的进表,要理解归纳的进库。判据是有没有唯一正确写法。 3. 为什么运营指令要和客户分开? —— 不分开的话客户能直接查到全部标准答案,包括还没上线的那几条。

表建好了,下一节配节点去读写它。三种查法,一种比一种宽。

相关笔记