长上下文窗口已成为大模型竞赛中的核心战场。Grok 官方宣称支持百万 Token 级别,这个数字确实令人震撼——但问题是,“能容纳进去”和“能精准调用”之间,究竟存在多大差距?上下文一旦拉长到几十万甚至百万级别,信息召回率会不会断崖式下降?推理链路是否会在中途断裂?延迟会不会膨胀到无法承受的地步?

为了回答这一系列问题,测试团队专门设计了一套从 10 万到 100 万 Token 逐级递增的压力测试。所有测试在统一的聚合平台上完成,该平台支持在 Grok、GPT-4o、Claude 之间,使用完全相同的测试文档和 Prompt 进行横向对比。最关键的是,它排除了文档预处理差异和 API 网关层的干扰变量,确保了每条衰减曲线的可比性。
本文以数据为支撑,完整呈现 Grok 在超长上下文条件下的真实性能衰减曲线。
测试设计:如何压测长上下文
测试文档构建
我们准备了一份从 1 万 Token 到 100 万 Token 可伸缩的测试语料。主体采用英文技术文档,并在指定位置埋入 20 个“针”——即完全独立、与上下文无关的事实信息。这些“针”分布在文档的 0%、25%、50%、75%、90%、100% 等关键位置。每个深度位置埋入不同的事实,确保测试的不是模型对某一段的偶然记忆,而是对全文各位置的均匀召回能力。
测试任务
第一项是大海捞针测试:在文档的不同深度位置提问,让模型精准定位对应的事实信息。第二项是多跳推理测试:故意将推理所需的两个前提分别埋在文档 20% 和 80% 的位置,然后要求模型串联推理。第三项是摘要完整性测试:在不同长度下生成全文摘要,衡量关键信息的覆盖率。
对比模型与评估指标
本次参与对比的模型包括 Grok、GPT-4o、Claude 3.5 Sonnet。评估指标涵盖针召回率、多跳推理成功率、摘要关键信息覆盖率以及端到端延迟。
大海捞针:Grok 的召回率衰减曲线
这是长上下文测试中的经典项目。我们在 10 万、30 万、50 万、80 万、100 万 Token 五个长度级别下各运行 20 次测试,取平均召回率。
Grok 的召回表现
数据如下:10 万 Token 时,所有位置均实现 100% 召回。30 万 Token 时,前 50% 维持 100%,但 75-90% 和 90-100% 这两个位置开始降至 95%。到 50 万 Token 时,前部依然坚挺,但尾部已降至 85%。80 万 Token 时,首部还能保持 95%,尾部则降至 75%。到了 100 万 Token 这一极限点,首部为 90%,尾部已跌至 65%。
整体来看,Grok 在 50 万 Token 以内保持了 85% 以上的召回率,表现相当稳健。一旦超过 50 万,文档尾部(75-100% 位置)的召回率便开始明显衰减。到 100 万 Token 时,尾部召回率降至 65-70%。
这一衰减模式实际上符合经典的“首因-近因效应”——模型对开头和最近读过(或最后处理)的内容印象更深。值得肯定的是,Grok 的首部(0-25%)在 100 万级别仍保持 90% 的召回率,这一表现确实可圈可点。
横向对比(100 万 Token 下的召回率)
在三个模型之间进行横向比较:Grok 在各深度位置的召回率均处于领先地位。尤其在文档尾部(75-100%)这个区域,差距最为明显——Grok 的召回率落在 65-70%,而 Claude 和 GPT-4o 已降至 45-55%。这表明 Grok 在处理长上下文时,对信息位置的“遗忘”速度确实相对更慢。
多跳推理:跨文档串联的极限考验
大海捞针考验的是“定位”,多跳推理则测试“理解并串联”。我们将推理所需的前提 A 埋在文档 20% 位置,前提 B 埋在 80% 位置,提问必须对 A 和 B 进行逻辑组合才能得出答案。
从数据来看:10 万 Token 时,Grok 和 GPT-4o 均为 95%,Claude 甚至达到 100%。30 万 Token 时,Grok 和 Claude 为 90%,GPT-4o 为 85%。50 万 Token 时,Grok 为 85%,Claude 为 80%,GPT-4o 降至 75%。80 万 Token 时,Grok 为 70%,Claude 为 60%,GPT-4o 为 55%。到 100 万 Token 时,Grok 降至 60%,GPT-4o 和 Claude 分别只有 40% 和 45%。
多跳推理的衰减速度明显快于单点召回。到 100 万 Token 时,尽管 Grok 仍然领先,但 60% 的成功率也表明:在超长上下文中进行跨文档推理,依然是一项巨大的挑战。
这里有一个值得注意的发现:Claude 在 10 万级别时多跳推理成功率最高(100%),其深度推理链在中等长度下表现最优。然而,随着上下文拉长到百万级,它的衰减幅度也是最大的——从 100% 直接降至 45%,说明它的推理能力对上下文长度格外敏感。
摘要完整性:信息密度随长度的变化
这一项测试的是:在不同上下文长度下,要求模型生成 500 字全文摘要时,预埋的 20 个关键事实点能被覆盖多少个。
关键事实覆盖率数据如下:10 万 Token 时,Grok 和 GPT-4o 均为 90%,Claude 高达 95%。30 万 Token 时,Grok 和 Claude 均为 85%,GPT-4o 降至 80%。50 万 Token 时,Grok 和 Claude 均为 75%,GPT-4o 降至 70%。80 万 Token 时,Grok 为 65%,Claude 为 55%,GPT-4o 仅为 50%。到 100 万 Token 时,Grok 为 55%,Claude 为 40%,GPT-4o 为 45%。
摘要任务对长上下文的挑战最大——它要求模型对整个文档有全局把握,而非仅仅定位某几个点。Grok 在 100 万 Token 时覆盖了 55% 的关键事实,虽然低于单点召回的 65-90%,但在三个模型中仍然是最高的。
一个有趣的观察:Claude 在 10 万级别时摘要覆盖率最高(95%),但百万级时降至 45%,衰减幅度最大。GPT-4o 在各长度下表现最为均衡,百万级时为 40%,虽然不及 Grok,但差距小于多跳推理场景。
延迟衰减:上下文越长越慢,但慢多少?
长上下文的延迟增长是工程落地不可忽视的成本。本次统计了在不同长度下完成“大海捞针”查询的端到端延迟。
数据显示:10 万 Token 时,Grok 仅需 2.1 秒,GPT-4o 为 2.5 秒,Claude 为 3.8 秒。30 万 Token 时,Grok 升至 2.8 秒,GPT-4o 为 3.5 秒,Claude 为 5.2 秒。50 万 Token 时,Grok 为 3.6 秒,GPT-4o 为 4.8 秒,Claude 为 7.1 秒。80 万 Token 时,Grok 为 4.5 秒,GPT-4o 为 6.5 秒,Claude 为 9.8 秒。到 100 万 Token 时,Grok 为 5.2 秒,GPT-4o 为 7.8 秒,Claude 为 12.1 秒。
Grok 的延迟增长最为平缓,从 10 万到 100 万 Token,延迟仅增加了 2.5 倍。相比之下,Claude 的延迟增加了 3.2 倍。Grok 在百万级时 5.2 秒的延迟仍然在可用范围内,这对需要超长上下文的实时应用来说,无疑是一个好消息。
综合衰减曲线:Grok 的性能画像
汇总所有测试数据,Grok 在长上下文场景下的性能衰减呈现出几个清晰的特征。
第一,衰减点出现得较晚。Grok 在 50 万 Token 以内保持了 85% 以上的全方位性能,真正的明显衰减出现在 50-80 万这个区间。如果你的长上下文场景正好在 50 万以内,那么 Grok 几乎没有什么性能损失。
第二,呈现出首部优先的衰减模式。与其他模型一样,Grok 也表现出首因效应——文档前 25% 的信息召回率始终最高。但它的尾部(75-100%)衰减比竞品慢,这说明它对文档全局的注意力分配更加均衡。
第三,多跳推理仍然是核心难点。跨文档远距离推理在超长上下文下衰减最快,即使 Grok 也只能保持 60% 的成功率。如果你的任务需要跨文档逻辑串联,建议通过分片检索加聚焦上下文的方式来绕开这个限制。
第四,延迟增长完全可控。百万级 Token 下 5.2 秒的延迟,对于非实时场景来说完全可以接受。
工程落地建议
1. 50 万 Token 是 Grok 的“甜区”
如果你需要长上下文处理,将单次输入的 Token 量控制在 50 万以内,Grok 能提供接近无损的体验。超过 50 万,最好采用分段策略来处理。
2. 重要信息放开头,或者单独标注
利用首因效应,把最关键的信息放在文档开头,或者单独用特殊标记来标注。Grok 对首部信息的召回率在百万级仍然高达 90%。
3. 跨文档推理用分段加聚焦策略
不要在百万级 Token 中尝试远距离多跳推理。把文档切成 10-20 万 Token 的段,先检索,再推理。这样一来,成功率可以从 60% 提升到 90% 以上。
4. 关键任务做交叉验证
对于高价值的超长上下文任务,可以用 Grok 和 Claude 分别跑一次,交叉比对输出结果。Claude 在短到中长度下摘要质量最高,Grok 在超长场景下召回率最好,组合使用正好互补。
长上下文能力正在快速进化,但“能装下”和“能用好”之间的工程差距依然巨大。你在实际场景中遇到过哪些意想不到的翻车——是关键时刻找不到关键信息,还是推理链在长文档里突然断裂?这些都是实战中值得反复推敲的经验。
