本文接着「术语解构」系列往下写。前两篇《上下文窗口:标称1M的token,为什么32K就开始变笨》和《KV Cache:每读1个token,就要交一笔“显存税”》,一篇讲的是“标称窗口和有效窗口之间隔着什么”,一篇讲的是“这份窗口最后要占多少显存”。这两个问题都不是这篇要重新论证的,这一篇只问一件事:长上下文值不值得为它多付这份钱。
我们第一次用上1M上下文,大概率都会干一件事:把PDF、聊天记录、代码仓库、会议纪要一股脑塞进去,然后问模型“帮我总结一下”。
这件事很爽,账单也很诚实。问题是模型真的把这1M token都用上了吗?
这个问题的答案大概率是:长上下文有价值,但它不是智力外挂。它更像一张很大的工作台,能放更多材料,不代表模型会按你的重点全部读完,也不代表中间那张关键的纸不会被忽略。贵不贵,从来不是问题,更重要的是贵得值不值。
一、1M上下文最容易出现的三个错觉
第一个错觉:能塞进去,就等于能稳定用出来。1M token解决的是输入上限,不是注意力分配。它允许你把更多材料交给模型,但模型在这些材料里怎么找、怎么权衡、会不会漏掉中间某个关键证据,是另一件事。规格表上的上下文长度,更像仓库面积;真正决定任务结果的,是模型能不能在这片仓库里找到正确的那只箱子。
第二个错觉:一次性塞完,就更省钱。长上下文的成本不只是在模型变贵时才出现,输入本身就在计费。以发稿前重新核对的OpenAI官方GPT-4.1价格为例:约1M上下文,输入2美元/百万token,缓存输入0.5美元/百万token,输出8美元/百万token。这几个数字保质期短,Token那篇也提过,大概一个季度就可能变。单看一次调用不吓人,30万token材料,未命中缓存的输入成本大约是0.6美元。但如果每天调用20次、每次都带30万token材料,光输入就是600万token,一天12美元,一个月大约360美元。假设每次还输出2000token,一个月输出再加大约9.6美元。这还只是每天20次的轻量用法。Agent场景里,模型可能每一轮都带着几十万token在跑,规划、检索、改写、校验、重试,十几轮之后,这笔钱会变得很具体。长上下文不是不能用,而是别把它当免费内存用。
第三个错觉:needle测试好看,就等于复杂任务可靠。找出资料中的一句暗号,和从几十份合同里判断责任边界,不是一回事。前者像在大海里找一个发光浮标,后者要把定义、例外、补充协议、历史版本、责任条款串起来看。很多模型在简单needle测试里已经很漂亮,但一换成多针、多跳、聚合、冲突判断,成绩就没那么稳了。
二、真正的问题:有效利用率,不是能不能装下
上一篇提到过NoLiMa和RULER这两个基准测试的名字。NoLiMa做了一件很朴素的事:把问题和答案之间的字面重合去掉,只留下需要推理才能建立的关联,比如问题问的是“和某座歌剧院有关的人是谁”,而材料里只写了这个人住在歌剧院所在的城市,没有直接提到歌剧院三个字。这种设计逼着模型真正理解,而不是靠关键词匹配蒙对。

结果是,论文测试的一批声称支持128K以上上下文的模型里,短文本(1K以内)表现都不错,但随着上下文变长,表现明显下滑。在常被引用的原始结果里,GPT-4o从短文本几乎满分的99.3%,掉到32K时的69.7%。NoLiMa后续公开结果又加入了GPT-4.1等模型,个别模型的排名和数字会变化,但主线没有变:长窗口标称长度越大,越需要单独评估有效利用率,不能只看规格表。
RULER则是从另一个角度补刀:不满足于“找一根针”,而是让模型同时找多根针、做多跳推理、再把结果聚合起来。它的评测里能看到,模型在简单needle测试里可能接近满分,但换成更接近真实任务的组合检索后,表现会随着上下文变长出现明显下滑。
这两组测试合起来看,32K还不到1M窗口的十分之一,但在更难的评测里,很多模型已经明显掉分。窗口越做越大,只是把能装下的上限往后推,并没有同步把能认真读完的能力往后推。所以长上下文真正要问的不是“最多能塞多少”,而是关键证据放在材料的第70%位置时,模型还能不能稳定找到它、用对它,并且解释清楚它为什么重要。
三、什么任务是真需求
材料天然长、需要跨位置对照。合同审查是最典型的例子,A处定义了一个概念,B处写了例外情形,C处的补充协议又悄悄改过一次,最后还要结合邮件往来才能判断责任边界。这几处往往不在同一页,却要放在一起看。招股书比对、长会议纪要复盘、论文综述,这些任务都是同一类问题。重点不是总结某一份文档,而是把散落在全篇不同位置的线索串起来。
代码仓库可以归进这一类,但有一个边界值得记住:长上下文模型在小型、结构良好的代码仓库上,表现可以匹配甚至超过检索式方案;但当仓库规模和复杂度增加,检索式方案的优势就会逐渐显现出来。换句话说,几万行、结构清楚、依赖关系不复杂,长上下文可能很舒服;一旦变成多语言、多服务、历史债务很重的大仓库,直接一股脑全塞往往不如先把相关文件和调用链找出来。
不能提前知道哪段有用。事故调查、内部审计、客服历史追踪,这类任务都属于,你没法提前判断关键线索藏在哪一轮对话、哪一条日志、哪一次提交里。这种情况下,先做检索反而可能把真正相关的那段筛掉,给模型更完整的现场,是更保险的做法。
材料结构稳定、可以缓存复用。固定的代码库、固定的知识库、固定的产品文档,长上下文配合前缀缓存,天生适合“同一批材料反复问不同问题”。这时候的成本结构,和每次现查现搜完全不一样。Prompt Caching那篇里算过一个例子:固定的角色设定和规则放前面、每天变化的数据放后面,缓存命中率能跑到97%以上,账单直接压缩十几倍。这种场景下,长上下文的贵,其实被摊得很薄。
多模态长材料。长视频、长音频、扫描件这类材料,切片处理最容易丢掉时间线和跨片段的关联。比如一场两个小时的会议,前40分钟有人提出了一个约束条件,后面又绕了几轮,最后才落到行动项。如果只按时间切成小段分别摘要,模型很容易把前后这层因果关系拆散。长上下文在这里的价值,是让材料按原本的时间线和结构留在一起。厂商演示里经常会展示长视频、长音频里的针检索能力,但这块公开测试没有前面几类那么扎实,先按“值得一试、但别只信演示”的态度看待。
四、什么是伪需求

把不会整理材料,包装成需要1M上下文。问题其实只需要三段证据,却把三百页全塞进去问模型“你自己找”。模型可能找对,也可能找错,而且找错了你更难复查,因为你自己都没读过这三百页,拿什么去核对它的答案。这和KV Cache那篇讲过的道理是一回事:新草稿要记状态,不要抄流水账。懒得筛选材料,只是把筛选的责任和风险,一起转嫁给了模型。
把长期记忆误认为上下文窗口。上下文是这一次请求模型能看到的材料,不是可靠的记忆库。真正靠谱的长期记忆,应该有索引、有来源、有更新时间、能处理信息冲突,而不是靠一个聊天窗口越拖越长,指望模型自己记住三个月前说过的话。窗口能装下不等于记得住,这两者是完全不同的工程问题。
把低质量材料越堆越多。重复的、过期的、彼此矛盾的材料堆得越多,模型越容易给出一个看起来面面俱到、实际上是和稀泥的答案。长上下文不会替你清洗数据,材料的质量问题,不会因为窗口够大就自动消失。
简单任务硬上长窗口。分类、改写、短摘要、单文档问答、结构化抽取,这些任务本来就不需要模型读很多,短上下文加检索通常更便宜、更快、也更容易复查。
五、怎么判断自己该不该为长上下文买单

可以用四个问题来排查:
- 关键证据是不是可能分散在材料的很多个位置?
- 答案是不是必须能引用原文、保留来源出处?
- 这批材料会不会被反复使用,而不是问完就扔?
- 错一次的代价高不高,值不值得多花钱换一次更稳的判断?
四条里只中一条,先别急着上1M;中了两三条,可以考虑;全中了,长上下文才是一笔正经投入。
落地的时候,更稳的流程是:先用检索或规则把材料粗筛一遍,收窄到候选片段,再把这些候选片段放进长上下文让模型做深度推理,输出时要求模型标注引用的具体位置,关键任务再做一轮反查校验,把结论倒回原文核对一遍。这不是把检索和长上下文硬凑在一起,有专门的对比研究发现,资源足够时长上下文模型整体表现更强,但检索式方案的成本优势明显,而混合方案能在接近纯长上下文效果的同时把计算成本压下来。放到实际工程里,就是别让模型一上来就读全量材料,也别指望检索一步到位。先窄化,再推理,最后反查,这条链路更像人做严肃审阅时的工作方式。
长上下文不是越贵越好,也不是越长越聪明。它值不值,取决于你有没有把它用在真正需要全局材料的任务上。
如果只是懒得筛材料,1M上下文只会让你更快地把钱花出去;如果任务确实需要跨文件、跨时间线、跨证据链地判断,它才真正开始值这份钱。
窗口大小是能力上限,不是使用说明书。
资料来源
- NoLiMa: Long-Context Evaluation Beyond Literal Matching(arXiv 2502.05167):arxiv.org/abs/2502.05167
- NoLiMa公开结果表,用于核对GPT-4.1、GPT-4o等模型数字:github.com/adobe-research/NoLiMa
- RULER: What’s the Real Context Size of Your Long-Context Language Models?(arXiv 2404.06654):arxiv.org/abs/2404.06654
- Retrieval-Augmented Code Generation综述,代码仓库规模与RAG/长上下文选择的发现(arXiv 2510.04905):arxiv.org/pdf/2510.04905
- Retrieval Augmented Generation or Long-Context LLMs? 混合方案SELF-ROUTE研究(arXiv 2407.16833):arxiv.org/abs/2407.16833
- OpenAI GPT-4.1官方定价与参数页:developers.openai.com/api/docs/models/gpt-4.1