很多团队建智能客服知识库的时候,以为把文档传上去就完事了。上线第一天还行,到第三周就开始出怪事:同一个问题昨天答对了今天答错,新上线了一个产品规格但机器人还在念旧的,客户问了个拐弯的问题直接说"不知道"。

 

这不是大模型的问题。至少不全是。

 

问题出在知识库本身——文档怎么切、FAQ怎么整理、检索错了怎么修,这三件事没做扎实,上层的大模型再强也救不回来。


0bcdd35e-cb81-443b-848d-536805b6837a_1747813671536550184_origin~tplv-a9rns2rl98-image-dark-watermark.png


 

文档切片是知识库的底层质量门

 

RAG的基本逻辑不复杂:用户提问之后,系统先从知识库里检索相关片段,再把片段塞给大模型让它据此生成回答。切片质量直接决定检索质量——切太粗,一个片段塞进太多信息,检索出来的东西不精准;切太细,上下文断在奇怪的地方,大模型读不懂前因后果。

 

没有一种切法能打所有场景。

 

举个实际的例子。一家连锁酒店把取消政策文档传到知识库,原文是:

 

入住前24小时可免费取消。旺季预订(五一、国庆、春节)需提前72小时取消,否则扣首晚房费。团体预订(5间以上)取消政策以合同约定为准。

 

用固定Token切片按300个token一刀切,这段200多字的政策可能安然无恙地待在同一个切片里。但如果文档前面还有一大段"酒店简介和入住须知",固定token切下去,政策正文可能跟"WiFi密码"或者"早餐时间"被分到同一块——住客问"能不能免费取消",搜到的片段里既有取消政策也有早餐供应时间,大模型拿这些内容拼出来的回答可能前言不搭后语。

 

几种常见的切法,各有利弊:

 

固定Token切片——最常见的起点。按256到512个token(大约180到380个汉字)切一段。好处是简单,坏处是不管语义边界,可能在段落中间一刀砍断。适合内容相对独立、每段信息自成体系的文档,比如结构统一的FAQ列表或者产品参数表。不适合上下文依赖强的文本——刚才那个酒店政策的例子就是典型。

 

递归字符切片——按段落、句子、标点的优先级逐级往下切。先按nn(段落分隔)切,如果一段还太长,再按句号切。对大部分企业文档来说这是比较靠谱的默认策略。缺点是速度比固定切片慢一些,而且段落长度的标准差大的时候(比如前面一段50字,后面一段2000字),后面那段还是会被切成好几块。

 

基于文档结构切片——利用Markdown标题、HTML标签、PDF章节标记来做分割点。每个标题下面是一块独立的知识单元。这是信息损失最小的方式,但也有一个隐含前提:你的原始文档得有结构。很多企业拿出来的Word文件层级混乱,一级标题和二级标题混用,贴过来就碎的。

 

语义切片——让模型自己判断哪里该断。用语言模型理解内容,在语义自然边界处切断。效果理论上最好,但成本最高,速度也最慢。适合核心知识库——那种改一次要审好几天的关键文档——用语义切,周边的操作手册用递归切就够了。

 

工程实践里一个不算秘密的经验是:同一份文档用不同的切片策略跑两遍,对比两轮的检索命中率。如果相差超过15%,说明切片本身不稳定,得先改文档结构而不是调切片参数。

 

FAQ整理不是把问答对塞进去就完事

 

很多客服知识库里FAQ的现状是——几千个问答对堆在一起,问法稍有变形就匹配不上,然后转人工。技术上说这是一个标准的"检索面窄"问题,但根子在FAQ整理方式上。

 

拿一个电商退货场景来拆。客户问"衣服不合适能退吗""昨天收到的鞋子想退""退货流程是什么""怎么申请退款"——这些问法背后的意图都是"退货"。但如果知识库里只存了一条"退货流程"的FAQ,问"能退吗"的时候,检索系统可能匹配到的是"售后政策"而不是"退货操作",回复自然就偏了。

 

一个FAQ节点应该至少配3到5种问法。 "退货"这个节点至少配"能退吗""怎么退货""退款流程""收到不想要了""想退单"——五条问法挂到同一个标准答案上。问法来源不要靠运营猜,去翻真实会话记录。翻三个月的聊天记录就行——电商大促那段时间客户问法最杂,最能暴露覆盖缺口。

 

问法覆盖的常见策略:

 

1. 从历史会话里捞真实问法——拉过去三个月工单或聊天记录,把"退货"意图下的所有说法摘出来:口语化的("能退不")、带场景的("双十一买的能退吗")、带情绪的("质量不好退货")。去重、归类,每条标准答案配3到5种问法。

 

2. 分层归类,不做扁平列表——一级按业务场景分(售前/售后/物流/支付),二级按问题类型分(流程类/政策类/故障类/投诉类),每个叶子节点是一个FAQ。大模型时代的知识库仍然需要分类体系,只不过分类不决定检索路径,只决定维护归属——谁负责更新哪块知识,得按分类来分。

 

3. 定期用"零命中"会话做反哺——机器人说"不知道"的会话,每周拉出来看一遍。如果"能不能换货"这类问题连续两周出现、但知识库里只有"退货"没有"换货",说明知识覆盖有缺口。这不是AI的问题,是知识库运营流程的问题——少了一个FAQ节点。

 

FAQ整理里最容易被忽略的一个环节是更新管理。假设一家连锁品牌的免运费门槛从99元调到129元。你在知识库里改了运费FAQ的标准答案。但运费规则同时还出现在"下单流程说明""会员权益""常见售后问题"三篇关联文档里——它们没改。结果客户问"满多少包邮",机器人从运费FAQ里给出了正确金额;问"会员运费怎么算",机器人从没更新的"会员权益"文档里切片检索,报的还是99元。所以任何一条FAQ的改动,都应该触发它的关联文档重新切片和索引。这个动作在大多数知识库平台上不会自动发生,得加一条运营SOP。

 

检索纠错比想象中更需要运营

 

检索不准的表现分两种:一种是没召回(客户问了一个知识库里确实有的东西,但没匹配上),另一种是乱召回(匹配上了完全不相关的内容,大模型被迫用不相关的上下文编答案)。

 

没召回的常见原因和解决路径:

 

先讲一个真实的案例。一家快递公司的客服知识库里有一条FAQ叫"保价赔偿流程"——寄件时买了保价的包裹如果损坏,怎么申请赔偿。标准问法写的是"保价快件理赔流程"。但客户的实际问法是"保了价的包裹碎了怎么赔"。知识库上线第二天就炸了——检索系统没把这两个问法关联上,客户得到的回答是"抱歉,我还没有学会这个问题"。

 

这就是问法和知识库用语差异大的典型表现。解决路径有两条:一是对同一个FAQ加更多同义问法——把"保了价的包裹碎了怎么赔""保价包裹破损""买了保价怎么申请赔偿"都挂上去;二是让大模型先把用户的问法"翻译"成知识库能理解的表述再去检索——比如"碎了"转成"破损","赔"转成"理赔"。

 

另一个常见问题是切片边界把关键信息切断了。一家家电厂商的产品手册里写"本产品压缩机保修十年",翻页后接着写"压缩机以外部件保修三年"。递归切成句子的时候,这两句被分到两个切片里。客户问"保修多久",检索命中的是包含"压缩机保修十年"的切片,回答只说了十年。客户以为整机保修十年,过了三年就来找售后扯皮。加滑动窗口或者在关键边界做重叠切片,能减少这类问题。

 

向量检索的相似度阈值设不好也会出问题。阈值设低了——0.6以下——什么牛鬼蛇神都召回来,大模型从一堆噪音里挑信息,回答像大杂烩。阈值设高了——0.9以上——稍微换个说法就召不回。运营初期把阈值放到0.7到0.75左右,通过质检看被召回的垃圾内容,再用那些垃圾内容来反向调阈值,比拍脑袋设一个数靠谱。

 

乱召回的常见原因和解决路径:

 

• 不同业务域的文档在向量空间里距离太近——按业务域拆分知识库索引,检索时先限定域再搜。一个家电公司既卖空调又做维修服务,客户问"空调不制冷了",检索系统可能把"空调产品参数"和"空调维修流程"都召回来——如果参数文档在前、维修流程在后,大模型就会用参数来编维修方法。把"产品知识"和"服务知识"分两个索引,检索空调问题时先圈定服务域,乱召回就能降下来。

 

• 知识库里有旧版本文档没有归档——每次更新文档的时候,旧版本必须标记"已过期"或者直接移出索引。这不是技术问题,是文档版本管理的流程问题。很多知识库质量下降的拐点,就发生在第三次文档更新之后——因为旧版本还躺在索引里跟新版本抢排名。

 

回头看,命中分析可能是被最多团队忽略但最能出效果的工具。每周跑一次:用户问了什么、知识库召回了什么、用户有没有点击查看/机器人有没有采用这个结果。命中率偏低的那一批FAQ,要么问法太少,要么文档切片不精确,要么干脆就是答案本身写得不好需要重写。这条反馈链路跑顺了,知识库的质量才会从上线那天开始持续往上走,而不是往下滑。

 

合力亿捷在这几个环节上的做法

 

前面说的问题,在实际的产品里是怎么解决的?拿合力亿捷大模型知识库来拆一下。

 

假设你是一家连锁零售企业的知识库运营,每周要处理的售后政策更新少说五六条。以前的做法是:法务发一条新政策→你在FAQ库里手动改→没人告诉你要同步更新关联的"退换货流程"文档→过两天客户投诉说机器人给的运费抵用券金额不对。

 

文档上传之后,先经过知识解析,然后按语义边界做切片——意味着前面说的酒店取消政策"免费取消"和"旺季提前72小时取消"不会被分开塞到不同的切片里。切片进入向量库之后,RAG环节能引用原文片段并标注来源,客户看到"入住前24小时可免费取消"这条回答的同时,也能看到这句话出自酒店政策文档的第三章第五节。这对做质检的人来说是救命的功能——不用翻回原文去核对回答对不对。

 

FAQ管理上,合力亿捷把知识生命周期、命中分析和知识缺口识别做在一起。打开后台能看到哪些FAQ命中率高、哪些长期不被问到(可以考虑归档或合并)、哪些问题来了但库里没有答案。知识缺口的发现路径是质检VOC和Badcase反哺——机器人答错或者答不上的会话会被标记,运营确认后补充或修正对应知识。回到前面快递公司"保了价的包裹碎了怎么赔"那个案例——如果系统能把零命中会话标记出来,运营第二天就能看到覆盖缺口,不用等到客户投诉才知道。

 

检索纠错方面,合力亿捷知识库引用依据机制做了两件事:一是每次回答都附带知识原文的引用片段,方便人工核验;二是权限控制可以按团队、业务域设定不同人员能编辑哪些知识、不能编辑哪些。比如售后团队的运营只能改"退换货"和"退款"相关文档,碰不到"产品规格"和"价格政策"——减少误改的风险。

 

边界也说清楚:知识库的质量上限依然取决于输入文档的质量和运营投入。切片策略再智能,如果原始文档层级混乱、版本过期、术语不统一,检索结果不会自动变好。在这件事上的角色是让"发现问题→定位问题→修正问题"的链路更短,但不能替代"有人持续运营知识库"这件事本身。


机器人-调用知识库.jpg


 

知识库上线后应该持续做的三件事(但大多数团队只做了第一件)

 

第一件——建库的时候把文档传上去、FAQ配好——每个人都会做。

 

第二件——上线第一周盯着命中率看——只有一半的团队会做。

 

第三件——每个月做一次知识库健康度检查,把零命中会话拉出来归因、把旧版本文档清一遍、把切片边界不合理的文档重新处理——做到的可能不到两成。

 

这个检查清单可以拿去直接用:

 

举一个实际的月度检查例子。一家教育机构的客服团队发现过去30天的零命中会话里,"课程退费"出现了14次,"调课申请"出现了9次。查了一下,知识库里有"退费流程"的FAQ,但问法只配了"怎么退费"和"退款流程"两种,没有配"不想上了能退吗""课程退费"——加两种问法后,次月的零命中次数降到了3次。

 

"调课申请"的情况不同——根本就没这个FAQ。运营团队一开始没做是因为觉得"调课的人少",连续两周被机器标记为"零命中"才意识到调课是刚需。补上这个FAQ之后,人工客服的转接量降了约一成。

 

这就是月度检查的节奏——从数据里挖缺口,而不是等业务部门喊"机器人不好用"再排查。

 

完整的检查清单:

 

• 过去30天零命中的会话里,有没有连续出现的主题?有的话补FAQ。

 

• 最近一个月更新过的文档,对应的旧版本有没有移出索引?没有的话现在去移。

 

• 命中率排名倒数的20个FAQ,是被问得少还是被问到了但匹配不上?前者说明这个问题不重要可归档,后者说明它的问法覆盖不够或切片太粗。

 

• 同义词和纠错词库最近三个月有没有更新过?行业术语每年都会变,不更新的词库就是无声的债务。

 

常见问题

 

Q: 知识库文档切片是切得越细越好吗? A: 不是。切片太细会导致上下文信息丢失,大模型拿到片段后读不懂前因后果。事实性问答256-512 token是相对稳妥的范围,需要推理的长文本可以到1024以上。

 

Q: FAQ配多少种问法才算够? A: 至少3到5种覆盖常见说法。问法来源建议用历史会话记录里的真实问法,不要靠运营人员猜测。分类按业务场景分,不比做成扁平列表。

 

Q: 知识库更新后机器人回答没有同步更新怎么办? A: 确认更新后的文档是否重新执行了切片和索引流程。很多平台的切片和索引不会自动触发,需要手动或通过API触发重建。同时检查旧版本文档是否还在索引中。

 

参考来源

 

• Gartner,《Level Up Knowledge Management for Customer Service and Support》,2026

 

• 中国信通院,《2025年人工智能发展白皮书》

 

• 53AI,《2026年RAG技术全面解析》,2026