现在的旗舰模型普遍标称 1M 甚至更大的上下文窗口。一个很自然的想法是把窗口拉满,一次性塞进整个仓库,省得频繁压缩。直觉上窗口越大越省事,压缩越少越省钱。但真的如此吗。本文把 2023 到 2026 年的相关论文、基准和工程博客串起来,回答三个问题。 标称窗口等于有效窗口吗? 压缩阈值和最大输出应该怎么设? 有缓存的前提下,频繁压缩到底贵不贵? 一、标称窗口不等于有效窗口 Lost in the Middle Liu 等人在 2023 年的奠基性工作发现,模型对上下文开头和结尾的信息利用最好,中间位置的信息检索准确率会下降三成以上,有时还不如干脆不给这份文档。窗口越大,中间被浪费的区域就越大,所以拉满 1M 反而让有效信息占比更低。 LongCodeBench 给出的编程任务拐点 2025 年的 LongCodeBench 是目前最直接的编程长上下文基准。它在真实 GitHub issue 的代码理解和修复任务上测出一组很扎眼的数据。多数模型的准确率峰值落在 64K 到 128K 之间,之后单调下降。Claude 3.5 Sonnet 在...