想象你走进一家熟悉的餐厅:过去,服务员递给你一本厚厚的菜单,你只能靠自己一页页翻找想吃的菜;而如今,一位懂你口味的私人大厨直接上前问一句“今天想吃点什么”,然后转身进后厨,为你量身烹制一道佳肴,连食材来源都标注得清清楚楚。这个从“翻菜单”到“大厨定制”的转变,正是生成式搜索(SGE、SearchGPT)正在带来的变革。传统搜索给你十条蓝色链接,好比把整本菜谱丢给你自己研究;生成式搜索则融会贯通各家菜系的精华,直接端上一道完整的菜,还贴心地注明“这道菜用了哪家农场的小排”。这篇短文的旅程,将带你走进这座“未来餐厅”的完整后厨:检索与生成如何像采购员与主厨一样协作,核心技术如何支撑口味,延迟如何被压到“上菜够快”,以及下一步它会往哪里开分店。请入座,菜单已经不需要了。

岗位关联

对 AI 从业者而言,掌握生成式搜索的架构与演进方向,是理解 LLM 时代信息获取范式的钥匙,也是从“调模型”走向“做系统”的关键一跃。

目录
  1. 可视化演示
  2. 演进四阶段
  3. 检索生成合力
  4. 核心技术底座
  5. 性能优化策略
  6. 多模态新体验
  7. 评估与信任
  8. 个性化交互
  9. 未来趋势展望
  10. AI 应用场景
  11. Python 演示
  12. 常见误区
  13. 面试题

可视化演示

演示生成式搜索从关键词检索到语义、生成再到智能体化的演进路径,展示多模态、个性化与自主执行等未来方向。

本节配有交互动效(进入视口后自动加载,约 3KB)。

演进路径 关键词 →Gen 语义到生成式检索

演进四阶段

搜索的进化,就像餐厅点餐方式的革命。最早的人们走进餐馆,只能看墙上贴的菜单目录,一页页找——这是雅虎式的目录导航时代,编辑们像手写菜单一样人工整理网址。后来菜单变厚了,食客开始直接喊菜名,服务员按关键词去后厨端菜——这是关键词匹配时代,搜索引擎像服务员一样扫描网页里的字眼。再后来,人们学会了描述口味:“我想吃点辣的、开胃的”,服务员开始理解意图,这是语义检索时代。而到了生成式直答时代,主厨听完你的需求,直接现炒现做端上一道完整佳肴,而不是递给你三张菜名纸条。

从信息论的角度看,每次范式跃迁都极大压缩了用户获取信息的时间成本。评价一份“菜单”好不好用,业界常用 NDCG(归一化折损累计增益)来衡量排序质量——好比评价一份菜单是不是把最想吃的菜排在了最前面。

理解了评菜单的标准,也就理解了为什么搜索要演进:生成式直答不是抛弃排序,而是把“菜单”整个升级成了“大厨”。下一代搜索的每一次跃迁,本质上都是在缩短用户与答案之间的距离。

NDCG@k=1IDCG@k∑i=1krelilog⁡2(i+1)\displaystyle NDCG@k = \frac{1}{IDCG@k} \sum_{i=1}^{k} \frac{rel_i}{\log_2(i+1)}
这个公式衡量排序是否“把最好的菜放在最容易看到的位置”,分数越高说明排序越符合用户口味。
  1. 累计增益把前 k 位结果的相关性分数直接相加,相关性越高贡献越大,相当于把菜单前几页的好菜数一数。
    DCG@k=∑i=1krelilog⁡2(i+1)\displaystyle DCG@k = \sum_{i=1}^{k} \frac{rel_i}{\log_2(i+1)}
  2. 对数折扣每往后一位,除以一个更大的对数,位置越靠后折扣越大——就像顾客一般只看菜单前两页,后面的菜再香也难被发现。
    log⁡2(i+1),i=1,2,…,k\displaystyle \log_2(i+1),\quad i=1,2,\dots,k
  3. 归一化用理想排序的 IDCG 做分母,把结果压到 0~1 之间,方便不同查询之间横向比较——好比不同餐厅的菜单设计好不好,都统一换算成星级。
    NDCG@k=DCG@kIDCG@k\displaystyle NDCG@k = \frac{DCG@k}{IDCG@k}

检索生成合力

一家高效的后厨,离不开采购员和主厨的分工。采购员负责跑遍菜市场,把最新鲜的食材搬回后厨;主厨则根据食材现场创作菜品。生成式搜索正是这样的双引擎架构:检索模块(采购员)从庞大知识库中快速取回与问题相关的证据片段,生成模块(主厨)则基于这些证据,结合大模型的推理能力,合成一段连贯、可信的答案。两者之间靠 RAG(检索增强生成)管道 连接——这条传送带一端接着检索结果,一端喂给生成器,保证主厨手里永远有料可炒。

从概率图模型的视角看,这个过程可以形式化为:先检索出若干中间证据 \( z \),再以证据为条件生成答案 \( a \)。这意味着答案的分布是所有可能证据上的加权混合——就像一个聪明的服务员,会综合多位熟客的推荐再给你建议。

这条“采购—掌勺”链路告诉我们,RAG 的精髓在于让检索和生成互相补充:检索提供事实锚点,生成提供语言组织能力。两者合力,才让生成式搜索“既有据可依,又能说会道”。

P(a∣q)=∑z∈ZP(z∣q)⋅P(a∣z,q)\displaystyle P(a \mid q) = \sum_{z \in \mathcal{Z}} P(z \mid q) \cdot P(a \mid z, q)
这个公式说明:生成式搜索的答案不是凭空产生的,而是“先挑食材、再做饭”的联合决策,完整答案由各证据按概率加权组合而成。
  1. 后验概率\( P(a \mid q) \) 表示给定查询 \( q \) 时生成答案 \( a \) 的概率,是整个系统的最终输出目标——也就是主厨最终端上桌的那道菜。
    P(a∣q)\displaystyle P(a \mid q)
  2. 证据变量\( z \) 是检索到的中间文档或片段,\( \mathcal{Z} \) 是所有可能证据的集合;每个 \( z \) 都像后厨里的一个可选食材包。
    z∈Z\displaystyle z \in \mathcal{Z}
  3. 加权求和对每个证据先算“被选中的概率” \( P(z \mid q) \),再乘以“在该证据下生成答案的概率” \( P(a \mid z, q) \),最后全部相加——相当于主厨综合各食材包的贡献,决定最终口味。
    ∑zP(z∣q)⋅P(a∣z,q)\displaystyle \sum_{z} P(z \mid q) \cdot P(a \mid z, q)

核心技术底座

支撑这位“AI 主厨”的,是一整套核心技术底座。最底层的是 RAG 原理:它让模型在生成前先查资料,而不是凭记忆瞎编——好比大厨做一道新菜前,一定要先翻食材库确认配料。其次是 长上下文窗口:现代大模型动辄支持数万 token 的输入,相当于给主厨一张超长操作台,可以把几十份菜谱同时摊开对照。再往上是 语义重排:检索回来的证据往往鱼龙混杂,需要重排模型像摆盘师一样,把最相关的信息挑到最前面,让生成器优先参考。

从深度学习角度看,生成过程是一个逐 token 的自回归过程。每一步预测下一个字词时,都依赖此前已经生成的内容,同时需要参考检索回来的证据。这就像主厨炒菜是一勺一勺来的,每一勺都看着锅里已有的状态和手边的食材来决定下一步。

有了这套底座,生成式搜索才能真正做到“引经据典”。长上下文让它看得远,语义重排让它抓得准,RAG 让它说得真——三位一体,缺一不可。

P(y∣x)=∏t=1TP(yt∣y<t, x, R)\displaystyle P(y \mid x) = \prod_{t=1}^{T} P(y_t \mid y_{<t},\, x,\, \mathcal{R})
这个公式描述了生成式搜索“逐字造句”的完整过程:每一个新词都建立在历史词、原始问题与检索证据之上,层层递进。
  1. 链式分解整段答案的概率被拆成每个词的概率连乘,因为语言天然是先后有序的——你总不能先报出“排骨”再补一个“糖醋”。
    ∏t=1TP(yt∣⋅)\displaystyle \prod_{t=1}^{T} P(y_t \mid \cdot)
  2. 历史条件\( y_{<t} \) 表示已经生成的前 \( t-1 \) 个词,这决定了当前词的上文语境,相当于锅里已有的底味。
    y<t=(y1,y2,…,yt−1)\displaystyle y_{<t} = (y_1, y_2, \dots, y_{t-1})
  3. 检索增强\( \mathcal{R} \) 是检索回来的证据集合,它作为额外的条件输入,让模型每一步都能“看着菜谱说话”。
    x, R\displaystyle x,\, \mathcal{R}

性能优化策略

顾客最不能忍的是什么?上菜太慢。生成式搜索最大的天然劣势,就是“现炒”比“端预制菜”慢。传统搜索只需查索引返回链接,而生成式搜索要先检索、再重排、最后逐字生成,链路变长,延迟自然上去。好在后厨有一整套提速方案:低延迟设计上,可以采用小模型先草稿、大模型再精修的分级生成;RAG 流水线加速上,检索与生成可以部分重叠,像流水线一样提前备菜;流式输出则让用户第一时间看到答案开头,心理感知延迟大幅下降——就像火锅店先上锅底,顾客边等边涮,体验完全不同。

系统的端到端延迟是各环节的叠加。如果串行执行,总时间就是所有阶段之和;但如果能让检索和首词生成并行,理论上延迟可逼近其中较长的那条路径。

性能优化的本质,是让顾客觉得“这菜上得又快又新鲜”。流式输出给了即时反馈,缓存复用了历史劳动,流水线消除了空闲等待——所有这些,都是为了让生成式搜索这只“现炒的锅”也能跟“预制菜”抢时间。

Ttotal=Tretrieve+Tgenerate,Tpipeline=max⁡(Tretrieve, Tgenerate)\displaystyle T_{total} = T_{retrieve} + T_{generate},\qquad T_{pipeline} = \max(T_{retrieve},\, T_{generate})
这个公式揭示了流水线优化的关键:串行加法变成并行取最大值,系统延迟立刻被“削平”。
  1. 串行延迟\( T_{total} = T_{retrieve} + T_{generate} \) 表示传统做法要先等检索完毕再开始生成,两段时间直接相加,顾客等得最久。
    Ttotal=Tretrieve+Tgenerate\displaystyle T_{total} = T_{retrieve} + T_{generate}
  2. 流水线并行\( T_{pipeline} = \max(\cdot) \) 表示把检索和生成重叠起来,总时间不再相加,而是由更慢的那个环节决定。
    Tpipeline=max⁡(Tretrieve,Tgenerate)\displaystyle T_{pipeline} = \max(T_{retrieve}, T_{generate})
  3. 瓶颈转移当检索已经优化到极致后,生成往往成为新的瓶颈,因此业界又引入投机解码、KV 缓存等手段,把“主厨的刀工”也加快。
    max⁡(⋅)→critical path\displaystyle \max(\cdot) \to \text{critical path}

多模态新体验

一道真正的盛宴,讲究色香味俱全,而搜索也是如此。用户的问题往往不只是文字:逛街时拍下一件外套想找同款,听歌识曲想搜原唱,录一段视频问“这是哪个景点”……生成式搜索的多模态能力,正是让后厨同时处理图片、音频、视频这些“特殊食材”。图文联合理解让模型看到菜的样子就能说出菜名,音视频检索让哼一段旋律就能找到那首歌,而多模态重排则综合各种模态的相似度给结果打分。

这一切的背后,是 统一表示空间 的思想:把文本、图像、音频都“翻译”成同一个向量空间里的坐标点,让它们的相似度可以直接计算。想象所有食材都被标准化成同样规格的净菜包,主厨无论拿到什么都用同一套刀法处理,效率自然高。对比学习就是训练这种对齐的核心手段,它拉近匹配图文对的距离,推远不匹配对的距离。

多模态让搜索从“读字”升级为“看懂世界”。当用户可以用照片、语音、视频任意组合来表达需求时,搜索才真正从工具变成了一种自然的交流方式——就像跟大厨比划一下,他就知道你要什么口味。

L=−log⁡exp⁡(sim(I,T)/τ)∑j=1Nexp⁡(sim(I,Tj)/τ)\displaystyle L = -\log \frac{\exp(\text{sim}(I, T) / \tau)}{\sum_{j=1}^{N} \exp(\text{sim}(I, T_j) / \tau)}
这个损失函数好比“找同款”训练:给一张菜图,要能从一堆菜名中精准挑出对应那道菜,认错了就罚分。
  1. 相似度函数\( \text{sim}(I, T) \) 计算图像与文本向量之间的余弦相似度,数值越高表示“图与文越匹配”,相当于两道菜的味道有多接近。
    sim(I,T)=cos⁡(vI,vT)\displaystyle \text{sim}(I, T) = \cos(\mathbf{v}_I, \mathbf{v}_T)
  2. 温度系数\( \tau \) 控制相似度分布的平滑程度,温度越低对比越尖锐,相当于评委打分时尺度越严格。
    τ∈(0,1]\displaystyle \tau \in (0, 1]
  3. 归一化分母分母遍历所有负样本的相似度,让匹配对的相似度不仅要高,还要比其他候选显著高,才能真正“脱颖而出”。
    ∑j=1Nexp⁡(sim(I,Tj)/τ)\displaystyle \sum_{j=1}^{N} \exp(\text{sim}(I, T_j) / \tau)

评估与信任

大厨再厉害,顾客最关心的还是“这道菜能不能放心吃”。生成式搜索的一大隐忧,是模型可能一本正经地“编造”——这就是臭名昭著的 幻觉 问题。因此系统必须建立一套 评估与信任 机制:离线评测指标 像定期食品安全抽查,用参考答案比对答案质量;引用溯源 像在每道菜旁边标注食材产地,让用户能一键核实;用户反馈闭环 则像顾客满意度调查,差评会倒逼后厨改进。

幻觉的严重程度,可以用 校准误差(ECE) 来衡量:它检查模型说“我 90% 确定”的时候,是否真的有 90% 的概率答对。一个校准良好的模型,它的自信程度应该和实际正确率高度一致,就像一位诚实的大厨,他说“这道菜很有把握”就基本不会翻车。

信任是生成式搜索的生命线。RAG 把答案锚定在真实证据上,引用溯源让每句话都有据可查,而 ECE 这类指标则帮我们监控模型的“诚实度”。只有让用户敢吃、放心吃,这座未来餐厅才能开得长久。

ECE=∑m=1M∣Bm∣N∣acc(Bm)−conf(Bm)∣\displaystyle ECE = \sum_{m=1}^{M} \frac{|B_m|}{N} \left| \text{acc}(B_m) - \text{conf}(B_m) \right|
这个公式把预测按置信度分成若干桶,逐桶对比“实际正确率”和“自称置信度”,差得越远模型越“自欺欺人”。
  1. 分桶统计将样本按预测置信度划分成 \( M \) 个区间(桶),每桶 \( B_m \) 内的样本置信度相近,好比把顾客按“满意程度”分组回访。
    Bm={i:conf(i)∈binm}\displaystyle B_m = \{ i : \text{conf}(i) \in \text{bin}_m \}
  2. 桶内准确率\( \text{acc}(B_m) \) 是第 \( m \) 桶内实际答对的占比,相当于这组顾客真正满意的比例。
    acc(Bm)=1∣Bm∣∑i∈Bm1(y^i=yi)\displaystyle \text{acc}(B_m) = \frac{1}{|B_m|} \sum_{i \in B_m} \mathbb{1}(\hat{y}_i = y_i)
  3. 加权绝对差每桶的误差按样本占比加权后求和,最终得到一个 0 到 1 之间的值,越接近 0 说明模型越“言行一致”。
    ∑m∣Bm∣N∣acc−conf∣\displaystyle \sum_{m} \frac{|B_m|}{N} \left| \text{acc} - \text{conf} \right|

个性化交互

熟客走进餐厅,老板不用问就知道他爱吃什么:不吃香菜、微辣、要加醋。生成式搜索的终极体验,正是这样的 个性化。说话式搜索 让人用自然语言直接对话,像跟朋友聊天一样;生成式界面(Generative UI) 则根据用户意图动态组装页面——不需要固定的十个蓝色链接,而是像私人菜单一样,只呈现你关心的事;这一切的背后是 用户画像建模,系统通过历史行为学习你的口味偏好,进而做出 主动推荐,甚至在你提问之前就准备好你可能想要的答案。

个性化的核心,是给搜索结果里的每个特征赋予不同权重。不同用户对同样内容的关注点可能完全不同:有人看重时效性,有人看重权威性,有人就爱看小众内容。系统通过用户画像学习一组个性化的权重参数,把相关性、新鲜度和个人偏好加权融合成一个最终分数。

个性化让搜索从“众口难调的统一菜单”变成“为我量身定制的一桌好菜”。随着交互从打字变成说话、从问答变成对话,搜索越来越像一个懂你的私人管家——不仅知道你问什么,还知道你为什么问、你想要什么答案。

score(d∣q,u)=w1⋅rel(q,d)+w2⋅fresh(d)+w3⋅pref(u,d)\displaystyle \text{score}(d \mid q, u) = w_1 \cdot \text{rel}(q, d) + w_2 \cdot \text{fresh}(d) + w_3 \cdot \text{pref}(u, d)
这个公式描述了个性化排序的“三要素调盘”:先看相关度,再看新鲜度,最后按用户口味偏好加权,三道味觉叠加决定最终分数。
  1. 相关性分量\( \text{rel}(q, d) \) 衡量文档与查询的相关程度,是所有排序的基石,相当于菜本身合不合你点的主题。
    rel(q,d)\displaystyle \text{rel}(q, d)
  2. 新鲜度分量\( \text{fresh}(d) \) 反映信息的时效性,新闻类查询更看重新鲜,像吃鱼讲究现杀现蒸。
    fresh(d)\displaystyle \text{fresh}(d)
  3. 偏好加权\( \text{pref}(u, d) \) 结合用户画像计算偏好分,\( w_1, w_2, w_3 \) 是学习到的权重——不同用户这三道配料的占比各不相同,就像有人重辣、有人重鲜。
    w1⋅rel+w2⋅fresh+w3⋅pref\displaystyle w_1 \cdot \text{rel} + w_2 \cdot \text{fresh} + w_3 \cdot \text{pref}

未来趋势展望

这座“未来餐厅”的下一个分店,会开在哪里?业界有四个清晰的探索方向。Agent 自主规划 是最引人注目的一站:搜索不再只是“问一句答一句”,而是像一个全能管家,能自主地把大目标拆成小任务、依次调用搜索、计算、绘图等各种工具,最后交给你一个完成度极高的成果。垂直领域深耕 则像是开私房菜馆,针对医疗、法律、金融等专业场景做深做透,术语更准、引用更权威。端侧模型部署 让生成式搜索跑进手机和眼镜,相当于把一位迷你主厨装进口袋,离线也能做几道家常菜。实时知识更新 则确保大厨的食材永远是当天现采的,而不是半年前的冷冻品。

Agent 型搜索的决策过程,本质上是一个序贯决策问题。系统在每一步都需要评估“当前状态下,哪个动作最值得做”——这可以通过价值迭代来建模:每个状态的价值等于立即回报与未来价值之和的最大化,体现了智能体“走一步看三步”的规划能力。

这些方向共同指向一个未来:搜索将从“查资料的工具”进化为“办成事的助理”。当 Agent 能自主规划、垂直领域能深耕专业、端侧模型能随时待命、知识更新能实时同步,生成式搜索就真正完成了从菜单到大厨、再到大管家的蜕变。

V(s)=max⁡a∑s′P(s′∣s,a)[r(s,a)+γV(s′)]\displaystyle V(s) = \max_{a} \sum_{s'} P(s' \mid s, a) \left[ r(s, a) + \gamma V(s') \right]
这个公式描绘了 Agent 的“深谋远虑”:当前决策的价值,等于这一步的即时收益,加上对未来所有可能状态的折扣价值估计。
  1. 状态价值\( V(s) \) 表示处于状态 \( s \) 时的长期价值,相当于管家评估“现在手里有什么牌”。
    V(s)\displaystyle V(s)
  2. 动作选择\( \max_a \) 表示智能体会在所有可选动作中挑价值最高的那个,像管家决定先订机票还是先查酒店。
    max⁡a∑s′P(s′∣s,a)\displaystyle \max_{a} \sum_{s'} P(s' \mid s, a)
  3. 即时加长远\( r(s, a) + \gamma V(s') \) 把当前回报与未来价值组合起来,\( \gamma \) 是折扣因子——未来收益打个折,避免只顾眼前不看长远。
    r(s,a)+γV(s′)\displaystyle r(s, a) + \gamma V(s')

AI 应用场景

电商智能导购

阶段:检索增强生成 + 个性化重排

解决的问题:传统电商搜索依赖关键词匹配,用户说“适合约会穿的连衣裙”时,系统只能机械匹配字面词,无法理解风格与场合语义。AI 导购先通过语义检索召回候选商品,再结合用户历史偏好重排,最后用大模型生成带推荐理由的导购文案,让用户像跟熟悉导购员聊天一样轻松选购。

具体案例:某电商平台接入生成式搜索后,用户提问“帮我挑一条适合海边度假的碎花裙”,系统先检索出 50 条候选商品,按用户偏好的版型和价格区间重排,再生成“这条裙子面料轻薄、花色清新,搭配草帽非常出片”的推荐语,并附上来源商品链接。导购转化率提升 23%。

企业知识库智能问答

阶段:RAG 管道 + 引用溯源

解决的问题:大型企业内部文档数以万计,员工靠关键词搜索常找不到关键规定。RAG 将检索与生成结合,先定位相关制度文档,再提炼成简洁回答,每条结论都附上原文出处,既回答了问题,又保留了可信溯源,大幅降低信息查找时间。

具体案例:某 500 强企业的 HR 自助平台引入生成式搜索后,员工提问“年假未休完能顺延到下一年吗”,系统检索《考勤管理制度》对应条文,生成“根据第三章第五条,年假可顺延至次年一季度,逾期自动作废”的准确答复,并附制度原文链接。工单量下降 40%。

旅行行程管家

阶段:多模态检索 + Agent 自主规划

解决的问题:传统旅游搜索需要用户自己查机票、订酒店、做攻略,反复切换多个网站。多模态生成式搜索让用户直接上传一张心仪的风景照,系统识别地点后自动检索交通、住宿、景点信息,再由 Agent 编排成一份完整行程单,真正做到“一键生成”。

具体案例:用户上传一张稻城亚丁的雪山照片并说“想国庆后去,3 天行程”,系统检索当地天气、航班和高原注意事项,生成包含 D1 抵达适应、D2 牛奶海徒步、D3 返程的定制行程,同时列出必须预订的景区门票链接和装备建议。用户只需确认即可完成全部预订。

Python 演示

python57 行
import mathfrom collections import Counter DOCS = {    "糖醋排骨": "排骨炸至金黄,加入糖醋酱汁翻炒均匀,大火收汁",    "麻婆豆腐": "豆腐切块焯水,肉末炒香,加豆瓣酱和花椒粉",    "宫保鸡丁": "鸡丁腌制滑油,花生炸酥,加干辣椒花椒爆炒",    "开水白菜": "老母鸡慢炖四小时,取清汤浇在白菜心上",    "鱼香肉丝": "里脊切丝上浆,泡椒豆瓣炒出红油,加鱼香汁",} def tokenize(text):    return set(text.replace(",", " ").split(" ")) def retrieve(query, docs):    q_tokens = tokenize(query)    scored = []    for name, text in docs.items():        overlap = len(q_tokens & tokenize(text))        scored.append((overlap, name))    scored.sort(reverse=True)    return [name for _, name in scored if _ > 0][:2] def personalize_rank(candidates, profile):    ranked = []    for name in candidates:        score = 0.0        for kw, weight in profile:            if kw in name:                score += weight        ranked.append((score, name))    ranked.sort(reverse=True)    return [name for _, name in ranked] def generate_prompt(query, docs, profile):    top = retrieve(query, docs)    if not top:        top = list(docs.keys())[:2]    top = personalize_rank(top, profile)    contexts = [f"《{name}》:{docs[name]}" for name in top]    return "根据以下菜谱回答用户问题:\n" + "\n".join(contexts), contexts def main():    query = "今天想吃辣的川味下饭菜"    profile = [("麻婆", 3), ("宫保", 2), ("鱼香", 1)]    prompt, contexts = generate_prompt(query, DOCS, profile)    print("用户需求:", query)    print("采购清单(检索结果):", len(contexts), "份菜谱")    for c in contexts:        print(" -", c)    print("主厨方案(生成式答案):")    for c in contexts:        name = c.split("》")[0].strip("《")        print(f"   推荐 {name} —— {DOCS[name]},符合您的川辣口味偏好。") if __name__ == "__main__":    main()
目的:这段代码演示了一个迷你 RAG 管道——先按关键词相似度检索菜谱,再按用户口味画像做个性化重排,最后“生成”一段带推荐理由的答案,模拟生成式搜索的核心流程。
  1. def retrieve(query, docs):检索函数:计算查询词与每篇文档的词重叠度,相当于采购员按清单去食材库找货。
  2. scored.sort(reverse=True)按相关度降序排序,选取匹配度最高的前两篇文档作为候选食材。
  3. def personalize_rank(candidates, profile):个性化重排:根据用户画像里的口味关键词权重,重新调整候选顺序。
  4. if kw in name:判断菜名是否命中用户偏好词,命中则累加权重分数。
  5. generate_prompt组装检索上下文并生成提示词,模拟 RAG 管道里“检索结果 + 用户问题 → 大模型输入”的拼接过程。
  6. "根据以下菜谱回答用户问题:"提示词工程的简单示例,让模型明确任务身份。
  7. main()主入口:设定一个“吃辣的川味下饭菜”查询和用户画像,跑通整个链路。

常见误区

误区很多人认为生成式搜索就是在搜索引擎前面套一个大模型,用户问什么模型直接答什么,跟普通聊天机器人没区别。

正解这种理解忽略了检索模块的核心价值。生成式搜索的“G”不是凭空生成的,而是先通过检索模块从海量知识库中捞回相关证据,再由大模型基于证据组织答案。就像一位大厨,不是凭记忆瞎炒,而是先让采购员买回新鲜食材,再动手料理。去掉检索的生成式搜索,就像没有食材的大厨,只能靠“背菜谱”硬撑——这正是幻觉泛滥的根源。

为何常见:因为用户只看得到界面上有一个对话框和一个答案,看不到背后检索与生成的复杂分工,容易被“聊天机器人”的表象所误导。

误区大模型天生会一本正经地胡说八道,所以生成式搜索的答案也不可信,这个毛病没法治。

正解虽然幻觉无法 100% 根除,但工程上已经有成熟的缓解手段:RAG 让答案锚定在真实检索到的证据上,引用溯源让每句话都能点开验证来源,后置的事实一致性校验能自动拦截可疑输出。好比餐厅无法杜绝厨师偶发挥错盐,但可以通过标准菜谱、品控试吃和顾客反馈三道关卡,把翻车概率压到极低。

为何常见:因为公众接触到的聊天机器人确实时常胡说八道,而工程上那些看不见的“纠偏装置”通常不在展示范围内,容易产生“无解”的错觉。

误区生成式搜索要现场逐字生成答案,比传统搜索慢一个数量级,用户体验注定很差,不如传统链接快。

正解延迟虽高,但优化手段丰富:流式输出让用户第一时间看到首字,心理感知延迟大幅降低;检索与生成流水线并行,总时间取最大值而非求和;更轻量的小模型可以先打草稿,再由大模型精修。这些手段叠加后,首字延迟可以压到亚秒级,体验已接近传统搜索。就像火锅店虽然要现煮,但先上锅底和配菜,顾客根本感觉不到在等。

为何常见:大家用早期实验产品时确实体验到“转圈圈等半天”,但那是未经优化的原型,不代表工程化后的真实水平。

误区个性化搜索就是把用户的历史点击记录存下来,下次搜索时优先显示点击过的东西,简单粗暴。

正解真正的个性化是系统化的用户画像建模:不仅看点击历史,还结合停留时长、搜索意图、对话上下文、实时反馈等因素,学习一组个性化的重排权重。它更像熟客点单——老主顾说“老样子”,老板知道今天心情不好就少放辣,这是多维度的综合理解,不是简单翻翻历史台账。

为何常见:因为推荐系统给用户留下的印象就是“猜你喜欢”,而历史上基于行为的推荐确实比较初级,容易让人以偏概全。

面试题

Q1. 生成式搜索与传统“十条蓝色链接”最大的区别是什么?

单选题 · easy

  • A.界面配色更加鲜艳
  • B.直接合成完整答案← 正确答案
  • C.只返回图片结果
  • D.无需检索任何资料

答案:B。生成式搜索的本质是直接给出合成后的答案,而不是返回文档链接列表。就像大厨直接端上菜品,而不是递给你一本菜谱让你自己做。A 只是表象,C 是多模态的局部能力并非本质,D 完全错误,生成式搜索依然需要检索。

Q2. RAG 中的“R”(Retrieval)主要负责什么?

单选题 · easy

  • A.生成最终答案
  • B.取回相关证据← 正确答案
  • C.美化用户界面
  • D.计算广告费用

答案:B。RAG 的 Retrieval 模块负责从知识库中取回与问题相关的证据片段,相当于采购员去菜市场买食材。生成答案由 Generation 模块完成,界面美化与广告计费与本模块无关。没有检索的证据输入,生成模块就成了无米之炊。

Q3. 下列哪些手段可以降低生成式搜索的延迟?(多选)

多选题 · mid

  • A.流式输出逐字呈现← 正确答案
  • B.检索结果缓存复用← 正确答案
  • C.用更大模型逐字重算
  • D.小模型先快速草稿← 正确答案

答案:ABD。流式输出通过“先上锅底”的心理策略降低等待感;缓存复用让重复问题秒答;小模型草稿 + 大模型精修是投机解码的简化版。而用更大模型逐字重算只会让延迟更高,方向完全错误。

Q4. 语义检索与关键词检索的本质差异是什么?

单选题 · mid

  • A.底层实现完全不同
  • B.语义检索理解语义← 正确答案
  • C.关键词检索无需索引
  • D.属于传统排序算法

答案:B。语义检索利用向量表示来理解查询与文档的语义相似度,比如“辣的下饭菜”能匹配“麻婆豆腐”;关键词检索靠字面匹配则做不到。两者底层都依赖索引结构,关键词检索同样需要索引,C 错误,D 把语义检索简单归为排序算法以偏概全。

Q5. 缓解大模型幻觉的常用工程手段包括?(多选)

多选题 · mid

  • A.检索增强提供事实依据← 正确答案
  • B.引用溯源标注来源← 正确答案
  • C.禁止模型使用上下文
  • D.后置事实一致性校验← 正确答案

答案:ABD。RAG 提供事实锚点、引用溯源让答案可验证、后置校验自动拦截矛盾输出,三者是幻觉缓解的三道防线。C 完全相反——禁止模型使用上下文等于让大厨不看菜谱做菜,只会加重幻觉。

Q6. 多模态搜索中“对齐”的核心含义是什么?

单选题 · hard

  • A.映射到统一向量空间← 正确答案
  • B.把图片压缩成缩略图
  • C.将语音先转成文字
  • D.给搜索词添加标签

答案:A。对齐是指把文本、图像、音频通过编码器映射到同一个向量空间,使跨模态相似度可以直接计算。这就是“统一表示空间”的思想。B 是图像压缩,C 只是语音转写的局部流程,D 是数据标注,都与对齐的语义不同。

Q7. BLEU 指标主要用于衡量生成答案的什么性质?

单选题 · mid

  • A.与参考答案的重合度← 正确答案
  • B.模型参数量多少
  • C.检索过程总耗时
  • D.网页排名的高低

答案:A。BLEU 通过 n-gram 重叠度来度量生成文本与参考答案的相似程度,是生成式搜索离线评测的常用指标。它关注文本重合度,不涉及模型参数量、检索耗时或网页排名,那些属于系统性能与排序问题。

Q8. 生成式界面(Generative UI)的典型特点包括?(多选)

多选题 · hard

  • A.按需动态组装页面← 正确答案
  • B.对话追问澄清需求← 正确答案
  • C.页面样式全局固定
  • D.用历史做个性化← 正确答案

答案:ABD。生成式界面根据用户需求实时生成页面内容,能通过对话澄清模糊需求,并利用历史记录做个性化呈现,仿佛私人菜单。C 恰恰相反,全局固定样式是传统页面的特征,与生成式理念背道而驰。

Q9. Agent 型搜索与普通问答机器人的主要区别是什么?

单选题 · mid

  • A.自主规划调用工具← 正确答案
  • B.机器人不会查资料
  • C.无法访问知识库
  • D.实现原理完全相同

答案:A。Agent 型搜索能自主将大目标拆解为多步任务,并调用搜索、代码、计算等多种工具逐步完成,相当于全能管家。问答机器人通常只做单轮生成,虽也能访问知识库但不具备多工具自主规划能力,B、C、D 的表述均不准确。

Q10. 校准误差(ECE)评估的是模型的什么性质?

单选题 · extreme

  • A.回答速度是否够快
  • B.置信度与正确率一致← 正确答案
  • C.界面设计是否好看
  • D.服务器是否稳定

答案:B。ECE 将样本按置信度分桶,比较每桶实际准确率与自称置信度的差异,衡量模型是否“言行一致”。速度、界面、稳定性均属于系统级指标,与模型置信度校准无关。校准良好的模型说“90% 确定”时就真的有九成概率答对。