想象你走进一座陌生古镇。老街路口立着一块木牌,上面刻着几个字——“面馆”。你扯着嗓子喊:“我想吃热乎的,但是不吃辣,最好有手工宽面!”木牌纹丝不动,依然指向同一条路,给你一排参差不齐的店名。你不知道哪家适合你,只能一家家去试。这就是传统搜索。而对话式搜索,是巷口那位活生生的向导。你刚开口说“我想吃口热乎的”,向导便问:“素的还是荤的?”“宽面还是细面?”“能不能吃一点辣?”几来几往,他把你带到街角那家正好合口味的老字号。木牌回答的是你打出来的字,向导理解的是你真正的需求。从一块路牌到一位活向导,正是传统搜索与对话式搜索之间最本质的差异:前者是一次性的单次问答,后者是一场有记忆、有追问、有理解的连续对话。

岗位关联

对AI从业者而言,理解对话式搜索与传统搜索的差异,是走向对话式推荐、智能问答与Agent化搜索产品的第一块敲门砖。

目录
  1. 可视化演示
  2. 基本概念对比
  3. 传统搜索局限
  4. 上下文理解机制
  5. 查询重构技术
  6. 体验与性能
  7. 未来演进方向
  8. AI 应用场景
  9. Python 演示
  10. 常见误区
  11. 面试题

可视化演示

展示多轮对话搜索的上下文累积、查询重写与传统单轮关键词搜索的架构差异。

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

多轮对话上下文累积 每轮对话累积历史上下文,后续查询可引用前文实体和意图 查询重写将指代消解为完整查询,提升检索准确率 Context_t=Σ(Query_i,Response_i), i=1..t 多轮对话使搜索从信息检索进化为知识对话

基本概念对比

古镇街口立着三种“指路人”:一块只写“面馆”的木牌,一张画了街区地图的招贴,以及一位会说话的本地向导。木牌是传统搜索,给出的是静态结果;向导是对话式搜索,给出的是一场交互。游客对着木牌喊破喉咙,它也不会多问一句“您吃不吃辣”;向导则会主动问“几个人”“什么口味”“预算多少”。一个在回答字面,一个在理解需求。

从系统工程视角看,两种模式的差异首先体现在交互粒度与状态维护上。传统搜索是无状态的:用户提交一个查询 q,系统经过检索与排序返回结果,交互即结束。对话式搜索则需要维护一个对话状态,把每一轮用户输入都纳入上下文,系统可以返回结果,也可以继续追问澄清。这个差异决定了后者的每一次检索都能“站在之前的对话肩膀上”。

用流程表示,传统搜索只有一步映射,对话式搜索则是多步输入的累积映射:

回到古镇的比喻:木牌能在一秒内给你指个方向,向导却要花几分钟跟你聊天,但最后带你到的那家店往往更让你满意。基本概念对比告诉我们,对话式搜索不是“多输入几个字”,而是把交互从单发子弹变成了有来有往的对话回合。

r传统=Search(q),r对话=Search(q1,q2,…,qt)\displaystyle r_{\text{传统}} = \mathrm{Search}(q), \qquad r_{\text{对话}} = \mathrm{Search}(q_1, q_2, \ldots, q_t)
传统搜索只吃一次查询 q,对话式搜索把前 t 轮的提问共同当作检索输入。输入变多了,结果自然更贴近真实意图。
  1. 结果变量 $r$无论传统还是对话式,最终都会输出一个结果集,差异只在于这个结果集是如何“问”出来的。
    rr
  2. 单次查询 $q$传统搜索收到的是一个静态查询串,模型处理完就结束,没有后续的追问与修正机会。
    Search(q)\mathrm{Search}(q)
  3. 多轮序列 $q_1,\dots,q_t$对话式搜索把第 1 轮到第 t 轮的问题全部保留下来,检索时一起参与,相当于向导把游客所有说过的话都记在心里。
    Search(q1,q2,…,qt)\mathrm{Search}(q_1, q_2, \ldots, q_t)

传统搜索局限

木牌的版面是有限的,刻不下你的忌讳、偏好和预算。传统搜索最大的局限,正是这块“木牌”承载不了复杂的用户需求。当你输入“面馆”时,系统只能根据这个词去匹配网页、店名和评论,至于你是想吃汤面还是拌面,要辣的还是清淡的,它一概不知,也不会问。用户被迫把丰富需求压缩成一两个关键词,再亲手翻找十几条结果来筛选。

这种“把需求压进关键词”的过程必然带来信息损失。更麻烦的是,关键词本身充满歧义:“苹果”是水果还是手机?“Java“是岛还是编程语言?传统搜索给出折中排序,把所有可能性各排一页,让用户自己赌运气。对话式搜索则通过追问把歧义消掉:向导听到”苹果“会问一句”您是说吃的苹果,还是店里的苹果?”

之所以会造成这种差距,是因为传统搜索在判断相关性时缺少上下文。用条件概率来描述:

这就是为什么我们在古镇里迷路时,宁可多问两句向导也不愿对着路牌瞎猜。传统搜索局限的本质,是它把用户当成“不会说话的游客”,强迫用户用最短的关键词表达最大的需求,剩下的全靠用户自己碰运气。

P(相关∣q)<P(相关∣q,ct)\displaystyle P(\text{相关}\mid q) < P(\text{相关}\mid q, c_t)
只知道单个查询词 q 时的相关性判断,比追加了上下文 c_t 后的判断更不稳定。上下文是消除歧义的天然工具。
  1. 条件概率 $P(\text{相关}\mid q)$传统搜索只能依据当前这一个查询词去估计算结果相关的可能性,信息量非常有限。
    P(相关∣q)P(\text{相关}\mid q)
  2. 添加上下文 $c_t$对话式搜索把前面几轮的对话历史当作条件,模型知道“不要辣”之后,再看“那家店怎么样”就不容易跑偏。
    P(相关∣q,ct)P(\text{相关}\mid q, c_t)
  3. 不等号的方向上下文约束越充分,相关性判断越可靠,所以右侧(有上下文)的估计理应更准。
    P(相关∣q)<P(相关∣q,ct)P(\text{相关}\mid q) < P(\text{相关}\mid q, c_t)

上下文理解机制

向导的记忆力是对话式搜索的灵魂。你上一句说“不要辣”,他记下了;这一句说“那家店怎么样”,他知道你指的是刚才路过的那家素面馆。传统搜索没有这种记忆,每句话都是孤零零的第一次见面。对话式搜索则用一个对话状态变量,把“不要辣”这样的约束、地点、人物偏好全部串起来,让每句话都活在完整的故事里。

上下文理解机制包含四个关键动作:记忆、指代消解、意图推断和澄清追问。记忆负责保留历史信息;指代消解负责把“这家”“它”“那个”还原成具体对象;意图推断则根据当前句与历史判断用户想干什么;澄清追问是当系统发现自己没听懂时,主动向用户确认。这四步合在一起,让对话式搜索从“听懂一句话”升级为“听懂一场对话”。

技术实现上,对话状态不是简单地存聊天记录,而是按照递推方式更新:

回到向导的故事:他之所以越聊越懂你,并不是因为他记忆力超群,而是他总在“接着上一次的话往下说”。上下文理解机制让机器获得了同样的能力——你以为自己在向搜索框提问,其实是在和一个记得住前文的向导说话。

St=f(St−1,qt)\displaystyle S_t = f\left(S_{t-1}, q_t\right)
第 t 轮的对话状态 S_t,是由上一轮状态 S_{t-1} 和本轮输入 q_t 共同计算而来的。旧的约束不会丢,新的信息不断融入。
  1. 对话状态 $S_t$它是一份“正在进行的理解”,记录了到目前为止用户的所有约束和系统已澄清的信息。
    StS_t
  2. 上一轮状态 $S_{t-1}$状态不是每次都从零开始,而是继承之前话题的全部记忆,这是多轮对话的根基。
    St−1S_{t-1}
  3. 状态更新函数 $f$系统把上一轮状态与当前问题拼接、合并或改写,得到最新的状态,从而驱动下一步检索。
    St=f(St−1,qt)S_t = f\left(S_{t-1}, q_t\right)

查询重构技术

向导还有一个本事:把你含混的口语翻译成准确的路线。你说“上次那家店”,他懂你指的是“昨天去过的那家素食面馆”;你说“再来一碗”,他懂你要的是“同样的宽面加量”。对话式搜索同样需要这种“翻译”能力,技术术语叫查询重构。系统把对话状态中的信息提取出来,把口语化的、省略的、指代性的表达改写成适合索引检索的完整查询。

查询重构通常包含语义解析、查询改写和子查询拆分三步。语义解析负责提取意图和槽位,比如“不吃辣”解析成“口味=清淡”;查询改写负责补全省略,比如“那家店”补全成“老街素食面馆”;子查询拆分则是把复杂需求拆成多个简单检索,再对结果做加权融合。

改写与融合的过程可以用公式表达:

好向导会把“那个、上次、老地方”翻译成一条条明确的街道指引,好系统也把含糊的对话翻译成多个精准的子查询。查询重构技术决定了对话式搜索能不能把“聊明白”变成“搜得准”。

q′=Rewrite(qt,St−1),Score(d)=∑i=1mαi⋅sim(d,qi′)\displaystyle q' = \mathrm{Rewrite}\left(q_t, S_{t-1}\right), \qquad \mathrm{Score}(d) = \sum_{i=1}^{m} \alpha_i \cdot \mathrm{sim}\left(d, q'_i\right)
第一式:把当前问题结合历史改写成完整查询串。第二式:如果完整查询被拆成 m 个子查询,每个子查询对文档 d 算相似度,再用权重 α_i 加权汇总得到最终得分。
  1. 改写的输入与输出 $q'$$\mathrm{Rewrite}$ 把“这句问了什么”和“之前聊过什么”一起加工,补全省略成分,输出一个可直接检索的完整查询。
    q′=Rewrite(qt,St−1)q' = \mathrm{Rewrite}\left(q_t, S_{t-1}\right)
  2. 子查询向量 $q'_i$改写后的完整查询被拆成若干子查询,每个子查询负责一个维度:口味、地点、价格、场景。
    q1′,q2′,…,qm′q'_1, q'_2, \ldots, q'_m
  3. 加权相似度得分检索器分别计算文档 d 与每个子查询的相似度,用权重 α_i 汇总,权重越高代表这个子查询对用户越重要。
    Score(d)=∑i=1mαi⋅sim(d,qi′)\mathrm{Score}(d) = \sum_{i=1}^{m} \alpha_i \cdot \mathrm{sim}\left(d, q'_i\right)

体验与性能

向导走路慢,路牌指路快,可游客为什么愿意等向导?因为体验的好坏不只看速度,还看“一次到没到位”。传统搜索响应快,但用户往往要在结果列表里反复翻找、换词、再搜,整体耗时反而更长;对话式搜索首轮可能只比传统搜索慢几百毫秒,却通过追问把需求压缩到极小范围,后面的每轮都在收敛。

从性能预算看,对话式搜索的代价是显而易见的:每一轮都要做语义理解、状态更新和检索排序,多轮时间自然累加:

这个公式提醒我们,对话式搜索并不是“免费午餐”。它牺牲了单次速度,换来的是更高的结果质量和更低的用户试错成本。就像向导不能瞬间把你传送过去,但他带的路不会让你白跑。体验与性能的平衡点,正是对话式搜索产品设计中最需要拿捏的部分。

L对话=∑i=1t(L理解(i)+L检索(i))\displaystyle L_{\text{对话}} = \sum_{i=1}^{t}\left(L_{\text{理解}}^{(i)} + L_{\text{检索}}^{(i)}\right)
对话式搜索总延迟等于每一轮“理解 + 检索”延迟的总和。轮数越多累计延迟越高,所以工程上需要控制轮数,及时收敛。
  1. 单轮延迟组成第 i 轮包含理解用户输入的时间与检索文档的时间,二者相加构成该轮的成本。
    L理解(i)+L检索(i)L_{\text{理解}}^{(i)} + L_{\text{检索}}^{(i)}
  2. 累加求和 $\sum$对话一共进行了 t 轮,把每一轮的成本全部加起来,就是整场对话的响应总时长。
    ∑i=1t(L理解(i)+L检索(i))\sum_{i=1}^{t}\left(L_{\text{理解}}^{(i)} + L_{\text{检索}}^{(i)}\right)

未来演进方向

古镇的向导会进化:从只带路,到顺手帮你订位、叫车、规划第二天的行程,最后变成一位“全能管家”。对话式搜索也在朝这个方向演进。下一阶段的系统不再止步于给出结果列表,而是直接帮用户完成任务——你不需要自己点进链接比较价格,对话系统直接告诉你“这家店今晚有双人套餐,位置已帮你预留”。

未来方向可归纳为三条主线:多模态集成让用户上传图片“就要这个样式的包”,系统依据视觉信息继续多轮追问;智能体协同让搜索、推荐、支付、预定等模块在后台自动协作;个性化定制则让系统记住“你一直偏爱靠窗座位”,把长期记忆融入对话状态。与此同时,如何评估多轮对话的最终满意度、如何衡量“澄清得好不好”,仍然是尚未成熟的挑战。

用公式描绘下一代对话式搜索的轮廓:

向导进化成管家,搜索进化成智能体。传统搜索解决的是“找到信息”,对话式搜索解决的是“理解需求”,而未来的对话式搜索要解决的是“完成目标”。这就是这场进化最美的部分:搜索不再是一个目的地,而是一段不断延续的贴心服务。

rt+1=Agent(qt+1,St,Mt)\displaystyle r_{t+1} = \mathrm{Agent}\left(q_{t+1}, S_t, M_t\right)
第 t+1 轮的输出 r,不再只依赖查询和上下文,还加入长期记忆 M_t。系统从“回答问题”变成“代为办事”。
  1. 长期记忆 $M_t$区别于短期的对话状态 S_t,M_t 记录了跨会话的用户画像与历史偏好,是未来个性化的物理基础。
    MtM_t
  2. 智能体函数 $\mathrm{Agent}$它会把检索、推荐、下单等工具整合起来,像一个管家一样调度资源、完成任务。
    Agent(qt+1,St,Mt)\mathrm{Agent}\left(q_{t+1}, S_t, M_t\right)

AI 应用场景

场景一:电商平台的智能导购

阶段:用户意图理解与多轮交互

解决的问题:电商搜索中,用户常输入“连衣裙”这种宽泛词,传统搜索只按销量与热度排序,无法结合用户身高、场合、预算等隐性条件。AI 对话式导购通过多轮追问“什么场合穿”“偏好什么颜色”“预算多少”,把模糊需求收敛为精确属性组合,再把检索结果个性化呈现。

具体案例:某服装电商 App 上线对话导购后,用户输入“参加婚礼的裙子”,系统追问“长款还是短款”“主色调偏好”,两轮对话后直接展示 5 款匹配商品,转化率比传统搜索提升约 35%,跳出率明显下降。

场景二:企业内部知识库问答

阶段:上下文记忆与查询重构

解决的问题:员工查找制度文档时常面临“名称记不全”的困境。传统搜索要求精确关键词,而企业知识库场景中用户提问天然口语化、含指代。对话式搜索结合查询改写,自动补全“那个报销流程”为“差旅费报销流程”,并追问“是员工报销还是部门报销”,大幅提升检索命中率。

具体案例:某互联网公司构建内部对话式知识库后,员工连续提问“年会报销标准”“那住宿呢”“上限是多少”,系统能正确理解三个问题之间的关联,直接返回住宿部分的报销上限,将平均解决时长从 12 分钟压缩到 3 分钟。

场景三:本地生活助手的餐饮推荐

阶段:多轮澄清与结果融合

解决的问题:本地生活场景中,用户的饮食需求高度个性化且难以一句话说清。传统搜索“火锅”返回的是一堆未必合口味的店;对话式搜索通过“几人吃”“辣度接受度”“人均预算”等多轮澄清,再把口味、距离、评分等子查询结果加权融合,给出唯一最优推荐。

具体案例:某对话式生活助手在旅游城市试点,游客说“想吃点本地特色”,助手追问“能接受内脏类食材吗”后推荐的苍蝇馆子获得用户 4.9 星好评,而传统搜索排名靠前的连锁店仅有 3.8 星。对话带来的精准确认让推荐质量产生了质的飞跃。

Python 演示

python42 行
class SimpleDialogueSearch:    def __init__(self, docs):        self.docs = docs        self.history = []        self.q_count = 0     def rewrite(self, query):        if self.history:            full_query = ' '.join(self.history + [query])        else:            full_query = query        return full_query     def search(self, query):        full_query = self.rewrite(query)        self.history.append(query)        self.q_count += 1        words = full_query.split()        found = []        for doc in self.docs:            score = sum(1 for w in words if w in doc)            if score > 0:                found.append((score, doc))        if not found:            return '没有匹配结果, 请补充需求'        found.sort(key=lambda x: x[0], reverse=True)        return found[0][1] def main():    docs = [        '老街面馆 手工宽面 豌杂面',        '素心素食 蔬菜汤 清淡',        '川味火锅 麻辣 毛肚',    ]    ds = SimpleDialogueSearch(docs)    print('第1轮: ', ds.search('素食'))    print('第2轮: ', ds.search('有汤'))    print('第3轮: ', ds.search('辣'))    print('累计轮次: ', ds.q_count - 1) if __name__ == '__main__':    main()
目的:这个玩具版对话式搜索演示了“查询改写 + 上下文拼接”的核心思想——每一轮把历史问题和当前问题合并成完整查询,再交给简单关键词检索器打分排序。
  1. full_query = ' '.join(self.history + [query])把历史全部对话与当前问题拼接成一句话,模拟向导的记忆。这是最简单的查询改写实现。
  2. self.history.append(query)用户每说一句话都存入历史,下一轮检索会自动带上,实现多轮上下文的累积效果。
  3. score = sum(1 for w in words if w in doc)用关键词重叠数计算文档相关度,模拟向量检索的简化版打分过程。
  4. found.sort(key=lambda x: x[0], reverse=True)按得分降序排列候选文档,取最高分作为最终答案,对应正文中的结果融合思想。
  5. if __name__ == '__main__':直接运行脚本即可看到多轮对话如何逐步收敛到正确文档,从“素食”到“有汤”再到“辣”,系统每次都能结合前文找到目标。

常见误区

误区对话式搜索应该像 Siri 一样必须用语音说,打字的多轮问答不算对话式搜索。

正解对话式搜索的实质是“多轮交互与上下文维护”,与输入模态没有必然关系。文本对话框里的连续问答同样是对话式搜索。向导既可以是面对面对话,也可以是你写一封信、他回一封信,笔谈也是对话。语音只是输入方式的其中一种,打字、表情、甚至图片在多模态系统中都属于对话输入。

为何常见:日常生活中“对话”通常指开口说话,于是很多人把语音交互与对话式搜索划等号,忽略了它真正的技术内核是多轮上下文管理。

误区把前几轮问题简单拼接后喂给检索器,就能获得完美结果,拼接就完事了。

正解盲目拼接会引入噪声。上一轮说“给妈妈买手机”,本轮问“那耳机呢”,直接拼接可能让检索器去搜“手机耳机”而不是“适合妈妈的耳机”。查询改写需要保留的是与当前意图相关的约束,过滤掉过期信息和无关词。上下文是向导的笔记,但笔记要经过整理,不能把流水账原封不动背给游客听。

为何常见:入门阶段最容易实现的方案就是拼接历史,看到表面效果提升就想当然,直到上下文过长、噪声过大时才发现问题。

误区多轮交互必然带来更高延迟,用户一定不喜欢,所以对话式搜索在体验上不如传统搜索。

正解用户感知的体验是“能否尽快找到满意答案”,不只看首字节时间。对话式搜索多花几百毫秒澄清,但能省去用户翻页、换词、重搜的十几秒。向导走得慢,但一次带对路,游客整体到达目的地的时间反而更短。延迟是成本,而准确率与满意度是收益,评价体验必须把两者放在一起看。

为何常见:把“响应时延”当成用户体验的全部指标,忽略了成功率、满意度、任务完成时长等更重要的度量,这是工程师常见的指标视角局限。

误区对话式搜索语义能力更强,以后传统搜索会被淘汰。

正解两者是互补关系而非替代关系。查“北京今天限号吗”这种明确问题,一次点击得到的效率远超对话;“周末带孩子去哪玩,要室内的,孩子 5 岁”这类模糊需求才需要对话式搜索。就像赶路游客会看路牌,深度游游客会请向导,这两种工具会长期并存,传统搜索仍然是对话式系统背后的重要索引能力。

为何常见:技术叙事容易落入“新替旧”的二元思维,忽略不同需求匹配不同交互形态的基本产品逻辑。

面试题

Q1. 对话式搜索与传统搜索最主要的区别是什么?

单选题 · easy

  • A.是否支持多轮对话交互← 正确答案
  • B.是否能返回更多网页结果
  • C.是否必须使用语音输入
  • D.是否依赖云端服务器

答案:A。对话式搜索的核心特征是维护上下文并支持多轮澄清,A 正确。结果数量、语音输入和云端部署都不是两者本质差异,B、C、D 均属于表面特征。

Q2. 传统搜索的“单轮输入”意味着什么?

单选题 · easy

  • A.每轮搜索的会话结束即遗忘← 正确答案
  • B.每次搜索只返回一条结果
  • C.用户只能输入一个汉字
  • D.系统只能处理英文内容

答案:A。单轮输入指一次请求后交互即结束,系统不会记住上一次查询,相当于每句话都面对素不相识的陌生人。B 混淆了结果数量,C、D 更是无依据的极端说法。

Q3. 以下哪些属于对话式搜索具备的能力?

多选题 · mid

  • A.记忆前几轮对话内容← 正确答案
  • B.对模糊意图发起追问← 正确答案
  • C.把省略成分补全改写← 正确答案
  • D.保证结果永远正确

答案:ABC。多轮记忆、澄清追问、查询改写是对话式搜索的三个典型能力。D 是绝对化表述,任何搜索系统都无法保证结果永远正确,因此不能选。

Q4. 指代消解解决的核心问题是什么?

单选题 · mid

  • A.让“这家店”回到具体对象← 正确答案
  • B.提高数据库的读写速度
  • C.决定网页的展示顺序
  • D.压缩图片资源的大小

答案:A。指代消解负责把代词还原为具体的实体,比如把“那家店”还原成“老街素食面馆”。B、C、D 涉及的是存储、排序、图像压缩等无关领域,不属于多轮语义理解范畴。

Q5. 关于上下文理解机制,下列说法正确的有?

多选题 · hard

  • A.对话状态会不断累积新约束← 正确答案
  • B.过期信息可能干扰判断← 正确答案
  • C.上下文总长度越长越好
  • D.澄清是主动收敛的手段← 正确答案

答案:ABD。状态更新函数 S_t=f(S_{t-1}, q_t) 说明新约束不断融入,但历史和当前信息混在一起,过期信息确实会引入噪声,因此 B 也对。C 错在无限拼接会导致信息饱和与性能下降。澄清追问正是主动消除歧义、帮助收敛的关键机制,D 正确。

Q6. 对话式搜索总延迟与传统搜索延迟的关系是?

单选题 · mid

  • A.多轮延迟累加所以通常更长← 正确答案
  • B.多轮延迟相乘所以爆炸增长
  • C.每轮都独立所以完全相等
  • D.对话轮数越少延迟越高

答案:A。根据 L_对话 = Σ(L_理解 + L_检索),对话式搜索总延迟是每轮延迟之和,通常比单次搜索更长。B 错误地使用了乘法,C 忽略了每轮的独立计算成本,D 把关系说反了。

Q7. 上下文拼接过长导致的主要问题是?

单选题 · hard

  • A.冗余噪声稀释真正约束← 正确答案
  • B.检索结果颜色发生变化
  • C.用户打字速度显著加快
  • D.语音识别精度大幅下降

答案:A。上下文过长时,无关的历史信息会干扰相关性判断,让真正重要的约束被噪声稀释,这正是盲目拼接的隐患。B、C、D 分别涉及渲染、输入、语音等无关层面,不是上下文过长的直接后果。

Q8. 查询改写 q' = Rewrite(q_t, S_{t-1}) 的主要目的是?

单选题 · easy

  • A.补全省略并贴合上下文← 正确答案
  • B.增加结果页的广告位
  • C.压缩数据库存储空间
  • D.减少服务器的并发数

答案:A。查询改写的本质是把当前问题与历史状态结合,补全“那个”“这家”等省略成分,生成可用于检索的完整查询。B、C、D 与广告、存储、并发无关,纯属干扰项。

Q9. 对话式搜索的未来演进方向包括哪些?

多选题 · mid

  • A.融合图片与语音的多模态输入← 正确答案
  • B.智能体协同完成搜索后任务← 正确答案
  • C.长期记忆支持个性化推荐← 正确答案
  • D.彻底淘汰倒排索引技术

答案:ABC。多模态、智能体协同、长期个性化是正文明确的三大方向。D 过于绝对,传统索引技术仍然是检索系统的基础能力,对话式搜索不会也不应彻底淘汰索引技术。

Q10. 对话状态趋于饱和时,下列哪种处理更合理?

单选题 · extreme

  • A.压缩旧轮次仅保留关键约束← 正确答案
  • B.把全部历史原样无限拼接
  • C.忽略当前轮次的用户输入
  • D.直接清空并跳过多轮对话

答案:A。信息饱和时应当压缩与提炼,只保留对当前意图有价值的约束,这与查询改写思想一致。B 会加剧噪声,C 完全错误地丢弃新信息,D 失去了多轮对话的意义。A 在工程实践中也是主流策略。