运维和实施同学最常遇到的情况是:客服系统买了、模型接好了,但答非所问,一查发现知识库就是几份 PDF 直接扔进去。这篇把知识库从整理、切分、入库到上线验收和后期维护串成一条可执行的流程,每一环给出判断标准和动作;如果你的资料本身机密性高、或者业务问答量很小,有些步骤可以省,文中会说明什么情况下不适用。
很多运维和实施同学的情况都差不多:客服系统买了,模型接口也通了,结果上线第一周就被业务方投诉答非所问。翻回去一看,知识库其实就是把几份 PDF 和 Word 直接扔进去,没有分块、没有版本、没有适用范围。这不是模型不行,是喂进去的东西不行。下面这条流程是按落地顺序排的,每一环都给出判断标准和该做的动作,照着走基本不会跑偏。
有一点先说清楚:如果你的资料本身机密性很高、动不动涉及客户名单和内部报价,或者业务问答量极小、屈指可数,那有些步骤可以直接省。前者建议只把脱敏后的部分入库,后者干脆别建库,把答案直接写进系统提示词更省事。下文会标明哪些环节可以跳过。
第一步:盘一遍资料来源,先分出能用和不能用
动手切片之前,先把手上所有材料摊开分类。不同来源的可信度和更新频率差很多,入库方式也不一样。这一步偷懒,后面检索出来的答案就会互相打架,机器人随机挑一个回答,客服再出来道歉,成本比现在多花半天高得多。
| 资料类型 | 可信度 | 处理方式 |
|---|---|---|
| 对外正式文档(产品说明、合同条款) | 高,但更新慢 | 定稿后整篇入库,标注版本 |
| 内部流程文档 | 中,措辞偏内部 | 改写成人话再入库,去掉内部代号 |
| 历史客服聊天记录 | 低,噪声大 | 只提取问法和答案要点,不整段入库 |
| 口头经验、群聊截图 | 最低 | 人工整理成问答对,找业务确认后再用 |
- 同一问题出现两份说法时,必须人工定稿只留一份,否则机器人会随机选一个回答
- 客户名单、内部报价、账号口令一律不进知识库,判断标准只有一条:这段内容能不能原样念给客户听
- 资料量极少(只有十几条常见问答)时,可以不建向量库,直接写进提示词或做关键词匹配,维护成本低很多
- 把明显过期、下架产品、作废政策的材料先挑出来,别指望系统自己判断新旧
第二步:把文档改成问答友好的结构
大段说明文对检索是灾难。模型拿到一整页制度说明,很难判断客户问的到底是其中哪一条。要把长文拆成「一个问题一个答案」的小块,每块自带标题和适用条件。拆得清楚,后面召回率自然上来。
- 拆成最小问答对把「退货要几天」和「大件退货要几天」分开写,各自独立成条,不要塞在同一段里靠上下文猜。
- 统一术语同一件东西不要一会儿叫 A 一会儿叫 B,客服嘴上怎么叫就在知识库里怎么写,否则检索匹配不上。
- 标注适用范围和生效时间涉及政策、时效、地区的条款单独标出来,后续只更新这一块,不用动整篇文档。
- 保留出处和版本号每条都记清楚来自哪份资料的哪一版,答错了能追到源头,这是排查问题的基本盘。
术语统一这件事经常被忽略。现实中同一功能在官网叫一个名字、工单系统里叫另一个、客服口头又是第三個,三种写法都要写进同义词里,不然客户用哪个词问都可能搜不到。
第三步:切片与入库,切多大切多小怎么定
切片的核心原则是按语义切,不要按字数硬切。一条答案本身就很短的,整条保留;长条款按小标题切成多条。每片最好补一句上下文说明,比如把「该产品」补成具体产品名,检索命中率会明显提高。
- 短答案整块保留,长条款按小标题拆,不要为了长度整齐强行截断句子
- 每片补主语和适用对象,让脱离原文后仍然能读懂
- 嵌入模型的中文表现和适用场景,到站内嵌入模型相关页面核对当时的说明,别只看一张榜
- 入库后别急着上线,先跑召回测试
召回测试的做法很简单:翻出 30 到 50 个客服真实被问过的问题,逐条丢进去看前几条结果里有没有正确答案。命中率低就先回去调切片和术语,不要第一反应换模型。大多数问题出在切得不好,不是模型不行。
召回测试记录表(每条一行):\n问题原文 | 期望命中的知识条目 | 实际返回前3条 | 是否命中 | 备注第四步:上线前的验收与兜底设计
知识库再准也会有答不上的时候,兜底设计决定用户体验是「稍微麻烦」还是「彻底失控」。验收要覆盖三类问题:高频问题、边界问题、资料里根本没有的问题。后两类必须能老老实实说「我不确定,帮你转人工」,绝对不能硬编。
| 问题类型 | 期望表现 | 不符合时的动作 |
|---|---|---|
| 高频问题 | 准确命中并给出完整答案 | 回去补切片和同义词 |
| 边界问题(条件特殊) | 答出限定条件或转人工 | 补充适用条件说明 |
| 知识库里没有的问题 | 明确说不确定并转人工 | 检查转人工触发是否生效 |
| 涉及金额、退款、投诉 | 直接转人工 | 调整关键词触发规则 |
转人工的触发条件建议至少覆盖三种:连续两轮没答对、用户明确要求转人工、出现退款金额或投诉类关键词。另外接口延迟要单独量一遍,知识库命中再准,检索慢一样影响体验,可以到站内接口测速相关页面量一条延迟基线再决定是否上线。
第五步:上线之后怎么维护,不烂尾
知识库最常见的死法是上线即巅峰,之后没人管。产品改了规则,机器人还按旧说法回答,客户越问越气。维护不是靠热情,是靠固定动作和明确责任人。
- 每周汇总没答对的问题,分成「资料缺失」「表述不清」「系统性问题」三类,前两类补资料,第三类调流程
- 资料更新指定责任人,产品改规则时同步改知识库,谁改谁记录
- 定期抽样复查已入库内容,删掉下架产品的条目,避免答出作废政策
- 每次调整前后拿同一批测试问题跑一遍,效果有没有改善一目了然,也方便交接
调整效果怎么量化,不用自己发明指标,去站内监控与日志相关页面看当时能拉到哪些数据,挑几个稳定的口径持续记录就行。重点不是指标多漂亮,而是同一批问题在改动前后有没有变化。
知识库不是一次性工程,它更像一份要长期维护的客服话术手册,谁维护、多久看一眼,比一开始搭得多漂亮更决定成败。下一步把你手上的问题清单和资料清单先对一遍,再去看站内模型与工具页面对照当前可选项,选型和切片参数心里就有数了。→
常见问题
知识库是不是越大越好?把公司所有文档都塞进去行不行?
不是。检索是从一堆片段里挑最相关的几条,噪声多了会把正确答案挤下去。做法是只放会被真正问到、且答案相对稳定的内容,其余留在人工那边。资料量少的时候反而准确率更高,先把高频问题覆盖好,再按缺口慢慢加。
没有专门的算法同学,这活运维能自己干吗?
大部分可以。整理资料、切分、标注适用范围、跑测试问题集这些都不需要写代码,属于流程活。需要判断的是向量模型和检索参数怎么选,可以先按站内嵌入模型页面给的场景说明挑一个,用真实问题测召回效果,不行再换,不必一开始就调复杂。
上线之后答错的投诉变多了怎么办?
先别关掉,按「资料缺失、表述不清、系统性问题」把错答分类。资料缺失就补内容,表述不清就改切片,系统性问题比如多轮追问丢失上文,就去看对话流程设计。同时确认转人工通道是通的,短期内把拿不准的问题全部导向人工,比硬撑更稳。