news 2026/7/18 23:29:33

RAG的“死“与“生“:长上下文时代为何仍需RAG增强技术?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
RAG的“死“与“生“:长上下文时代为何仍需RAG增强技术?

RAG的"死"与"生":长上下文时代为何仍需RAG增强技术?

引言:当1M上下文成为标配,RAG被"宣判死刑"?

2026年,AI领域一个最具争议的话题正在发酵:“RAG已死”

导火索来自DeepSeek V4的发布——100万token上下文窗口,足以容纳整部《三体》三部曲还有余。紧接着,Google Gemini 3.1 Pro在多跳推理测试中达到100%准确率。当模型能"一口吞下"整个知识库时,RAG这个过去两年解决上下文限制的"标准答案",似乎正在失去存在价值。

但故事的另一面是:在一项横评13,628个问题的研究中,RAG整体准确率49.0%,而长上下文(LC)方案为56.3%,差距7.3个百分点。然而,同一研究也揭示了一个残酷事实——RAG的最佳检索器(RAPTOR)在复杂场景下准确率仅38.5%,意味着每5次检索有3次拿不到正确答案。

RAG不会死,但RAG的定义会彻底改变。从"被上下文限制逼出来的检索+拼接",进化为"以模型能力为中心的检索+导航"。

一、长上下文与RAG:谁在"骗"你?

1.1 物理账本:50倍成本差与KV Cache墙

为什么不直接用长上下文替代RAG?先算一笔物理账:

KV Cache是长上下文的硬瓶颈。对Llama 3.1 70B,每token消耗328KB KV缓存。128K上下文需40GB,1M上下文需328GB——超过4张H100的显存总量。

约束维度长上下文(1M)RAG
KV Cache内存~328 GB~1 GB
Prefill延迟>2分钟<1秒
单查询成本~$0.60~$0.012

Prefill阶段标准Transformer注意力计算量为O(n²)。从128K到1M,token数增长8倍,但计算量增长64倍。

结论:长上下文解决的是"能不能"的问题,RAG解决的是"划不划算"和"好不好用"的问题。

1.2 注意力稀释:大窗口不等于"看得好"

即使模型"能读"100万token,它"读得好"吗?

DeepSeek V4论文的MRCR评测显示,在128K以上检索性能就开始下降。长上下文存在三大工程难题:

  • Context Rot(上下文腐化):上下文越长,模型注意力越偏向头尾(U-shape attention bias),中间信息被忽略的概率越高
  • 多跳推理断层:1M token多跳推理测试中,Gemini 3.1 Pro 100%、Claude Opus 4.6 80%、GPT-5.1仅73%,差距横跨60个百分点
  • 成本不可压缩:即使有Prompt Caching,200K token查询仍需约$0.06/次

1.3 基准测试的"罗生门"

为什么RAG vs 长上下文的结论如此矛盾?

权威基准LaRA(arXiv 2502.09977)对11个大模型系统性评估后发现:

  • 模型强弱决定胜负:对弱模型(Mistral-Nemo-12B),RAG比长上下文准确率高38.12%;对强模型(GPT-4o),长上下文通常更优
  • 上下文长度逆转结果:32K上下文时长上下文优势显著;128K时RAG逆转反超
  • 任务类型决定策略:RAG在幻觉检测上优势明显;长上下文擅长推理和比较任务

核心启示:没有银弹。最佳选择取决于模型大小、上下文长度、任务类型。

二、RAG为什么"死不了"?——四大不可替代价值

2.1 成本优化

RAG本质上是token预算优化策略——只花成本在真正相关的文档上。

# RAG vs 长上下文成本对比# 长上下文(128K):每次查询约 $0.60# RAG(检索Top-5 + 短上下文):每次查询约 $0.012# 50倍价差,每天10万次查询,年成本差 ~$200万

2.2 可寻址语料规模

长上下文受限于模型窗口大小(≤1M tokens),而RAG可索引理论上无限的语料(向量数据库存储百亿chunks)。

2.3 知识时效性

长上下文知识来自静态输入;RAG知识库可实时更新,无需重新训练或微调模型。

# 动态更新RAG知识库defupdate_knowledge_base(new_docs):chunks=preprocess_documents(new_docs)embeddings=embed_model.encode(chunks)vector_store.add(chunks,embeddings)# 秒级生效,无需模型重训

2.4 幻觉控制

把全部文档放进上下文,模型自己决定读什么信什么。RAG通过精准检索**“框定”**模型在可信范围内,减少幻觉。

三、RAG 2.0:从"递纸条"到"送地图"

1M上下文时代,RAG正经历根本性蜕变。

3.1 检索策略大解放

V3时代(128K),RAG每个决策都被上下文逼出来的。V4时代(1M),约束松绑了:

# RAG 1.0(128K时代):精确切块,严格控制top-kchunks=split_into_chunks(doc,chunk_size=512)# 调参调到头秃top_chunks=vector_search(query,top_k=5)# 不敢开大,漏了认命# RAG 2.0(1M时代):宽松检索,让模型自己判断# ── 多路召回:向量+关键词+图谱,全塞进去 ──semantic_results=vector_search(query,top_k=20)# 放手检索keyword_results=bm25_search(query,top_k=10)# 精确匹配graph_results=knowledge_graph_query(query)# 关系推理# 合并候选,全部塞进上下文让模型判断candidate_pool=merge(semantic_results,keyword_results,graph_results)response=llm.generate(query,context=candidate_pool)# 模型自己"翻书"

3.2 Agent驱动的多轮检索

检索从"一锤子买卖"变为智能体化的迭代探索

# Multi-step RAG:模型驱动的迭代检索defmulti_step_rag(user_query,knowledge_base):context=[]forround_iinrange(max_rounds):decision=llm.decide(query=user_query,context=context,choices=["ANSWER","RETRIEVE"])ifdecision.action=="ANSWER":returnllm.generate(user_query,context=context)# 模型主动决定再查什么new_chunks=vector_search(decision.search_query,top_k=5)context.append(new_chunks)

3.3 跨文档推理与矛盾发现

当所有可能相关的文档都在上下文里,模型可以发现"法务部说可以,但合规部说不行"这种冲突——这是传统RAG无法做到的。

四、架构演进:混合策略是唯一正解

4.1 企业级RAG混合架构

用户查询 │ ▼ ┌─────────────────────────────────────────────┐ │ 查询路由层:判断用RAG还是长上下文? │ │ 规则:简单事实查询→RAG;复杂推理→LC │ └─────────────────────────────────────────────┘ │ │ ▼(RAG路径) ▼(LC路径) ┌─────────────┐ ┌─────────────────┐ │ 多路检索: │ │ 长上下文处理 │ │ • 向量语义 │ │ (≤128K时启用) │ │ • BM25精确 │ │ │ │ • 图谱关系 │ └─────────────────┘ └─────────────┘ │ ▼ 合并候选结果,送入LLM生成

4.2 代码实现:混合检索

# 基于Chroma的混合检索实现fromlangchain.retrieversimportBM25RetrieverfromchromadbimportClientdefhybrid_retrieve(query:str,top_k:int=20,alpha:float=0.7):""" 混合检索:向量语义 + BM25关键词 alpha: 向量检索权重,0.7表示偏重语义 """# 1. 向量语义检索query_embedding=embed(query)vector_results=vector_store.similarity_search(query_embedding,k=top_k)# 2. BM25关键词检索bm25_results=bm25_retriever.get_relevant_documents(query,k=top_k)# 3. 加权融合(RRF或线性加权)combined=fuse_results(vector_results,bm25_results,alpha=alpha)returncombined[:5]# 宽松检索后送LLM精筛

五、未来展望:RAG的"生"路

5.1 自适应RAG

系统根据查询复杂度自动选择是否启用检索。

  • 简单事实查询:直接LLM回答
  • 复杂多步推理:RAG+长上下文混合

5.2 上下文记忆(Contextual Memory)的崛起

在AI代理场景中,上下文记忆的重要性正快速上升:

  • Hindsight、A-MEM、LangMem等技术让AI代理能存储、存取长时间跨度的相关信息
  • RAG适合检索静态数据;上下文记忆适合需要从反馈中学习并持续演化的AI代理

5.3 RAG-in-the-Loop

将检索过程内化至大模型训练:

  • 检索感知训练:微调阶段加入检索结果作为额外输入
  • 联合优化:同时优化检索模型和生成模型的损失函数

结语:RAG的"死"与"生"

回到开篇的问题:长上下文时代,RAG还需要吗?

答案是肯定的,但RAG不会停留在原地。它正在从"被上下文限制逼出来的权宜之计",进化为"以模型能力为中心的导航系统"。

长上下文解决的是"能不能"的问题,RAG解决的是"划不划算"和"好不好用"的问题。两者不是替代关系,而是混合架构——RAG做粗筛(从百万文档中检索Top-K),长上下文做精读(把Top-K塞入上下文做推理)。

RAG的"死",是旧形态的终结;RAG的"生",是新范式的开启。


参考文献:

  1. RAG技术未来:是否会被大模型取代?,百度开发者中心,2026
  2. LaRA: Benchmarking RAG and Long-Context LLMs,arXiv 2502.09977,2026
  3. RAG和长上下文,正在联手骗你,腾讯云开发者社区,2026
  4. DeepSeek V4 带入 1M 上下文时代:RAG还需要吗?,阿里云开发者社区,2026
  5. 从RAG蜕变重生到PostgreSQL崛起,TechOrange,2026
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/18 23:27:13

如何快速实现知网文献批量下载:CNKI-download完整指南

如何快速实现知网文献批量下载&#xff1a;CNKI-download完整指南 【免费下载链接】CNKI-download :frog: 知网(CNKI)文献下载及文献速览爬虫 (Web Scraper for Extracting Data) 项目地址: https://gitcode.com/gh_mirrors/cn/CNKI-download 在学术研究过程中&#xf…

作者头像 李华
网站建设 2026/7/18 23:26:30

⭐隧道端口、公网 IP、原生端口使用场景全解

先了解:127.0.0.1 永远代表当前项目正在运行的机器&#xff0c;并非固定设备&#xff1b;端口隧道仅存在于本地电脑&#xff0c;云服务器无隧道转发能力. 一、开发环境 dev&#xff08;程序运行在本地电脑,用隧道自定义端口访问服务器里的原生端口&#xff09; 本地开启端口隧…

作者头像 李华
网站建设 2026/7/18 23:20:26

2026杭州APP开发指南:原生开发、跨平台开发和低代码方案应该怎么选?

导语 杭州的开发市场带有较强的互联网产品和电商基因&#xff0c;团队普遍重视用户体验、快速迭代和数据运营。企业选型时还要补充考察系统稳定性、权限治理和长期维护&#xff0c;不能只看产品做得快不快。 企业做APP&#xff0c;真正购买的不是几十个页面&#xff0c;而是一套…

作者头像 李华
网站建设 2026/7/18 23:12:34

文件存储方案的选择:本地存储、对象存储与 CDN 的协作

文件存储方案的选择&#xff1a;本地存储、对象存储与 CDN 的协作 一、文件存储不是「存到硬盘上」就完事 独立产品在早期,文件存储很简单:用户上传的头像存到服务器的 public/uploads/ 目录,代码里引用这个路径,搞定。但随着用户数量增长和文件数量增多,本地存储的局限性开始显…

作者头像 李华
网站建设 2026/7/18 23:08:57

RAG优化:明明召回了正确文档为什么答案还是错?

有一次我排查一个内部知识库&#xff0c;用户问的是&#xff1a; Windows 客户端出现 ERR_CONN_RESET_1007&#xff0c;升级到 4.2 之后应该怎么处理&#xff1f; 系统其实召回了正确文档&#xff0c;而且就在前 10 条里。可最终回答仍然引用了 3.8 版本的旧操作&#xff0c;把…

作者头像 李华