一句话定义:长上下文(long context)指模型单次能读进去的 token 上限;RAG(Retrieval-Augmented Generation,AI 词典:检索增强生成">检索增强生成)指先从外部资料库里查出相关片段,再把这些片段塞进上下文让模型作答。前者是"容量",后者是"取数"。
打个比方。长上下文像把整本书摊在桌上,让模型从头读到尾;RAG 像先请图书管理员按索引找出关键那几页,再递给模型。书不厚时,全摊开最省事;书有十万册时,找人查目录才是唯一可行的办法。
为什么长上下文替代不了 RAG
第一是成本结构。上下文越长,每次请求要处理的 token 越多,钱和延迟都跟着涨(具体计费口径以各家官方页面为准)。RAG 把送进去的量压到很小,高频调用时差距会放大。
第二是精度。实践里普遍观察到:上下文塞得越满,模型对中间位置的信息越容易"看漏",首尾两端反而记得牢。资料少而精,往往比多而杂答得更准。
第三是时效与权限。模型权重是静态的,昨天改的制度、今天新增的合同它不知道;RAG 直接查库,改完立刻生效。而且企业内部文档常按人分权限,检索层可以在查询时做隔离,全塞进上下文就做不到。
第四是规模。公司几百万份文档,本来就塞不进任何窗口。
那什么时候直接塞更好
- 材料总共就几页到几十页,一次能装下;
- 任务需要跨段落整体理解:总结、对比、找矛盾、通读一份合同;
- 一次性、临时性的活儿,不值得为它搭一套索引;
- 要求答案忠实于原文全貌,不希望检索阶段漏掉关键页。
什么时候检索更稳也更便宜
- 语料远大于上下文窗口;
- 内容经常变,或需要精确到"哪份文件第几段"的可溯源答案;
- 多用户、有权限隔离;
- 调用频繁,成本敏感;
- 只需要一小块信息,却要塞进整本书的场景。
| 维度 | 长上下文 | RAG |
|---|---|---|
| 适合语料 | 小而集中 | 大而动态 |
| 单次成本 | 随长度上升 | 检索+短上下文 |
| 时效性 | 跟随模型或当次输入 | 改库即生效 |
| 可溯源 | 弱,靠模型复述 | 强,能给出处 |
| 权限隔离 | 难 | 易在检索层做 |
| 主要风险 | 看漏中间、烧钱 | 检索没召回,后面全错 |
对从业者的实际意义:这不是二选一。生产系统里更常见的做法是混合——用检索把候选缩到几十条,再交给长上下文做跨片段整合与推理。换句话说,RAG 负责"找得全",长上下文负责"读得懂"。选择依据不是哪个更先进,而是你的语料有多大、变得有多快、答案要不要出处、一天要跑多少次。
