🖼️ 图文卡片 🏠 返回首页
前沿科技洞见 · 2026-08-29

Prefix Sliding:长思考不必背着全部历史,但「忘掉中间」不是免费午餐

正在发生的事很多,这件帮你看过了

事件全貌:把推理历史拆成「不能忘」和「可以滑走」两部分

2026 年 8 月 26 日,斯坦福大学、加州大学圣塔芭芭拉分校、华盛顿大学和 Prime Intellect 的 18 位研究者提交论文《Prefix Sliding for efficient test-time scaling》并公开代码。它要解决的问题很直接:自回归模型每生成一个新 token,通常都要保留此前整条推理轨迹的 Key-Value Cache(KV Cache),并读取越来越长的历史。模型想得越久,显存占用和单步注意力成本越高。

Prefix Sliding 固定保留系统指令、用户问题和工具定义等任务前缀,同时只保留最近一段推理 token,更早的中间推理则退出 KV Cache。若前缀为 100 token、滑动窗口为 4096 token,无论模型累计生成四万还是四十万 token,后续注意力最多读取约 4196 token。它把旧推理视作可淘汰的工作草稿,但把任务是什么、允许使用什么工具以及当前正在处理什么留在缓存中。

以 Qwen3-1.7B 为主要实验模型时,4096-token 窗口在 AIME25、GPQA 和 MATH500 上的准确率分别为 33.9、37.0 和 91.5,完整注意力为 34.2、37.6 和 91.7。论文表 1 中,128K 序列的系统吞吐从 448 tok/s 提升到 5224 tok/s,约为 11.7 倍;完整注意力基线同样使用 vLLM 和 FlashAttention,并非未经优化的朴素实现。

但这些数字不能混为一谈。论文所称「最高约 3 倍更快」,是依据平均生成长度和相应批量吞吐推算的思考时间,不是逐请求端到端延迟实测;5224/448 也不能直接解释成单次回答快了 11.7 倍。速度实验在一张 80GB NVIDIA H100 上批量生成 1024 条序列,并由 vLLM 自动选择批大小,因此 tok/s 反映特定批处理条件下的系统吞吐,不等于单用户的单流生成速度。

公开材料之间还存在一处未解差异。截至 2026 年 8 月 31 日,官方 Hugging Face results.json 中,128K、4096 窗口的 Prefix Sliding(速度脚本标签 SW)为 5044.13 tok/s;5223.90 出现在普通滑动窗口 SWR 下。32K 的 Prefix Sliding 原始值 5479.25 则与论文表 1 的 5479 相符。按 5044 对 448 计算,特定环境下仍有约 11.3 倍吞吐提升,但 5224 目前只能准确称为论文表格数字,尚未与公开原始 artifact 完全对齐。

Prefix Sliding 还被用于强化学习:采样器可以生成超过 10 万 token 的完整轨迹,训练器借助截断反向传播,只接收末端窗口及必要上下文。例如,一条 10 万 token 轨迹配合 2048-token 窗口时,训练器可只接收最后 8192 token,并仅对最后 2048 token 计算强化学习损失。这避免了超长轨迹因显存不足而被截断、丢弃,却引入近似梯度和长轨迹信用分配风险。

这仍是一篇 arXiv v1 预印本。仓库公开了评测结果、训练数据入口以及定制的 vLLM、FlashAttention 和强化学习分支,但依赖版本较旧,作者预计构建自定义 FlashAttention 与 vLLM 约需 10 小时。仓库提交较少,也缺乏成熟的跨硬件独立复现。因此更准确的结论是:研究团队展示了一条代码公开、实验清晰且很有吸引力的工程路线,但尚未证明多数模型、任务和部署环境都能安全忘掉中间思考。

为什么长思考突然撞上了 KV Cache

Transformer 的 KV Cache 避免了每生成一个 token 就重新计算全部历史,却留下持续增长的内存账单:缓存随层数、KV 头数、向量维度、精度、序列长度和并发数扩张,每一步解码还要读取更长的历史。短回答中这不显眼,到了数万乃至数十万 token 的连续推理,显存容量和内存带宽就会成为系统上限。

FlashAttention 改善了注意力在 GPU 内存层级间的数据搬运,但没有改变每个新 token 都要面对不断增长历史的曲线。高效内核能降低常数,不能让无上限的历史变成固定工作集。

测试时计算则把问题进一步放大。2024 年的研究表明,在适当难度和计算分配策略下,小模型增加测试时计算可能胜过大 14 倍的模型,但收益依赖题目与策略,并非多算必然更好。2025 年的 s1 又通过 budget forcing 让模型在准备结束时继续检查,使 s1-32B 在 AIME24 上从 50% 提升到 57%。行业由此从「训练更大的模型」转向「让模型在一次回答中多想一会儿」,而长推理本身也开始成为显存和延迟的主角。

长输入和长输出即使都叫 128K,工程性质也不同。输入文档的预填充主要发生一次;连续推理却由一连串严格依赖前一步的解码组成。Prefix Sliding 针对后者,也不降低超长前缀的预填充成本。它更适合围绕较短题目持续推理,而不是把整本书作为固定前缀。

两个锚点:任务前缀与近期工作区

Prefix Sliding 并不假设所有旧 token 都无用。作者在一条 Qwen3-1.7B 的 AIME25 轨迹上观察到:最初几个 token、提示词和 <think> 分隔符获得较多注意力,近期推理也很重要,大段中间轨迹的平均权重较低。但这张图经过跨层、跨头平均和高斯平滑,只能作为方法动机;注意力权重不能直接等同于信息的重要性,更不能证明中间 token 没有因果作用。

开头位置可能只是 attention sink,完整任务前缀却包含持续有效的语义约束。某项工具定义可能数千步没有被调用,却在下一步突然变得关键。因此 Prefix Sliding 采用面向未来的规则:不根据历史注意力判断任务契约是否值得保留,而是默认完整保留。

窗口向前移动时,论文选择继续使用原始位置编码(Continue PE),避免重新计算已经编码的 KV 表示。定制 Hopper FlashAttention 内核把可见区域拆成两个不连续块:固定前缀和最近窗口;部分重叠的 tile 逐元素遮罩,完全落在中间禁区的 tile 直接跳过,使稳态速度接近普通滑动窗口。

真正重要的产品含义是,系统开始出现三类状态:长期不变的任务契约、滚动更新的短期工作区,以及需要另行保存的持久成果。如果模型在第 5000 步发现一条第 50000 步仍需使用的引理,滑动窗口无法保证它存活。模型必须把关键成果写入固定前缀、外部文件、结构化记忆或可检索状态。Prefix Sliding 解决了旧草稿不能全部常驻的问题,却把「哪些成果应晋升为长期记忆」推到了下一层。

同期路线:大家都在删缓存,但删除依据不同

路线保留什么训练或校准成本最终有界适用任务主要风险
完整注意力 + FlashAttention全部历史任意旧细节都可能再次被引用显存和解码成本持续增长
StreamingLLM少量开头 sink token + 最近窗口连续文本流、对话流未必保存完整任务与工具契约
H2O / SnapKV历史高注意力 token、近期 token,或按头筛选的重要提示位置通常无需微调固定预算下是长输入、通用 KV 压缩过去的低注意力信息未来可能变得关键
DuoAttention检索头保留全历史,流式头保留 sink 与近期窗口需要识别注意力头部分有界需要长程检索能力的模型并非纯即插即用,部分缓存仍持续增长
分段总结 / InftyThink周期性进度摘要通常需要提示设计或训练可压缩为阶段成果的推理摘要错误和遗漏会累积
Prefix Sliding完整任务前缀 + 最近推理窗口推理可免训练;长程 RL 需配套训练短前缀、超长连续推理、可验证任务中间依赖被删除,难处理超长输入和巨量工具输出

StreamingLLM 是最直接的技术先例:它发现纯滑动窗口一旦移除最初 token,模型质量会崩;只保留约四个 attention sink,便能让有限窗口训练的模型稳定处理数百万 token 的流。Prefix Sliding 延续「开头加近期」的形状,却把开头扩展为完整任务前缀:前者主要保护注意力稳定性,后者还保护任务语义,代价是任务前缀越长,固定工作集越大。

H2O 根据累计注意力保留历史 heavy hitters 和近期 token;SnapKV 则按注意力头筛选、聚类提示中的重要位置,论文报告在 16K 输入下实现 3.6 倍生成加速和 8.2 倍内存效率。它们适合通用长输入压缩,但依据已经发生的注意力判断未来价值。一个尚未触发的安全约束可能长期表现为「轻度贡献者」。Prefix Sliding 宁可多占一些缓存,也不对任务前缀中的约束下注。

DuoAttention 将注意力头分为需要全历史的 retrieval heads 和只需近期窗口与 sink 的 streaming heads,报告 MHA 模型最高 2.55 倍内存缩减和 2.18 倍解码加速,GQA 模型收益较小。它更能保护随机回看历史的能力,但需要识别注意力头,且部分缓存仍随上下文增长。若任务要持续数天甚至数周,Prefix Sliding 的固定上限更清晰;若经常回看任意旧细节,DuoAttention 的折中更稳妥。

InftyThink 通过阶段摘要保存旧推理成果,理论上比机械保留近期窗口更聪明,但摘要需要额外生成和重新预填充,也会产生错误与遗漏。2026 年的 COMPINT 显示,现有上下文压缩器对持续会话约束平均只保留 17%,加入并行约束提取器后才提高到 90% 以上。Prefix Sliding 固定保留前缀,避开了总结时误删安全约束的问题,却无法自动把中间成果提炼为长期状态。

这些方法可以组合:固定保留经过权限审查的系统约束,以滑动窗口承载近期工作,中间成果显式写入结构化状态,再用按头检索或 KV 压缩处理超长输入。Prefix Sliding 更像分层状态系统的简单底座,而不是 KV Cache 研究的终点。

数字背后:它证明了什么,又没有证明什么

窗口AIME25 准确率 / 平均长度GPQA 准确率 / 平均长度MATH500 准确率 / 平均长度32K 吞吐128K 吞吐
204827.7 / 47,64335.9 / 30,10789.8 / 9,3108,973 tok/s8,737 tok/s
409633.9 / 29,94337.0 / 16,70791.5 / 7,0695,479 tok/s5,224 tok/s*
819235.8 / 19,37338.0 / 13,60591.4 / 6,2293,291 tok/s2,788 tok/s
1638435.3 / 19,87238.2 / 14,37891.5 / 6,1602,441 tok/s1,420 tok/s
完整注意力34.2 / 19,15837.6 / 11,40391.7 / 6,0561,477 tok/s448 tok/s

\* 表中 5224 照录论文表 1;公开 results.json 中 Prefix Sliding 对应值为 5044.13 tok/s,5223.90 位于普通滑动窗口标签,差异尚待解释。

4096 是有吸引力的折中,却不是普适常数。2048 吞吐更高,但 AIME25 准确率降至 27.7,平均输出反而膨胀到 47,643 token,显示模型可能因丢失局部状态而反复找路。8192 在 AIME25 和 GPQA 上略高于完整注意力,也不表示删除历史让每个 token 更聪明;作者明确将优势归因于同一时间预算内可以生成更多 token。窗口同时改变速度、记忆和行为分布,必须按任务选择。

代码任务提供了反例:LiveCodeBench 至少需要 16384 窗口才能追平完整注意力。模型可能先写部分函数,再用数千 token 注释思考;等它回到代码时,函数开头已经滑出窗口。数学推理常把旧步骤压缩为新结论,程序却要持续保留命名、接口和早期实现细节。只在数学基准上调好 4096 窗口便用于编程智能体,会把长距离依赖风险藏在平均分数中。

短任务的收益也有限。HealthBench 平均生成约 2086 token,使用 2048 窗口时,大部分生成仍处于窗口尚未真正滑动的预热区。对于常见的数百至两千 token 回答,定制内核、维护成本和行为变化可能超过节省的计算。

证据的模型和硬件覆盖同样有限。主要结论来自 1.7B 模型,7B 仅有一次规模较小的异步强化学习验证;论文没有提供 70B、大型 MoE 或闭源模型的同等级证据。内核专门面向 Hopper,AMD、消费级 GPU、其他 NVIDIA 架构和不同推理引擎上的收益仍未知。因而「无需训练」只能理解为算法层面不修改权重,而不是部署层面零成本。

关键判断:长程智能体会从「上下文窗口」转向「状态操作系统」

Prefix Sliding 最重要的贡献,不是再次证明旧 token 的价值不均,而是把这种不均与长链推理的任务结构对应起来:任务契约永久在线,近期草稿高速读写,中间过程允许淘汰。这一粗粒度划分很像真实工作系统。

它也改变了工程评价标准。竞争不应只围绕最大上下文和 tok/s,而应同时衡量单位正确答案的总计算成本、跨窗口关键约束保留率、长任务重复劳动率,以及遗忘造成的副作用。如果模型为找回丢失状态多生成三倍 token,即使瞬时吞吐更高,总账单和成功率也未必更好。

对智能体而言,最危险的遗忘不是丢掉一段无关推导,而是忘记「不要删除邮件」「只能读取不能提交」「部署前必须等待批准」等持续约束。把全部用户消息永久塞入前缀会使其无限增长;让多轮指令自然滑走又可能造成越权。系统需要在模型之外维护经过解析、冲突处理和版本化的契约状态,并持续映射回固定前缀。Prefix Sliding 没有解决权限系统,却迫使权限从散落的聊天记录中独立出来。

它最可能先用于三类场景:答案可验证的数学与科学推理、采样轨迹极长的强化学习,以及前缀较短且中间成果可写入文件的代码或研究智能体。它不适合直接处理整本书式前缀、频繁注入巨量网页或终端输出的工具智能体,也不适合必须随时回看任意早期细节的法律、审计和复杂协作记录。

最可能的发展是,主流推理框架把它做成一种可选缓存策略:固定前缀、滑动工作区与可晋升记忆协同工作,部署者按任务选择 4K、8K 或 16K 窗口,模型则学习把关键成果写入结构化状态。用户未必知道 Prefix Sliding 的存在,只会看到长任务成本和超时率下降。

最危险的发展是,团队受吞吐数字驱动而过早默认开启,将数学基准选出的 4096 窗口直接套到编程、网页操作和多轮业务流程。模型可能在长工具输出后忘记局部计划或最新限制;若评测只看最终答案,不检查误发邮件、错误提交和权限越界,稀有副作用会被平均成功率掩盖。

最乐观的发展是,模型不再把自然语言推理链当作唯一记忆,而是主动区分草稿、阶段结论、任务契约和外部证据;训练奖励不仅评价最终答案,也评价状态写入是否正确、约束是否持续,以及是否减少回头路。届时所谓「思考一百万 token」未必意味着保留一百万 token,而是让当前材料留在桌面、关键结论进入笔记、原始证据进入可检索档案。

Prefix Sliding 压平了长思考的资源曲线,却没有消除记忆问题。它只是把问题从「显存能否装下全部历史」改成「系统是否知道什么绝对不能忘」。后者更难,也更接近长程智能真正需要的工程闭环。

风险边界与后续验证清单

信息来源

1. Niklas Muennighoff 等,《Prefix Sliding for efficient test-time scaling》,arXiv:2608.26070,2026-08-26。 2. Muennighoff 等,Prefix Sliding 官方代码与复现说明,GitHub,访问时间:2026-08-31。 3. Ashish Vaswani 等,《Attention Is All You Need》,arXiv:1706.03762,2017。 4. Tri Dao 等,《FlashAttention: Fast and Memory-Efficient Exact Attention with IO-Awareness》,arXiv:2205.14135,2022。 5. Charlie Snell 等,《Scaling LLM Test-Time Compute Optimally can be More Effective than Scaling Model Parameters》,arXiv:2408.03314,2024。 6. Niklas Muennighoff 等,《s1: Simple test-time scaling》,arXiv:2501.19393,2025。 7. Guangxuan Xiao 等,《Efficient Streaming Language Models with Attention Sinks》,arXiv:2309.17453,2023。 8. Zhenyu Zhang 等,《H2O: Heavy-Hitter Oracle for Efficient Generative Inference of Large Language Models》,arXiv:2306.14048,2023。 9. Yuhong Li 等,《SnapKV: LLM Knows What You are Looking for Before Generation》,arXiv:2404.14469,2024。 10. Guangxuan Xiao 等,《DuoAttention: Efficient Long-Context LLM Inference with Retrieval and Streaming Heads》,arXiv:2410.10819,2024。 11. Yuchen Yan 等,《InftyThink: Breaking the Length Limits of Long-Context Reasoning in Large Language Models》,arXiv:2503.06692,2025。 12. Zhiqi Wang 等,《Lost in Compaction: Evaluating Side-Constraint Loss under Context Compaction》,arXiv:2608.11242,2026。 13. An Yang 等,《Qwen3 Technical Report》,arXiv:2505.09388,2025。 14. Prefix Sliding 团队,官方评测原始结果 `results.json`,Hugging Face,访问时间:2026-08-31。 15. Prefix Sliding 团队,速度测试脚本 `run_single_config.py`,GitHub,访问时间:2026-08-31。

图文卡片 ⬇️ 一键下载图文卡片