日期:2026-09-23
这家集团的知识库一开始是一锅炖,几十个业务域的文档全丢进同一个向量库,从 HR 制度到研发规范到售后政策什么都有。上线后客服最头疼,问一句售后退换政策,系统偏偏召回了一堆研发的设计文档,答出来的东西驴唇不对马嘴,客户投诉说你们自己人都说不清。我们也试过单纯加大重排模型的权重,效果有但不明显,因为噪声源是域混装,重排再怎么调也架不住源头就乱。问题摆在那:知识库不是越大越好,混在一起只会互相污染,得先把路router 做出来。
一锅炖的知识库上线大半年,客服团队的意见一直很大,明明问的是自己域的问题,系统总召回一堆无关域的文档,重排再努力也救不回源头噪声。我们也试过加大向量库规模想用覆盖换准确,结果库越大噪声越多,典型的饮鸩止渴。安全团队还提过一个隐患,新员工能搜到研发域的敏感资料,权限问题也得一起解决。
改造思路是在检索前加一层查询路由,用户提问进来,先判断它属于哪个业务域,再决定去哪个子库检索,必要时做跨子库融合。比如问售后政策,路由直接指向售后子库,根本不会去碰研发文档。子库是动态选择的,不是写死映射,而是用一个轻量的意图分类模型,配合历史点击数据持续校准。跨域的模糊问题才走融合检索,并且按域隔离权限,员工只能看到自己被授权的子库内容。权限收敛也顺带解决了合规风险,以前一锅炖时新员工能搜到不该看的研发资料,现在路由层就把门关了。
路由上线后,员工提问先过意图识别,明确域直接锁定对应子库,比如问考勤就只搜 HR 子库,根本不会碰到研发。模糊问题才走融合,并且按域隔离权限,员工只能看到被授权的子库内容,合规风险顺手解决。子库是动态选择的,不是写死映射,靠轻量分类模型加历史点击持续校准,业务域调整了路由也能跟着变,不用改代码。
查询意图域识别是路由的核心,我们没有一上来就上大模型,而是先用关键词加小模型做粗分类,覆盖八成以上的明确问题,剩下模糊的再交给大模型判,成本和准确性能兼顾。子库动态路由最难的是边界模糊的查询,比如"系统登录不了"既可能是 IT 也可能是安全域,我们用历史点击反馈做纠偏,哪次路由错了,用户点了别的域的结果,这个信号就回流训练分类器。跨域融合排序要控制噪声,我们设了域置信度阈值,低置信才融合,高置信直接锁定单库,避免为了覆盖而覆盖。权限与域隔离在路由层就生效,比在检索后过滤更省事也更安全。
我们用关键词加小模型覆盖了八成明确问题,剩下模糊的交给大模型判,这样既省成本又准。边界模糊的查询靠历史点击反馈纠偏,这个闭环很关键,路由错了用户点了别的域结果,信号回流训练分类器,越用越准。跨域融合我们设了置信度门槛,高置信直接锁单库,低置信才融合,避免为了查全牺牲查准,早期全融合把噪声又带回来了。
路由准确率达到九成以上,明确问题的分类几乎不出错。检索命中率从一锅炖时代的六成出头提升到接近九成,客服最直观的感受是答案终于对得上问题了。跨域串扰率从原来的两成多降到不到百分之三,之前那种答非所问的情况基本消失。平均响应时长因为多了路由一步反而略增,但用户找到正确答案的时间大幅缩短,这个账划算。我们复盘确认,路由层的投入比换更贵的向量库见效快得多。
明确问题路由准确率接近满分,客服最直观的感受是答案终于对得上。检索命中率提升到接近九成,跨域串扰率降到百分之三以内。权限隔离上线后,越权检索零发生,合规审计一次性通过。响应时长虽因多一步路由略增,但用户找对答案的时间大幅缩短。我们复盘确认,路由层比换更贵向量库见效快。
知识库不是越大越好,先按域路由再检索,噪声降下来准确率才上得去,这是用一堆串扰 bad case 验证过的。路由别上来就堆大模型,关键词加小模型能覆盖大部分,模糊的再升级,成本和效果都更稳。跨域融合要有置信度门槛,低置信才融合,别为了查全率牺牲查准率,我们早期全融合的策略把噪声又带回来了。下一步想把子库的热度做自适应,访问少的子库降权,热门域优先召回。
案例片段(已脱敏): 查询路由片段:先用关键词词典命中明确域(如"退换""发票"指向售后),未命中走轻量分类模型,置信度低于 0.6 才触发大模型兜底。某月路由统计:明确域直接锁定占 82%,融合检索占 11%,误路由率 2.7%。跨域串扰率由 23% 降至 2.9%,客服检索 top3 命中率由 61% 升至 88%。
知识库不是越大越好,先按域路由再检索,噪声降下来准确才上得去,这是用一堆串扰 bad case 验证的。路由别上来堆大模型,关键词加小模型覆盖大部分,模糊再升级,成本效果都稳。跨域融合要有置信度门槛,低置信才融合,别为查全牺牲查准,我们早期全融合把噪声带回来了。下一步子库热度自适应,热门域优先召回。