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 秒实验
- 把你们最常被问的十个问题抄下来,各配三个关键词。配不出来的那条,说明你不知用户怎么说。
- 把现有 FAQ 分两堆:一字不差的、可以改写的。分完就知道哪些该进表。
- 想一遍:如果运营明天要改一条答案,你们现在要走几步?超过三步就该挪到表里。
常见误区
- 「有知识库了还要表干什么。」长文档进库,短答案进表。两回事。
- 「指令开放给所有人方便。」客户打一行就能看到全部标准答案,包括没上线的。
- 「表建好就不用管了。」没有 hits 和 miss,你永远不知道哪条该改。
自测三问(点开对答案)
1. FAQ 表哪一列是接住口语的关键? —— keywords。用户不会照标准问法说话,靠关键词把他接住。 2. 什么内容该进表,什么该进知识库? —— 要一字不差的进表,要理解归纳的进库。判据是有没有唯一正确写法。 3. 为什么运营指令要和客户分开? —— 不分开的话客户能直接查到全部标准答案,包括还没上线的那几条。表建好了,下一节配节点去读写它。三种查法,一种比一种宽。
- ☐ (本篇完,下一篇 13.5 多维表格交互节点配置)
相关笔记
- 产品相关问题处理模块:上一节的产品问题支路
- 为什么需要企业知识库:表格和知识库的边界
- 多维表格交互节点配置:下一节配读写节点
- 🐦 扣子开发 AI Agent · 索引