大模型三面:RAG单轮和多轮问答,区别在哪里?我说:多轮要拼接历史。面完后才知道这么回太没技术含量了
前几天我一个同事去面三面嘛被问到一个看起来挺基础的问题。面试官问他RAG在单轮问答和多轮问答里面推理过程有什么区别他当时脑子里第一反应就是多轮不就是把历史对话拼接到prompt里面然后再走一遍检索加生成嘛。然后他就这么回答了。面试官笑了笑说嗯这是最表层的理解然后接着追问了三四个问题。他才发现自己漏掉的东西实在是太多了。查询到底该怎么改写啊要不要重新检索啊历史怎么管理啊答案怎么保证前后一致啊……这些东西根本不是拼历史三个字就能概括得了的。面完之后他跟我吐槽越想越不甘心。我俩干脆就把这块知识彻底啃了一遍整理成这篇文章。也算是帮大家避个坑吧。如果面试官问你这个问题的话千万别只回答拼接历史对话这个答案说出来基本就等于交白卷了。真正的答案是什么呢多轮RAG它不是单轮RAG的简单叠加而是从无状态的一次性任务变成了有状态的序列决策问题。下面就把这中间的差异掰开揉碎来讲清楚。先说结论单轮RAG的推理链嘛就是一条直线。问题 → 检索 → 生成 → 回答多轮RAG就要多绕好几道弯了。问题 历史对话 ↓是否需要重写(指代消解/补全信息) ↓改写后的独立查询 ↓是否需要重新检索 ↓ 是 ↓ 否 检索 复用历史检索结果/上文 ↓ ↓ └──────────┬──────────────┘ ↓ 生成带一致性约束 ↓ 更新对话历史/记忆 ↓ 回答多出来的这几道工序包括查询改写、检索必要性判断、上下文管理、一致性维护这些才是多轮RAG真正的难点所在。下面来逐个拆解一下。✦ ✦ ✦一、查询理解从直接用到先重构在单轮场景下面呢问题本身就是完整的、自包含的直接拿原始query去检索就行了。比如说用户问RAG中的检索器一般用什么模型。这个语义是完整的没有歧义直接去检索就好。但是多轮场景下就不一样了。轮1 用户RAG中的检索器一般用什么模型轮1 助手常用的有BGE、E5、GTE等双塔embedding模型...轮2 用户那生成端呢轮3 用户它和第一种比有什么优势轮2用户说的那生成端呢你字面上去检索生成端这个词的话几乎查不到什么有效内容。因为它省略了主语和真实意图嘛。所以必须先把它重写成RAG中的生成端一般用什么模型轮3就更麻烦了。“它和第一种都是指代需要结合前两轮的内容才能把它重写成BGE模型和E5模型相比有什么优势”这一步通常叫做查询重写也就是Query Rewriting。有两种做法。一种是用规则或者小模型来做指代消解。比较轻量但是遇到复杂的指代就容易出错。另一种是让LLM来做query rewriting。把完整的对话历史喂给LLM让它输出一个独立完整的查询。效果会更好但是会多一次LLM调用的延迟和成本。这一步要是做不好的话后面的检索就全盘皆输了。这是多轮RAG里面最容易翻车的环节。✦ ✦ ✦二、检索必要性判断不是每轮都要查来看个例子。轮1 用户介绍一下Transformer的注意力机制轮1 助手检索生成介绍了Q/K/V计算方式轮2 用户能不能用更通俗的话再讲一遍轮2这种换个说法或者换个角度重讲的追问其实是不需要重新检索的。直接基于轮1已经检索到的文档或者说轮1的回答本身来做二次生成就行了。重新检索反而有可能召回不相关的内容还浪费检索开销。但是下面这种情况就需要重新检索了。轮2 用户那BERT和它有什么区别这里引入了一个新的实体叫BERT原来检索到的结果里面大概率是没有的所以必须触发新一轮的检索。所以说多轮RAG系统里面通常会加一个路由判断步骤可以用规则也可以让LLM做个二分类。先判断一下这一轮到底是需要检索新的知识呢还是复用已有的上下文就够了✦ ✦ ✦三、上下文管理历史会发胖假设对话进行到第10轮了你直接把10轮的原始问答加上每轮检索到的文档全部塞进prompt的话很容易就超出上下文窗口了。而且大量的无关信息会稀释模型的注意力导致生成质量下降。这个就是常说的lost in the middle问题。常见的有三种处理方式。第一种是滑动窗口。就是只保留最近N轮的原始对话更早的直接丢弃掉。第二种是摘要压缩。把原始的历史通过LLM做一个摘要把2000字压缩成100字左右。原始历史10轮2000字 ↓ LLM摘要用户先了解了RAG检索器和生成器的基本模型选型 目前正在讨论BGE和E5的优劣对比100字第三种是检索历史本身。就是把每一轮的问答也存进向量库里面新问题来了不是无脑地塞入全部历史而是也去检索历史中相关的几轮。这样即使对话很长也只取相关的片段。本质上就是套娃嘛既检索文档库也检索对话历史库。✦ ✦ ✦四、生成阶段多了一致性检查单轮的坑呢就是只需要管这一次的答案是不是准确、有没有幻觉就行了。多轮还有一个额外的坑就是前后矛盾的问题。轮2 助手BGE模型是智源研究院发布的......轮7 用户你之前说的那个模型是谁发布的轮7 助手若重新检索命中了不同版本的文档E5模型是微软发布的...如果轮7检索命中的E5的文档而不是BGE的比如说查询改写出错了“那个模型被消解错了指代对象那就会产生答非所问而且跟自己历史发言矛盾的回答。用户体验上比单轮的一次性错误还要糟糕因为看起来就像是AI记性差、前后不一致”。解决的办法通常是在生成的时候把历史回答也作为约束条件放进prompt里面明确要求说如果本轮问题跟历史提到的实体相关的话要保持指代和结论的一致性。✦ ✦ ✦五、误差传播滚雪球效应这是多轮独有的、也是最麻烦的一个问题。我们来完整看一遍这个链路。轮1 用户李四是哪年出生的 → 检索准确回答1985年轮2 用户那他是哪里人 → 查询重写错误他被消解成了另一上下文中偶然出现的人名 → 检索到错误文档 → 回答张三山东人答非所问且实体错乱轮3 用户他现在多大了 → 基于轮2已经错误的上下文继续推理 → 错误被放大可能给出张三的年龄也可能把两人信息混在一起单轮系统里面一次查询错了的话用户重新问一次就能纠正了互相不影响。但是多轮系统里面呢上一轮的错误会成为下一轮改写和检索的输入。如果没有纠错机制的话错误就会像滚雪球一样越滚越大。所以说比较严谨的多轮RAG系统会加两道保险。一个是置信度检测。如果检索结果和改写后的query相关性得分很低的话就主动去澄清而不是硬答。比如说反问一下您是指李四还是张三另一个是每轮独立验证。生成答案之后用检索到的文档反向去验证答案里面的实体、事实是不是真的能在文档里面找到支撑。相当于一个轻量的fact-checking环节。✦ ✦ ✦写在最后回头看那场面试的话拼接历史对话这个回答本身是没错的。但是它只说对了最表层的操作完全没有触及到问题的核心。真正能体现你有没有做过多轮RAG工程实践的是下面这几点。你有没有意识到查询需要重写而不是直接拿原始问题去检索。你知不知道不是每一轮都要重新检索判断检索必要性能省掉大量的无效开销。你会不会处理历史发胖的问题是用滑动窗口、摘要压缩还是二次检索。你有没有考虑过生成结果的跨轮一致性避免前后矛盾。你知不知道多轮里面的错误会滚雪球式地传播要不要加纠错和置信度检测机制。用一句话来总结的话单轮RAG做的是静态的语义理解多轮RAG做的是动态的、有状态的语义理解。查询改写、检索路由、上下文压缩、一致性约束、误差纠正这五道工序才是真正拉开工程难度差距的地方也是面试官真正想听到的答案。学AI大模型的正确顺序千万不要搞错了2026年AI风口已来各行各业的AI渗透肉眼可见超多公司要么转型做AI相关产品要么高薪挖AI技术人才机遇直接摆在眼前有往AI方向发展或者本身有后端编程基础的朋友直接冲AI大模型应用开发转岗超合适就算暂时不打算转岗了解大模型、RAG、Prompt、Agent这些热门概念能上手做简单项目也绝对是求职加分王给大家整理了超全最新的AI大模型应用开发学习清单和资料手把手帮你快速入门学习路线:✅大模型基础认知—大模型核心原理、发展历程、主流模型GPT、文心一言等特点解析✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑✅开发基础能力—Python进阶、API接口调用、大模型开发框架LangChain等实操✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经以上6大模块看似清晰好上手实则每个部分都有扎实的核心内容需要吃透我把大模型的学习全流程已经整理好了抓住AI时代风口轻松解锁职业新可能希望大家都能把握机遇实现薪资/职业跃迁这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

相关新闻

微信好友关系真相大揭秘:如何发现那些悄悄离开的人

微信好友关系真相大揭秘:如何发现那些悄悄离开的人

微信好友关系真相大揭秘:如何发现那些悄悄离开的人 【免费下载链接】WechatRealFriends 微信好友关系一键检测,基于微信ipad协议,看看有没有朋友偷偷删掉或者拉黑你 项目地址: https://gitcode.com/gh_mirrors/we/WechatRealFriends 你…

2026/8/5 0:59:24 阅读更多 →
面试官冷笑:“什么是 Scaling Law?大模型的「涌现能力」是怎么回事?”

面试官冷笑:“什么是 Scaling Law?大模型的「涌现能力」是怎么回事?”

👔面试官:来讲讲什么是 Scaling Law?大模型的「涌现能力」是怎么回事?🙋♂️我:Scaling Law 就是模型越大越好嘛,参数越多效果越强。涌现能力就是大模型突然变强了。👔面试官&#x…

2026/8/5 0:59:23 阅读更多 →
实战量化数据清洗架构:多市场停牌重构、退市过滤与新股特征提取

实战量化数据清洗架构:多市场停牌重构、退市过滤与新股特征提取

📌 摘要 / 快速解答 (Direct Answer) 构建高可用量化数据清洗 Pipeline 的核心在于解决时间序列对齐、退市标的动态补全与新股首日离群值剔除。基于极简高质的 QuantDash Python SDK,利用其统一的多市场代码后缀(如 .SH, .SZ, .US, .HK&#…

2026/8/5 0:55:22 阅读更多 →

最新新闻

Golang JSON序列化与反序列化:从字符串到结构体的高效转换

Golang JSON序列化与反序列化:从字符串到结构体的高效转换

1. 项目概述:从字符串到结构化数据的桥梁在Golang的后端开发日常里,处理JSON数据就像呼吸一样自然。无论是从HTTP API接收请求体,还是从数据库读取配置字段,亦或是与前端、微服务进行数据交换,JSON都是那个绕不开的“世…

2026/8/5 2:19:03 阅读更多 →
威海拉伸膜的耐温范围是多少?

威海拉伸膜的耐温范围是多少?

威海拉伸膜的耐温范围是多少?在工业和日常生活中,拉伸膜的应用十分广泛。威海作为工业发展较快的地区,其拉伸膜的使用量也相当可观。拉伸膜的耐温范围是影响其使用效果和应用场景的重要因素,下面我们就来深入探讨一下威海拉伸膜的…

2026/8/5 2:19:03 阅读更多 →
022、EMO注意力高效多尺度注意力复现:YOLOv12轻量化改进的即插即用模块

022、EMO注意力高效多尺度注意力复现:YOLOv12轻量化改进的即插即用模块

022、EMO注意力高效多尺度注意力复现:YOLOv12轻量化改进的即插即用模块 昨晚调模型调到凌晨两点,发现一个特别有意思的现象——YOLOv12在COCO上跑得好好的,换到自制的工业零件数据集上,小目标漏检率直接飙到37%。我盯着TensorBoar…

2026/8/5 2:19:03 阅读更多 →
Unity Addressables资源热更新实战:从配置到部署全流程解析

Unity Addressables资源热更新实战:从配置到部署全流程解析

1. 项目概述:为什么我们需要Addressables?在Unity项目开发中,尤其是移动端和在线游戏,资源管理一直是个老大难问题。回想一下,你是不是也经历过这样的场景:为了修复一个UI贴图错误,或者更新一个…

2026/8/5 2:19:03 阅读更多 →
023、EfficientAdditiveAttention高效加法注意力复现:消除矩阵乘法的YOLOv12注意力改进

023、EfficientAdditiveAttention高效加法注意力复现:消除矩阵乘法的YOLOv12注意力改进

023、EfficientAdditiveAttention高效加法注意力复现:消除矩阵乘法的YOLOv12注意力改进 兄弟们,今天这篇咱们聊个有意思的东西。上周我在调YOLOv12的时候,发现一个特别膈应人的问题——模型跑起来倒是挺快,但一看nvidia-smi&#…

2026/8/5 2:19:03 阅读更多 →
TikTok Shop店群自动化管理系统:秒级轮询监控,竞品一动你3秒内跟进

TikTok Shop店群自动化管理系统:秒级轮询监控,竞品一动你3秒内跟进

TikTok Shop店群自动化管理系统:秒级轮询监控,竞品一动你3秒内跟进 做店群的老板都知道,TikTok Shop的批量抓取采集,是店群运营中最耗人力也最容易出错的环节。 采集竞品数据是店群运营的命脉。但各大平台的反爬系统越来越强&am…

2026/8/5 2:18:03 阅读更多 →

日新闻

Java缓存框架:JetCache

Java缓存框架:JetCache

TOC 一、简介 JetCache 是一个 Java 缓存抽象框架,为不同的缓存解决方案提供了统一的使用方式。 它提供的注解比 Spring Cache 更加强大。 JetCache 的注解支持原生 TTL、两级缓存以及在分布式环境中的自动刷新功能,同时你也可以通过代码直接操作 Cach…

2026/8/5 0:00:43 阅读更多 →
AD 铺铜设置十字连接,过孔全连接,新版AD的简单设置

AD 铺铜设置十字连接,过孔全连接,新版AD的简单设置

需求:通孔焊盘 十字花;过孔 Via 实心直连;贴片焊盘按需设置 AD 测试版本AD24 很多工程师踩坑:全部统一十字,导致接地过孔阻抗高、大电流发热! 一、快捷键打开规则 PCB 界面按下:D R 展开…

2026/8/5 0:00:43 阅读更多 →
AI素描转换技术深度拆解(2024最新论文+工业级落地代码):从Stable Diffusion ControlNet到LoRA微调全链路解析

AI素描转换技术深度拆解(2024最新论文+工业级落地代码):从Stable Diffusion ControlNet到LoRA微调全链路解析

更多请点击: https://kaifayun.com 第一章:AI生成素描效果 AI生成素描效果是计算机视觉与风格迁移技术融合的典型应用,其核心在于将彩色照片或RGB图像转换为具有手绘质感、明暗对比强烈、边缘清晰的单色素描图像。该过程通常依赖于深度学习模…

2026/8/5 0:00:43 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/4 13:24:41 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/4 11:41:39 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/4 5:26:40 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/4 13:38:24 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/4 11:09:16 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/4 13:38:40 阅读更多 →