
这个问题是 2025 年下半年以来被问得最多的 RAG 面试题没有之一。原因很简单Gemini 的上下文窗口已经到了 200 万 tokenClaude 100K 起步GPT-4o 也有 128K。既然能把几十万字的文档一股脑塞进上下文里为什么还要费劲搭一套检索向量数据库Rerank 的 RAG 系统上周有个学员去阿里面大模型应用岗。他做的是一套企业知识库系统简历上写了基于 RAG 架构实现企业文档问答支持 5000 份文档检索。面试官看完直接问“你的知识库有 5000 份文档。现在 Gemini 2.5 Pro 的上下文窗口是 200 万 token。你算过 5000 份文档一共多少 token 吗”他说“没仔细算过应该挺多的。”面试官“如果你的文档平均每份 3000 字5000 份就是 1500 万字大约 2000 万 token。确实超了。但如果你的文档只有 500 份呢500 份 × 3000 字 150 万字大约 200 万 token——刚好塞进去。那你还需要 RAG 吗”他停了一下“可能不需要了……但长上下文成本很高吧”面试官冷笑“你算过吗你的 RAG 系统一次查询要调 Embedding API、查向量数据库、跑 Rerank、再调 LLM——这些加起来的成本和直接把文档塞进长上下文比谁贵”他答不上来。面试官最后说“不是说 RAG 过时了也不是说长上下文万能。关键是你作为工程师做选型的时候有没有认真算过账——成本账、准确率账、延迟账。不要因为’大家都在用 RAG’就用 RAG。”今天把 RAG 和长上下文的选型决策从成本到准确率到适用场景彻底拆清楚。先算一笔成本账大部分人说长上下文贵的时候其实没算过具体数字。我们来算。场景一小型知识库100 份文档每份 10 页假设每页约 500 字约 700 token100 份 × 10 页 × 700 token 70 万 token。长上下文方案的成本用 Gemini 2.5 Pro输入 token 价格约 $1.25/百万 token128K 以内70 万 token 的输入成本约 $0.875/次查询。加上输出 token假设回答 500 token$10/百万 token每次查询总成本约$0.88。RAG 方案的成本Embedding查询 Embedding 约 100 token几乎免费。向量检索Milvus 自建或 Pinecone 托管单次查询约 $0.001。Rerank100 个候选片段重排约 $0.01。LLM 生成传入 Top-5 文档约 3500 token query输入约 4000 token输出 500 token。用 GPT-4o 约 $0.012。总成本约$0.023/次查询。方案单次查询成本1万次查询成本长上下文Gemini 2.5 Pro$0.88$8,800RAGGPT-4o Milvus$0.023$230长上下文贵了38 倍。但等一下——这个对比不完全公平。RAG 方案有前期建设成本向量数据库部署、Embedding 索引构建、Rerank 模型部署。如果查询量很小比如一天只有 10 次这些固定成本摊下来可能比长上下文还贵。场景二查询量极低每天 10 次假设 RAG 的固定成本是每月 $50一台小规模 Milvus 实例那每月查询成本 $50 300 × $0.023 $56.9。长上下文每月查询成本 300 × $0.88 $264。RAG 还是便宜。但如果查询量降到每月 30 次呢RAG$50 30 × $0.023 $50.7。 长上下文30 × $0.88 $26.4。查询量低到一定程度长上下文反而更便宜——因为没有基础设施成本。所以第一个结论不是RAG 一定便宜而是要看查询量。查询量大选 RAG查询量极小选长上下文。场景三大型知识库5000 份文档5000 份 × 10 页 × 700 token 3500 万 token。远超任何模型的上下文窗口。这种情况没得选只能用 RAG。或者用分层方案先 RAG 检索出相关文档子集比如 Top-20再把这 20 份文档塞进长上下文里做精读。RAG vs 长上下文成本与文档规模决策图再算一笔准确率账成本只是一个维度。更关键的问题是两种方案谁答得更准长上下文的注意力稀释问题把 70 万 token 塞进上下文模型能看到所有文档。但看到不等于看懂。多项研究表明当上下文长度超过一定阈值后模型对中间位置信息的注意力会显著下降——这就是“Lost in the Middle”现象。答案如果恰好出现在上下文的中间位置比如第 300 页的某个段落模型找到它的概率比出现在开头或结尾低得多。我们在训练营的项目里做过一个实验把同一批 100 个问题分别用 RAG 和长上下文Gemini 2.5 Pro传入完整知识库来回答结果是这样的方案事实提取准确率多文档综合准确率推理题准确率RAGTop-5 GPT-4o89%76%71%长上下文Gemini 2.5 Pro82%84%68%RAG 长上下文Top-20 精读91%88%74%几个关键发现事实提取题 RAG 更强89% vs 82%。因为 RAG 通过检索把答案所在的文档片段放到了上下文的最前面模型注意力集中。而长上下文方案里答案可能在 70 万 token 的任何位置模型需要自己大海捞针。多文档综合题长上下文更强84% vs 76%。因为综合题需要把分散在多份文档里的信息拼在一起。RAG 只返回 Top-5可能漏掉了某些相关文档。而长上下文方案全看到了综合能力更强。两者结合效果最好。先用 RAG 检索 Top-20 文档再把这 20 份文档传入长上下文做精读。既保证了检索的精准性又保留了长上下文的综合能力。实时性问题长上下文方案有一个 RAG 不存在的问题每次查询都要传入完整知识库。如果知识库更新了一份文档你需要在下次查询时传入更新后的完整知识库。这在技术上没问题但在实际操作中意味着你需要有一个流程来维护最新的完整文档集并且每次都要传输几十万 token 的数据。RAG 方案里更新一份文档只需要重新生成它的 Embedding 并更新向量数据库中的对应记录几秒钟就完成了不影响其他文档。延迟对比用户愿意等多久长上下文方案还有一个经常被忽视的问题首字延迟Time to First Token, TTFT。传入 70 万 token模型需要先处理完所有输入才能开始生成回答。以 Gemini 2.5 Pro 为例70 万 token 的 TTFT 大约在8-15 秒取决于负载。用户问一个问题等 10 秒才开始看到回答。RAG 方案传入的是 Top-5 文档片段约 3500 tokenTTFT 通常在0.5-1.5 秒。加上检索耗时约 0.2-0.5 秒总延迟约1-2 秒。def estimate_latency(approach: str, doc_tokens: int) - dict: 延迟估算。 为什么关注 TTFT因为用户感知的延迟主要取决于 从提问到看到第一个字的等待时间。 超过 3 秒用户就开始不耐烦了。 if approach long_context: # 长上下文TTFT 随输入 token 数线性增长 ttft 2.0 doc_tokens / 100000 * 1.5 # 经验公式 return { retrieval_ms: 0, ttft_s: round(ttft, 1), total_first_token_s: round(ttft, 1) } elif approach rag: # RAG检索 短上下文生成 retrieval_ms 300 # 向量检索 Rerank llm_input_tokens 4000 # Top-5 文档 query ttft 0.5 llm_input_tokens / 100000 * 1.5 return { retrieval_ms: retrieval_ms, ttft_s: round(ttft, 1), total_first_token_s: round(retrieval_ms/1000 ttft, 1) }方案检索耗时TTFT用户感知总延迟RAG0.3秒0.5秒约 1 秒长上下文70万token010秒约 10 秒长上下文20万token04秒约 4 秒在面向用户的产品里10 秒的等待基本不可接受。这也是为什么即使技术上可以用长上下文很多产品仍然选择 RAG 的原因之一。RAG vs 长上下文准确率、成本、延迟三维对比选型决策框架什么时候用什么讲了这么多对比落到实际选型上该怎么决策我们总结了一个四步决策框架。第一步看文档量。超过 200 万 token约 1500 份 10 页文档——只能 RAG没有选择。第二步看查询量。文档量在上下文窗口以内时如果每月查询少于 50 次长上下文可能更划算省了基础设施成本。超过 50 次RAG 的边际成本优势开始体现。第三步看延迟要求。用户直接使用的产品TTFT 超过 3 秒就不行——选 RAG。内部分析工具、离线报告生成——延迟不敏感长上下文可以考虑。第四步看问题类型。主要是精确查找类问题“XX 的定义是什么”——RAG 更强。主要是综合分析类问题“比较这三份文档的观点”——长上下文更强。两者兼有——RAG 长上下文组合方案。def select_approach(doc_count: int, avg_pages: int, monthly_queries: int, max_latency_s: float, primary_question_type: str) - str: 选型决策函数。实际项目中可能更复杂但核心逻辑就这几步。 total_tokens doc_count * avg_pages * 700 # 粗估 # 第一步文档量超限 if total_tokens 2_000_000: return RAG文档量超出上下文窗口 # 第二步查询量 if monthly_queries 50: rag_monthly_cost 50 monthly_queries * 0.023 # 固定成本 边际成本 lc_monthly_cost monthly_queries * (total_tokens / 1_000_000 * 1.25 0.005) if lc_monthly_cost rag_monthly_cost: # 第三步延迟 estimated_ttft 2.0 total_tokens / 100_000 * 1.5 if estimated_ttft max_latency_s: return 长上下文查询量低 延迟可接受 # 第四步问题类型 if primary_question_type synthesis: return RAG 长上下文组合检索 Top-20 精读 return RAG默认推荐这套 RAG vs 长上下文的选型分析框架是我们训练营金融保险 RAG 项目里学员必须完成的第一个决策环节。学员不只是学怎么搭 RAG而是先回答该不该搭 RAG——从文档量、查询量、延迟要求到成本测算每个维度都有对应的计算脚本和决策依据。RAG vs 长上下文选型决策树2025-2026 趋势融合是方向最后说一下趋势。RAG 和长上下文不是非此即彼的关系而是在走向融合。第一种融合RAG 做粗筛 长上下文做精读。先用 RAG 从 5000 份文档里检索出 Top-20 最相关的文档然后把这 20 份文档约 14 万 token传入长上下文做精读。兼顾了 RAG 的检索精度和长上下文的综合能力。第二种融合缓存 KV Cache RAG。把知识库文档预先编码成 KV Cache 缓存起来查询时只需要编码 query 并做注意力计算。这样避免了每次都重新编码长文档的延迟问题同时保持了长上下文的综合能力。Google 的 Context Caching 功能就是这个思路。第三种融合Agentic RAG。不再是单次检索而是让 Agent 根据问题自主决定先检索一轮看结果不够再换关键词检索第二轮或者直接用长上下文精读某份文档。这其实就是 Deep Research Agent 的思路。面试怎么答 RAG vs 长上下文先说结论30秒“两者不是替代关系是互补关系。文档量超过上下文窗口只能用 RAG文档量小且查询少可以考虑长上下文但最优方案往往是两者结合——RAG 粗筛 长上下文精读。”再说具体权衡维度1分钟“我从三个维度做过对比。成本上大查询量 RAG 便宜几十倍因为每次只传 Top-5 而不是全量文档。准确率上精确查找 RAG 更强因为检索聚焦多文档综合长上下文更强因为信息更全。延迟上RAG 首字延迟约 1 秒长上下文传 70 万 token TTFT 要 10 秒以上面向用户的产品基本不可接受。”最后说项目实践30秒“在我们的金融保险项目里5000 份文档日均查询几百次选的是 RAG。但对于需要跨文档综合的复杂问题我们会把 RAG 检索的 Top-20 文档塞进长上下文做精读综合准确率从 76% 提升到 88%。选型不是拍脑袋是算过成本账、准确率账和延迟账的。”今天这道题只是大模型面试中 RAG 工程化的一个切面。真正的面试官不会只问这一问。他们会顺着你的回答追下去追到你答不上来为止——判断的就是你到底做没做过这个系统。背答案的人和真正做过的人说话方式完全不一样。前者说文档多用 RAG文档少用长上下文后者说我们算过5000 份文档约 3500 万 token远超窗口只能 RAG但有个客户只有 200 份文档、每月查询不到 50 次我建议他直接用 Gemini 长上下文省了搭 Milvus 的运维成本。面试官三句话就能听出来你是哪种人。学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%免费】