跳到主要内容
SecondHome

长上下文怎么评:从大海捞针到四代基准

9 分钟进阶2aL3 p.11 ↗p.51 ↗录像 ↗支撑材料 6 篇

厂商页上的 128K、1M 是「广告上下文」,RULER 一测,约一半声称 32K+ 的模型在 32K 已无法维持满意性能。本篇沿四代基准走一遍:NIAH 网格看见失效边界,RULER 与 HELMET 换真任务,NoLiMa 撤词汇捷径,LongMemEval 拉到跨会话,收尾给你一套读长上下文榜单的「三问」框架。

厂商页上的大海捞针热力图几乎全绿;换成更接近真实使用的考法,一半模型在 32K 就撑不住。同一批模型,两个结果,差在哪?

讲义开场就给过定性(L3 p.11):广告上下文与有效上下文(advertised context、effective context)是两个量,广告上下文也叫标称长度。前者写在产品页上,后者只能靠评测逼出来。

怎么逼?靠基准。三年里基准换了四代,NIAH、RULER、HELMET、NoLiMa,每一代都在堵上一代的漏洞;LongMemEval 拉到跨会话,是主轴外的延伸。

第一代:大海捞针,第一次看见失效边界

第一份考卷是 2023 年的大海捞针(Needle in a Haystack,NIAH)。repo 由 gkamradt 开源,官方课程 references 收录。

设计极简:针是一句含答案的事实,草堆是不同长度的干扰文本。把针埋进草堆的不同深度,再问一个只能靠这句话回答的问题,结果画成一张上下文长度 × 针深度的网格热力图。

GPT-4-128K 与 Claude 2.1 的两张热力图,让行业第一次直观看见这张失效地图长什么样:草堆到多长、针埋到多深,开始答错。

这种带坐标的失效地图,比一个平均分诚实得多,NIAH 由此成为长上下文评测的默认起点。

repo 的 v2 版还支持多事实、UUID 链等多步任务,只考单针的短板算是略微补上。

但命门也随之暴露。NIAH 说到底只考检索:针与问题字面相关,任务不含推理。检索近满分,离会用长上下文还差得远。

第一代与第二代之间,还有一条复证线。Chroma 2025 年的 Context Rot 用 18 模型 × 8 长度 × 11 位置、约 19.4 万次调用做规模复验,把 lost in the middle 的位置效应钉成可复验的规律。细节归本讲 lost-middle 篇。

第二代与第三代:任务换真,长度打折

第二代 RULER 出自 NVIDIA,COLM 2024,把考卷从一种任务换成 13 种,17 个模型 × 13 个任务。检索之外,加入多跳追踪与聚合这类更接近真实使用的考法。结论有三。

  • 检索不等于会用。NIAH 近满分,不代表长上下文强。
  • 长度打折。约一半模型在 32K 已无法维持满意性能,而这些模型全部声称支持 32K 以上。
  • 难度分层。多跳追踪与聚合一加入,模型间差距进一步拉大。

广告上下文 vs 有效上下文这对概念,量化支撑由这篇文章给出;讲次页那张对比图,就接在这条延长线上。

单针检索、字面匹配,热力图几乎全绿,评测报告写「128K 全通过」。

同一批模型换考法:相当一部分在 32K 已无法维持满意性能,多跳追踪与聚合任务上差距继续拉大。

第三代 HELMET 来自 Princeton NLP 和 Intel,ICLR 2025,把换真推到应用侧。参测模型 59 个,考的是 7 大应用中心任务:长摘要、few-shot 学习、代码任务、RAG 等,最长测到 128K。

它的发现直接改写读榜姿势。NIAH 类合成任务的分数,不能可靠预测下游性能。任务间相关性低,长摘要强不代表代码任务强;长度拉开后,开源与闭源的差距还在扩大。

去捷径:NoLiMa 的 32K 断崖

NIAH 类考法还留了条词汇捷径(lexical shortcut):针与问题字面重叠,做匹配就能得分。第四代的 NoLiMa 出自 ICML 2025,把重叠压到最低,逼模型走潜在语义关联去定位信息。

13 个标称 128K+ 的模型里,11 个在 32K 处跌破其短文本基线的 50%,GPT-4o 从 99.3% 掉到 69.7%。字面提示一撤,32K 处 13 个模型只剩 2 个站上基线一半。

第四个方向:把窗口拉长到跨会话,把实验做大到复验

主轴四代都在单次窗口里出题。ICLR 2025 的 LongMemEval 换了根轴:不再问一次窗口能读多长,改问多轮会话攒下的信息能否持续用对。

它把记忆能力拆成信息抽取、多会话推理、时间推理、知识更新、拒答五维,并测出商业助手在持续记忆场景下约有 30% 的性能落差。

长上下文就此从单次窗口扩到跨会话记忆,2b 讲技能与记忆板块的评测地基也在这里。

LongBench 以中英双语 21 个数据集覆盖多类任务,是中文场景少数现成的尺子。四代演进一图收拢:

与本讲的连接

讲义把基于延续的评测划成四个维度,状态召回、任务成功、效率、稳定性(L3 p.51)。对照下来,NIAH 与 NoLiMa 测单次窗口内的读对,RULER 与 HELMET 往用对走,LongMemEval 把状态召回拉到跨会话;效率与稳定性两维,评测界还在补课。上一讲的评测棋盘篇用四层栈评调用,从选对工具到办成事;本篇四代基准评的是读长。

读榜三问

再看到「支持 1M 窗口」的宣传,先问三个问题:

  • 考的是哪种任务。合成任务近满分,不代表真实任务用得上。
  • 有没有词汇捷径。针与问题字面重叠就能得分,先把重叠撤掉再测。
  • 窗口是一次性还是跨会话。跨会话的记忆,单次窗口考不出来。

三问过后,广告上下文与有效上下文差多少,大致能自己算出来。

本节论文与规范

本节资料

  • Chroma 的技术报告:18 个模型 × 8 种上下文长度 × 11 个位置,约 19.4 万次调用。结论是不需要任何干扰项,长度本身就足以让输出质量退化;把 haystack 打乱后所有模型都升分,说明模型对长上下文存在顽固的位置依赖。有趣的是 NIAH 任务上未复现位置效应——与 Liu et al. 的张力正是本讲的看点。

  • 59 个模型、7 类贴近应用的任务(检索、多跳、聚合、长文本理解、上下文学习等)横评:合成检索任务的分数几乎不能预测真实下游任务,任务间相关性也很低;且随长度增加,开闭源差距持续扩大。结论是长上下文评测必须贴近目标应用。注意常被误引为 2508.12653,正确编号 2410.02694。

  • 500 道题嵌入可扩展的聊天历史,专考五种能力:信息抽取、多会话推理、时间推理、知识更新、拒答。结论之一:商业助手在持续记忆任务上比理想全上下文基线低约 30%。设计上采用「索引-检索-阅读」三阶段,可直接当作长记忆系统的评测模板用。

  • 大海捞针可视化的开山 repo:把上下文长度与针的埋放深度做成二维网格,逐格测试召回并渲染成热力图。GPT-4-128K 与 Claude 2.1 的两张图让全行业第一次「看见」长上下文的失效边界;2025 年 v2 升级支持多事实、UUID 关联链等更难的变体。代码开源,适合动手复跑。

  • NoLiMa 把针与 haystack 的词汇重叠降到最低,逼模型靠语义关联而非字面匹配来定位信息。结果:13 个标称 128K+ 的模型里 11 个在 32K 处跌破各自短文本基线的 50%,GPT-4o 从 99.3 跌到 69.7。说明长上下文的短板往往不是「装不下」,而是「联想不动」。

  • NVIDIA 的系统体检:17 个模型 × 13 个任务,发现 NIAH 类简单检索近乎满分并不代表长上下文能力强——换成聚合、多跳追踪、变量追踪等复杂任务,声称支持 32K+ 的模型约一半在 32K 处已实际失效。「标称长度 vs 有效长度」的区分即出自这里。

AI 生成 · 仅供参考,与课程方无关。选中正文里的任何一段也能直接问我(解释一下 / 举个例子)。

本详解以 CMU 11-768 AI Agents (Fall 2026) 课程大纲为参考框架独立撰写,AI 辅助起草、人工抽审。 涉及的官方课件、论文与课程材料版权归原所有方,讲义为站内镜像、其余外链原文出处; 观点与文字(除标注引用外)为作者原创。