RAG 还是长上下文:一场被缓存改写成本的路线之争
2024 年的论文似乎给出了胜负:长窗赢在性能、RAG 赢在成本,Self-Route 用自省路由居中调停。但提示词缓存把常驻语料的读取价格打到一成乃至更低,长上下文的贵正被摊薄,路线之争的成本前提变了。本篇把能力天花板、失效边界与新经济学摆上同一张桌子。
手头的任务很典型:一批语料要用起来,是整库通读,还是按需检索?整库通读靠长上下文 Long-Context,下文简称长窗;按需检索靠检索增强生成 RAG(Retrieval-Augmented Generation)。
两条路之争,已经吵了两年,性能和成本各执一词。
但成本的前提,正在被提示词缓存 Prompt Caching 改写,定价见下文缓存经济学一节。长窗还贵吗?
天花板与失效边界:长窗真能装下一切吗
长上下文阵营的能力天花板由 Gemini 1.5 技术报告标定(arXiv:2403.05530):文本 / 视频 / 音频统一处理,在 ≥10M token 的语料上检索召回率 >99%。
报告还做了个展示性实验:使用者不足 200 人的 Kalamang 语,把语法书等材料整体塞进上下文来辅助翻译。把所有东西塞进上下文这条路,能力上确实摸到了千万 token 量级。走得通。
RULER(arXiv:2404.06654,COLM 2024)则从另一头画出失效边界:17 个模型 × 13 项任务系统压测,声称支持 32K+ 的模型里约一半在 32K 处已无法维持满意性能。
标称长度 claimed length 不等于有效长度 effective length。选型时看宣传页的窗口数字,不如在自家任务上实测衰减。
位置效应(position effects)让窗口中段材料的利用率偏低;任务越需要跨段整合,性能越早跌破满意线。有效长度随任务难度走,宣传页给不出这个数。
2024 年的裁决:Self-Route,先试探再升级
正面比过两条路的是 Self-Route(arXiv:2407.16833,Google DeepMind 与密歇根大学,EMNLP 2024 Industry Track)。资源充足时,长上下文的平均性能优于 RAG;RAG 则有明显的成本优势:只付检索片段的钱。
论文的解法是让模型自省路由 self-route:先按 RAG 试探作答,模型若判断检索结果不足以回答,再升级长上下文重问。
结果两头兼顾。整体性能与纯长上下文相当,计算成本显著降低,约省四成。
裁决不是 RAG 已死。论文给的形态是按请求路由。2024 年的胜负手在成本:长窗性能好,但每轮全量付费。
缓存经济学:被摊薄的贵
上述成本结论默认长上下文每轮全量重算,而提示词缓存正在拆掉这个前提。按 Anthropic 平台文档:缓存命中读取按 0.1x 计价,部分场景低至 0.025–0.05x,且命中即刷新 TTL 存活时间。常驻语料从每轮全价变成一次写入、长期打折读取。
讲义定价表给了同方向的实数:DeepSeek V4 Flash 缓存读取低至 0.007,常规输入 0.22–0.44,低档对低档也有约 30 倍价差(L3 p.40)。
长窗每轮全量重算,费用随语料线性上涨;RAG 只为检索片段付费,Self-Route 先试探再升级,成本显著下降,数字见上文。
稳定前缀命中后,读取长期打折,命中即续期;常驻语料的边际成本大幅下降,长窗的贵被摊薄 —— 被蚕食的是 RAG 的传统优势区:成本。
缓存同样改了 RAG 的账:若检索片段的拼接顺序每轮漂移,前缀不稳,缓存反而难命中。同一项技术在重画两条路的成本曲线。论文里的具体数字会过时。
不是二选一:路由与分层
结构视角下,两条路是两种容量观。检索是按需容量:库在外、随时可更新,上限取决于检索质量。长窗是全量常驻:实现简单、贵、受位置效应约束。
Manus 给出第三种折中,原话的中译是「文件系统即终极上下文」:中间产物与结果都落成外部工件 artifact,需要时按需读回。
| 检索 RAG | 长窗 Long-Context | 外置文件(Manus 式) | |
|---|---|---|---|
| 容量观 | 按需:库在外,片段进窗 | 常驻:全量驻窗 | 工件外置,按需读回 |
| 更新 | 索引随时可换 | 语料变即重进 | 文件随任务演化 |
| 主要代价 | 检索质量定上限 | 贵+位置效应 | 读写与组织靠模型自觉 |
| 讲义里的比喻 | 进柜子 | 摆满桌面 | 台账+文件柜 |
把三层放进一张决策树:
三条路是分层关系:热数据走缓存长窗,温数据走检索,冷数据外置文件。Self-Route 的先试探再升级是路由的一个特例;缓存把热层能覆盖的语料越推越大。
与本讲的连接
伴读笔记把上下文管理分成压缩、检索、结构化三条路,本篇放大的是检索这条;讲义 KV 缓存与前缀缓存一节的经济账(L3 p.40)解释了 2024 年裁决为何要重审,笔记里那条压缩会毁缓存的警告也在说同一件事:缓存命中已是设计约束,省钱倒在其次。
热 / 温 / 冷三层与笔记的结论同构:状态文件当真源、上下文当缓存,桌面只留热的,柜子装温冷的;柜子里的经验怎么沉淀成可复用能力,是后半 2b 技能与记忆的主题。等价格表再变一轮,这场裁决是不是又该重审了?
本节论文与规范
本节资料
长上下文阵营的旗舰报告:Gemini 1.5 Pro 支持百万级 token(实验性至 10M),在多针检索里召回率 >99%,且跨模态(视频帧、音频)同样有效。最有说服力的实验是只给一部语法书与平行语料,模型学会把 Kalamang 语翻译成英语。注意常被误引为 2404.05196,正确编号 2403.05530。
- Manus 上下文工程复盘(中文) 博客入门
Manus 团队的中文复盘,最出圈的判断是「KV-cache 命中率是生产 Agent 最重要的单一指标」——命中与否可差 10 倍成本。具体做法:保持前缀稳定、只追加不重写;工具定义只在头部出现一次(遮蔽而非移除);把文件系统当上下文用;todo.md 之类的软状态放到上下文末端。字字来自踩坑。
Anthropic 提示缓存的机制与定价:写入 5 分钟档 1.25 倍、1 小时档 2 倍,命中读取 0.1 倍(部分新模型低至 0.025-0.05 倍);缓存按 512-4096 token 分档起步;一条请求最多 4 个断点;TTL 内每次命中都会刷新。显式断点设计让「什么值得缓存」成为开发者的显式决策,而不是平台的黑盒。
- RULER: What's the Real Context Size of Your Long-Context LM? 论文2404.06654进阶
NVIDIA 的系统体检:17 个模型 × 13 个任务,发现 NIAH 类简单检索近乎满分并不代表长上下文能力强——换成聚合、多跳追踪、变量追踪等复杂任务,声称支持 32K+ 的模型约一半在 32K 处已实际失效。「标称长度 vs 有效长度」的区分即出自这里。
- RAG or Long-Context LLMs? Self-Route 混合方案 论文2407.16833进阶
RAG 与长上下文的正面对比:资源充足时长上下文平均效果更好,但推理成本高得多;Self-Route 让模型先按 RAG 试探并自省「检索到的信息够不够」,不足时再升级为长上下文全量阅读,效果与纯长上下文相当而成本大幅下降(正文约省四成)。RAG vs 长上下文不是二选一,是调度问题。
AI 生成 · 仅供参考,与课程方无关。选中正文里的任何一段也能直接问我(解释一下 / 举个例子)。
本详解以 CMU 11-768 AI Agents (Fall 2026) 课程大纲为参考框架独立撰写,AI 辅助起草、人工抽审。 涉及的官方课件、论文与课程材料版权归原所有方,讲义为站内镜像、其余外链原文出处; 观点与文字(除标注引用外)为作者原创。