当前位置: 首页 > news >正文

RAG系统为何总出错?三大核心机制,让你的检索能力“知不知”!

本文深入探讨了RAG系统中存在的“不知知”问题,即无法有效将知识“喂”给LLM。文章从老子与王阳明的哲学思想出发,阐述了检索质量的重要性。接着,详细解析了重排序、分块重叠和余弦相似度三个关键机制,并指出了embedding模型选择、混合检索和评估指标等RAG检索环节的基础和进阶问题。文章强调,检索链条的强度取决于最弱的一环,任何一环的失效都会影响最终结果。


RAG 系统最大的病,就是不知知。

什么是不知知?这个概念很多名人都有过解释。

老子说:“知不知,尚矣;不知知,病也。” 意思是“知道自己不知道,是高明的;不知道却以为自己知道,是病”。

王阳明《传习录》中也说过:“未有知而不行者,知而不行只是未知。”要表达的是:没有“知道了却不去做这回事”,你说你知道但没做到,那就是还没真知道。

引申到 RAG 系统中就是:如果只是能检索到相关文档,算不得本事,能把正确的知识“喂”给 LLM,那才是真厉害。

找到了一堆文档,但是不能帮 LLM 输出正确的答案,那就是没找到。如果此时还以为找到了,那就是病,得治。

如何治?

想象一个常见的场景:我们搭好了 RAG 管道,向量数据库里写满了文档,选了合适的 embedding 模型,用最牛的 LLM。然后查询一跑,返回的答案驴唇不对马嘴。

问题出在哪里?我们尽可能地优化了所有环节,唯独没验证送进 LLM 嘴里的东西质量怎么样

做过开发的都明白一个道理,想得到正确的输出,就必须有正确的输入。

棉花堆里是提炼不出黄金的。

所以,为了治病,最重要的是理解三个机制:重排序、分块重叠、余弦相似度。


重排序

顾名思义,这个步骤就是对找到的结果再次进行排序,把最相关的知识给 LLM。

检索过程一般分两阶段。

第一阶段是初始检索,使用双编码器 Bi-encoder 从百万级文档中快速找出 Top-K 候选。这个阶段的优势是速度快,劣势是精度偏低,容易漏掉细微的语义关联。

第二阶段是重排序,使用交叉编码器 Cross-encoder 对 Top-K 候选进行二次筛选,一对一重新打分,挑出 Top-N 送进 LLM。这个阶段的优势是精度高,劣势是速度慢。所以不适合做全库查询。

总结操作路径:初始检索拿回 Top-50 候选 → 交叉编码器一对一重新打分 → 按新分数排序 → 取 Top-5 送进 LLM。

另外,交叉编码器的推理成本比双编码器高得多。HuggingFace 给出的例子是 10 个查询 × 500 个候选文档,Cross-encoder 需要 5000 次计算,Bi-encoder 只需 510 次。

具体倍数随候选数量变化,在一些低延迟场景下要算清楚,再确定如何使用。


分块重叠

假设有一句话:“该方案的核心优势在于,它能在不增加延迟的前提下将准确率提升 15%。”

你设了 chunk size = 500 tokens,切分时刚好落在“它能在不增加延迟的”和“前提下将准确率提升 15%”之间。

前半截块讲的是“不增加延迟”,后半截块讲的是“准确率提升 15%”。两个块各自语义都不完整,用户查“哪个方案能提升准确率又不加延迟”,结果是两个块都匹配不上。

答案明明在数据库里,但检索不出来。

分块重叠就是在相邻块之间留一段缓冲带,让边界处的内容同时出现在两个块里。通常 10-20% 的重叠率就够。chunk size 500 tokens 的话,重叠 50-100 tokens。结构化文本(代码、表格)可以少一些,叙述性长文本需要多一些。

但重叠只能解决边界信息丢失问题,解决不了切分粒度本身选错的问题。

chunk 太大,噪声多;chunk 太小,语义碎片化。而且重叠会让向量数据库膨胀,检索计算量也跟着涨,不是越多越好。

更根本的思路是语义切分(Semantic Chunking)。

不按固定长度切,而是按语义边界切。段落讲完一个完整意思就是一个 chunk,天然不会把语义劈成两半。固定长度 + 重叠是最基础的方案,能用,但不是唯一方案。


余弦相似度

余弦相似度给了高分,不代表内容真的相关。

余弦相似度做的事情很简单:把查询和文档块各自变成一个高维向量,然后算两个向量之间夹角的余弦值。夹角越小,余弦值越接近 1,系统就判定“越相关”。

它只看方向,不看长度,所以一句话和一整段话只要语义方向一致,分数可以一样高。

cosine_similarity = cos(θ) = (A · B) / (||A|| × ||B||) A = 查询的 embedding 向量 B = 文档块的 embedding 向量 θ = 两个向量之间的夹角 结果范围:[-1, 1],越接近 1 越相关

听起来很优雅,但问题在上游:这些向量是谁生成的?是 embedding 模型。如果你用一个通用 embedding 模型去处理高度专业的医学文献,模型根本不理解那些术语之间的细微差异,编码出来的向量方向就是错的。

余弦相似度在错误的向量上算得再精确,也是精确的垃圾。

还有一个更隐蔽的问题:余弦相似度是对称的:sim(A, B) = sim(B, A)。它分不清“谁有用、谁没用”。

举个实际场景:你的知识库里同时存了这两段

  • 块 A:“RAG 系统的核心挑战是什么?”(一篇 FAQ 里的提问)
  • 块 B:“RAG 系统通过检索外部知识来增强生成质量。”(一篇技术文档里的描述)

用户问“RAG 系统有什么问题”,余弦相似度可能给 A 和 B 打出差不多的分,因为它们在向量空间里方向接近,都跟“RAG 系统”和“问题/挑战”沾边。但 A 只是在重复问题,B 才是有用的上下文。余弦相似度分不出哪个是真正能帮 LLM 回答问题的内容。

这就是为什么重排序是必要的补偿机制,交叉编码器把查询和文档块拼在一起看,能分辨“谁在问、谁在答”。


RAG 检索质量的完整图景

回过头看,这三个部分是一条链上的三个杠杆点:

文档 → 分块(带重叠)→ Embedding → 向量数据库 ↓ 查询 → Embedding → 余弦相似度匹配 → Top-K 候选 → 重排序 → Top-N 精选 → LLM 生成

链条的强度取决于最弱的那一环。分块切烂了,后面的 embedding 和检索全在处理残次品。

Embedding 模型不懂专业领域的专业名词,余弦相似度算出来的“相关性”就是幻觉。

检索结果没重排序,LLM 就在一堆噪声里找答案。

关键杠杆点: 1. 分块策略(粒度 + 重叠)→ 决定信息完整性 2. Embedding 模型质量 → 决定语义表示精度 3. 重排序模型 → 决定最终上下文质量 任何一环崩了,后面全白搭。


01

什么是AI大模型应用开发工程师?

如果说AI大模型是蕴藏着巨大能量的“后台超级能力”,那么AI大模型应用开发工程师就是将这种能量转化为实用工具的执行者。

AI大模型应用开发工程师是基于AI大模型,设计开发落地业务的应用工程师。

这个职业的核心价值,在于打破技术与用户之间的壁垒,把普通人难以理解的算法逻辑、模型参数,转化为人人都能轻松操作的产品形态。

无论是日常写作时用到的AI文案生成器、修图软件里的智能美化功能,还是办公场景中的自动记账工具、会议记录用的语音转文字APP,这些看似简单的应用背后,都是应用开发工程师在默默搭建技术与需求之间的桥梁。

他们不追求创造全新的大模型,而是专注于让已有的大模型“听懂”业务需求,“学会”解决具体问题,最终形成可落地、可使用的产品。

CSDN粉丝独家福利

给大家整理了一份AI大模型全套学习资料,这份完整版的 AI 大模型学习资料已经上传CSDN,朋友们如果需要可以扫描下方二维码&点击下方CSDN官方认证链接免费领取【保证100%免费】

02

AI大模型应用开发工程师的核心职责

需求分析与拆解是工作的起点,也是确保开发不偏离方向的关键。

应用开发工程师需要直接对接业务方,深入理解其核心诉求——不仅要明确“要做什么”,更要厘清“为什么要做”以及“做到什么程度算合格”。

在此基础上,他们会将模糊的业务需求拆解为具体的技术任务,明确每个环节的执行标准,并评估技术实现的可行性,同时定义清晰的核心指标,为后续开发、测试提供依据。

这一步就像建筑前的图纸设计,若出现偏差,后续所有工作都可能白费。

技术选型与适配是衔接需求与开发的核心环节。

工程师需要根据业务场景的特点,选择合适的基础大模型、开发框架和工具——不同的业务对模型的响应速度、精度、成本要求不同,选型的合理性直接影响最终产品的表现。

同时,他们还要对行业相关数据进行预处理,通过提示词工程优化模型输出,或在必要时进行轻量化微调,让基础模型更好地适配具体业务。

此外,设计合理的上下文管理规则确保模型理解连贯需求,建立敏感信息过滤机制保障数据安全,也是这一环节的重要内容。

应用开发与对接则是将方案转化为产品的实操阶段。

工程师会利用选定的开发框架构建应用的核心功能,同时联动各类外部系统——比如将AI模型与企业现有的客户管理系统、数据存储系统打通,确保数据流转顺畅。

在这一过程中,他们还需要配合设计团队打磨前端交互界面,让技术功能以简洁易懂的方式呈现给用户,实现从技术方案到产品形态的转化。

测试与优化是保障产品质量的关键步骤。

工程师会开展全面的功能测试,找出并修复开发过程中出现的漏洞,同时针对模型的响应速度、稳定性等性能指标进行优化。

安全合规性也是测试的重点,需要确保应用符合数据保护、隐私安全等相关规定。

此外,他们还会收集用户反馈,通过调整模型参数、优化提示词等方式持续提升产品体验,让应用更贴合用户实际使用需求。

部署运维与迭代则贯穿产品的整个生命周期。

工程师会通过云服务器或私有服务器将应用部署上线,并实时监控运行状态,及时处理突发故障,确保应用稳定运行。

随着业务需求的变化,他们还需要对应用功能进行迭代更新,同时编写完善的开发文档和使用手册,为后续的维护和交接提供支持。

03

薪资情况与职业价值

市场对这一职业的高度认可,直接体现在薪资待遇上。

据猎聘最新在招岗位数据显示,AI大模型应用开发工程师的月薪最高可达60k。

在AI技术加速落地的当下,这种“技术+业务”的复合型能力尤为稀缺,让该职业成为当下极具吸引力的就业选择。

AI大模型应用开发工程师是AI技术落地的关键桥梁。

他们用专业能力将抽象的技术转化为具体的产品,让大模型的价值真正渗透到各行各业。

随着AI场景化应用的不断深化,这一职业的重要性将更加凸显,也必将吸引更多人才投身其中,推动AI技术更好地服务于社会发展。

CSDN粉丝独家福利

给大家整理了一份AI大模型全套学习资料,这份完整版的 AI 大模型学习资料已经上传CSDN,朋友们如果需要可以扫描下方二维码&点击下方CSDN官方认证链接免费领取【保证100%免费】

http://www.jsqmd.com/news/950971/

相关文章:

  • 基于Python的智慧能源负荷预测全流程工具包,含数据清洗、特征构建、可视化与查询功能
  • 2026年常州遗产继承律师怎么挑?5位专业律师实用指南 - 本地品牌推荐
  • 实木家具品牌推荐性价比 - 舒雯文化
  • API集成管理平台选型指南:五款主流方案能力解析
  • AI工具与智能融资整合落地指南(从API对接到风控模型嵌入的7大关键断点突破)
  • 如何快速解决Windows热键冲突:专业工具使用指南
  • Agent“活”起来!企业级动态RAG的可靠记忆与知识进化之路
  • 3步掌握EPubBuilder:打造专业级在线电子书编辑器实战指南
  • ESP-SR:嵌入式边缘AI语音识别框架的架构设计与高效实现
  • 2026年 工衣厂家/防静电工衣/电子厂工衣/食品厂工衣/夏天工衣推荐榜单:透气舒适与安全防护兼备的实力品牌解析 - 品牌企业推荐师(官方)
  • AI时代,程序员焦虑升级:是内卷CRUD还是借力AI?35岁危机如何破局?
  • 从引脚矩阵到万物互联:ESP32-Arduino如何重新定义物联网开发边界
  • 2026年实测10款降AIGC平台推荐:免费与付费全对比,毕业论文淡化AIGC痕迹必看 - 降AI小能手
  • nf-core流程本地化实战:从AWS-iGenomes到自定义参考基因组的配置避坑指南
  • 告别死记硬背:用‘小树’和‘铃儿’轻松搞定三十六计(附110位数字编码表)
  • 镜像视界硬核技术,领跑视频孪生
  • Calibre中文路径问题终极解决方案:告别拼音目录,享受原生中文路径
  • 2026年苏州线下演出公司推荐:传媒公司服务内容与直播孵化与IP打造及网红明星孵化优势解析 - 资讯纵览
  • 2026年厂服厂家推荐榜单:电子厂/食品厂/防静电厂服,冬季夏季全覆盖,专业耐穿与品质选型指南 - 品牌企业推荐师(官方)
  • AI大模型零基础入门:这份保姆级学习路线图,助你快速掌握核心技能——大模型书籍推荐精选
  • Gofile下载效率革命:多线程下载器实战深度解析
  • 解锁Blender 3D打印潜能:3MF格式转换完全指南
  • Qt Quick Canvas 画布实战:手把手教你用QML打造一个可复用的汽车仪表盘组件
  • IQUNIX EV63磁轴键盘推荐|升级神秘X轴Ultra 到手1399元
  • Bootstrap-Select 高性能企业级下拉选择框组件架构设计与实现方案
  • QNAP多云盘挂载工具完整指南:一站式云存储管理中心终极方案
  • 2026 年 6 月消防设施操作员题库高效备考攻略:5 款工具实测 - 讲清楚了
  • AI Agent Harness Engineering 的元学习能力:快速适应新任务的方法
  • 手把手教你用Perl+SVG搞定叶绿体基因组可视化(附脚本下载与避坑指南)
  • 别只盯着PSNR!我扒了MIMO-UNet和DeepRFT的代码,发现傅里叶残差块替换的‘隐藏关卡’