这道题其实是在问,大模型怎么在搜索这种高实时、高精度的场景里落地,而不是简单替代传统搜索。我觉得核心是 [[RAG]] 这个架构,它把检索和生成串起来,但真正上线的时候,不是一股脑全上大模型,而是分层处理。
先说查询理解。用户搜「苹果」,可能是水果也可能是手机,大模型能根据上下文做消歧,这是传统关键词做不到的。但你不能把所有 query 都扔给大模型,成本太高。所以我会区分简单 query 和复杂 query,简单走 [[BM25]] 或者 [[稀疏检索]],复杂才走大模型改写和扩展,这叫查询路由。
再讲检索召回。这里有个经典误区:有人以为向量检索能完全替代关键词。实际上,**[[混合检索]]**才是更靠谱的做法。向量抓语义,关键词抓精确匹配,比如搜订单号「ORD123」,向量检索根本没用,必须靠 BM25。再叠一个[[知识图谱]],比如商品品牌和类别的关系,召回率能提升不少。
生成输出这步,大模型负责把检索结果整合成一段自然语言答案,附带引用溯源。但这里有个大坑:[[幻觉]]。模型可能会编造信息,所以必须约束生成范围,只允许用检索到的片段做上下文,不能自由发挥。我还会加一个 [[Faithfulness]] 校验,如果生成内容跟检索片段矛盾,就降级成片段展示。
举个例子,电商搜索里用户问「这个手机支持双卡双待吗」,传统搜索只能匹配到商品详情页里的「双卡双待」关键词,但大模型可以理解「双卡」和「双待」是同个意思,还能结合用户评论里的「插了两张卡都能用」这种非结构化描述,给出更准确的答案。这在东南亚多语言场景尤其重要,用户可能中英混合提问,大模型能统一处理。
落地风险主要有三个。一是延迟,大模型推理慢,我会用流式生成加模型[[蒸馏]],高频 query 的结果缓存起来。二是成本,大模型贵,我倾向用大小模型级联,小模型先过滤掉简单 query,大模型只处理高价值复杂 query。三是数据实时性,比如促销信息,必须能增量更新索引,不能每次全量重建。
另外,我特别关注检索质量怎么量化。光靠 Recall 不够,我会用 [[RAGAS]] 框架里的忠实度和答案相关性指标,再结合用户点击反馈做线上评估。如果面试官有兴趣,我们可以聊聊怎么在离线阶段模拟线上分布,避免评估偏差。
所以我对大模型在搜索里的定位是:它不是替代传统搜索,而是补充传统搜索做不到的语义理解和多跳推理。我更倾向先做好查询路由和混合检索,再逐步引入生成,这样风险可控,效果也扎实。