日期:2026-08-28
我们 RAG 上线后,用户常问的答不上,查下来是向量检索漏召回,相关文档没被捞出来。但没人说得清召回率到底多少,是哪个索引参数在背锅。我们进场时,调 index 全靠拍脑袋,谁记得上次为什么把 nprobe 调大,问一圈没人答得上来。
更隐蔽的是,召回差没人主动发现。业务侧只看到答得不对,归咎于模型;我们侧只看检索时延和 QPS,指标都绿。两边各说各话,问题在缝隙里拖了一个季度,直到一次关键问答翻车,才有人去扒检索日志。
我们建了召回率评测集,拿真实问答对当标准,看检索能不能把答案文档捞进前 K。近邻检索精度量化成指标,挂到看板。索引参数扫描自动跑,候选参数组批量评测,坏 case 单独归因。每次改参数都先回归评测集,不达标不许上。
评测集分两层管理,高频头部问题稳定回归,长尾问题定期补充,保证覆盖业务真实分布。每次发版前自动跑回归门禁,召回低于阈值直接卡住流水线。坏 case 进专门的看板,标注是切分问题、embedding 问题还是索引参数问题,方便对症。
评测集最容易只测头部。我们最早拿高频问题建集,召回率看着九成五很美,上线长尾问题照样答不上。后来补了长尾评测,把低频但关键的问法也收进去,召回率立刻现原形,掉到八成出头。参数扫描也不能无脑搜,nprobe 调大召回涨但时延也涨,我们在看板上把召回和时延画成一条权衡曲线,按业务容忍度选点。坏 case 归因最费劲,我们做了检索结果可视化,看向量空间里相关文档离查询多远,定位是切分还是 embedding 的问题。
评测集本身会过期。业务知识库每周新增文档,旧问题答案可能迁移,评测集不更新就假绿。我们加了评测集月度复审,淘汰失效样本、补充新样本。embedding 模型一升级,整集要重跑基线,防止新模型悄悄拉低召回没人知道。
案例片段(已脱敏): 召回率评测与参数扫描的核心配置:
yaml eval: dataset: [head_queries, long_tail_queries] top_k: 10 metric: recall_at_k regression_gate: 0.90 monthly_review: true index_tune: scan_params: {nprobe: [16,32,64,128]} tradeoff_view: [recall, latency] badcase_visual: true建集后召回率从看似九成五落到实测八成二,补齐长尾后稳定在九成三,检索时延只比最优点多约一成,坏 case 数从每月几十降到个位数。
评测集建起来后,召回率从看似九成五的假象,落到实测八成二的真值,补齐长尾稳定在九成三。检索时延因为选了权衡曲线上的合理点,只比最优点多约一成,用户无感。坏 case 数从每月几十降到个位数,RAG 答不上的投诉少了一大半。评测集月度复审上线后,再没出现过知识库更新导致召回悄悄下滑的情况。最值钱的是,每次调参前有回归门禁,再没人凭感觉动 index,知识库质量终于可量化。
评测集还成了新人入职的教材。新来的算法同学先跑一遍评测集,看看当前召回在头部和长尾的差,比看十篇文档都直观。坏 case 看板成了团队的公认事实源,讨论检索问题不再各说各话,对着 case 说。
我们后来把召回门禁接进 CI,每次改切分或 embedding 自动跑,不达标不让合。知识库半年迭代了三轮,召回稳在九成三以上没回退过。业务侧终于不再拿答不对来甩锅检索,两边不再扯皮,配合顺了。
评测集维护成了团队的固定动作后,我们意外发现它对 embedding 选型也有话语权。每次换 embedding 模型,先跑评测集看召回涨跌,比盲测靠谱,选型从拍脑袋变成有数据支撑。有一次新模型通用分高但领域召回掉,我们果断没换,后来证实那模型在长尾上确实虚。评测尺不只是守门,也是导航。
坏 case 看板还促成了检索和切分团队的协作。以前切分说检索没捞到,检索说切分切歪了,互相甩锅。现在坏 case 直接标出是切片边界问题还是向量距离问题,责任清楚,两边对着同一个事实改。知识库质量因此稳了三个版本没回退,业务侧终于相信检索是可托付的,不再动不动就怀疑模型。
评测体系跑顺之后,我们把召回率也接进了上线卡点。每次索引参数调整,先在小流量上跑评测,达标才全量,不达标直接打回。这套机制让调参从凭感觉变成有门槛的工程动作,新人改参数也不敢乱动。知识库半年没出过召回事故,业务方终于把检索当基础设施信任。
向量检索最怕看不见召回率,建评测集比调一百次参数都管用,我们当初只测头部,被长尾狠狠打脸。参数扫描别无脑搜,召回和时延的权衡曲线才是决策依据,业务容忍度决定选点。坏 case 要可视化,光看数字定位不到根因,是切分问题还是 embedding 问题,看一眼向量空间就明白。评测集会过期,不定期复审就是假绿。讲句实话,RAG 好不好用,七分在检索,检索行不行,全看有没有一把敢说真话的评测尺。