RAG(检索增强生成)是当下最落地的 AI 应用形态——让大模型先查资料再回答,从根本上减少胡说。但「Demo 级 RAG」和「生产级 RAG」之间隔着一条鸿沟:Demo 用向量相似度搜一下就完事,真实业务里用户问得含糊、文档长得离谱、答案要精确到条款。本文用 WorkBuddy 作为编排端与智能预处理层,系统性拆解把 RAG 从「能跑」做到「好用」的三板斧——混合检索、重排序、查询改写,并补充评测方法、成本延迟权衡、部署架构与完整提示词模板。读完你能搭出一个检索准、答得稳、敢上生产的 RAG 系统,而不是又一个只能跑 hello world 的玩具。
先泼盆冷水。很多教程教你这条最短路径:文档切片 → 向量化 → 存库 → 用户提问 → 相似度搜 top-k → 塞给模型。跑通 hello world 很爽,但一上真实数据就露馅。下面三类失败是最常见的:
这些不是模型不行,是检索环节太单薄。生产级 RAG 的核心认知只有一句:生成质量的上限,由检索质量决定。检索拉胯,模型再强也救不回来。下面三板斧就是冲着检索质量去的。
纯向量检索(dense retrieval)擅长语义匹配,但有个致命弱点:对精确关键词不敏感。比如用户搜「GB/T 28181 协议」,向量模型可能把它当成普通文本,召回一堆讲「视频监控标准」的泛泛内容,却漏掉正好写着「GB/T 28181」那一页。
解决方法:向量检索 + 关键词检索(BM25 这类稀疏检索)双路并行,再融合。
两者取并集或加权融合,既不让关键词漏检,也不让语义误判。实战中,混合检索相比纯向量,召回率(Recall@10)通常能提升 15%~30%,具体幅度视数据而定。
融合算法选 RRF 最稳。RRF(Reciprocal Rank Fusion,倒数排名融合)不依赖两个检索器的分数量纲是否一致,只认排名:
用 WorkBuddy 怎么落地这一步:让 WorkBuddy 帮你生成一段把两路结果做 RRF 融合的脚本骨架,思路是「给我一个函数,输入是向量检索的排名列表和 BM25 的排名列表,用 RRF 公式融合排序,返回 top-k 文档 id」。WorkBuddy 会产出可直接用的代码骨架,你再接自己的检索后端。如果两路分数需要做加权(而非纯排名融合),也可以让 WorkBuddy 帮你写带权重的线性融合版本。
混合检索后你拿到 top-20 甚至 top-50 的候选。但生成时只喂 top-3 或 top-5 给模型最稳——塞太多噪声反而让模型答偏。问题来了:top-20 里谁最相关?这时候用「粗排 + 精排」两阶段:
精排模型通常比向量模型慢,所以只对粗排后的几十条做,成本可控。这一步能把最终 top-5 的相关性再提一大截。
没部署重排模型时的临时方案:用 WorkBuddy 自身做「轻量重排」——把候选文档和原问题一起发给它,让它按相关性打分并排序。完整提示词模板:
你是一个检索相关性裁判。下面有用户问题和若干候选文档片段。 请逐条评估每个片段对回答用户问题有多大帮助, 给出 0-10 的相关性分数,并说明依据,最后按分数从高到低排列文档编号。 只做排序,不要回答问题本身。
返回的结果你取前几名喂给最终生成。效果已经比纯向量好很多。正式生产建议还是接一个 Cross-Encoder,稳定性和延迟都更可控。
很多检索失败,根源在用户问得不好。用户问「那个退货的怎么弄」,文档里写的是「无理由退换货流程」。字面完全对不上。查询改写就是在大检索之前,先让模型把用户问题「翻译」成更适合检索的版本:补全指代、展开缩写、拆成多个子查询。
三种改写策略:
用 WorkBuddy 落地查询改写:把这一步做成固定预处理提示词,每次用户提问先过一遍。完整模板:
你是检索系统的查询优化器。请把用户的原始问题改写成 3 个独立、具体、便于向量检索的子查询。 要求:补全所有指代和缩写,保留关键实体名词, 不要回答原问题,只输出 3 个子查询,每行一个。
改写后的多个子查询分别走混合检索,结果合并去重,再精排。这一套下来,含糊提问的召回质量会肉眼可见地变好。
生产级 RAG 的检索链路长这样:
一个端到端案例(示意,非真实数据):某企业内部制度问答,用户问「试用期员工提前三天辞职要赔钱吗?」
对比纯向量直接搜「辞职赔钱」,原方案大概率召回一堆讲「正式员工离职补偿」的泛内容,答偏。这就是三板斧串起来的价值。
每一步都可用 WorkBuddy 编排:改写和轻量重排直接用提示词,检索和精排接你自己的服务。WorkBuddy 在这里扮演「胶水 + 智能预处理」的角色,把零散组件串成流水线。
没有评测的 RAG 优化就是瞎调。生产前必须建一套评测:
自动评测也可以用 WorkBuddy 跑:把「标准答案片段」和「模型实际引用片段」发给它,让它判断覆盖度;把「模型回答」和「人工标准答案」发给它,让它打分并说明扣分项。
三板斧不是免费午餐,每加一层都有代价。典型权衡:
经验法则:先上「混合检索 + 查询改写」,这两层性价比最高;重排序等召回率达标但有噪声时再上。WorkBuddy 的轻量重排适合早期验证,量上来后换专用模型。
RAG 从 Demo 到生产,差距全在检索。三板斧记牢:
用 WorkBuddy 串起这条流水线,你得到的不是玩具,而是一个检索准、答得稳、敢上生产的 RAG 系统。下一步可以往「多模态 RAG(图文混合)」「Agentic RAG(模型自主决定查几次)」演进,那是下一个阶段的玩法。本文给出的提示词模板和评测思路,足以支撑你把第一版生产级 RAG 跑起来。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。