上下文窗口管理:当 128k 还不够用时

上下文窗口管理:当 128k 还不够用时

更大的上下文窗口本来应该让上下文工程过时。它没有。大海捞针测试显示模型能在 128k token 里找到某个事实;真正的失败发生在你要求模型在多步推理链里使用那个事实的时候。召回不等于推理,两者之间的差距随上下文增大而扩大。

长上下文悄悄退化的地方

长上下文中段的信息,比开头或结尾的信息被召回得更不可靠。这不是小幅效应——是长上下文任务中主导的性能下降。推理质量比召回退化得更快:能在 100k token 里找到事实的模型,往往无法在同样深度上正确使用那个事实。而且成本随输入 token 线性增长,所以”把所有东西都塞进上下文”的代价上涨得很快。

比”上下文最大化”更管用的做法

选择性检索仍然胜过塞入。返回 top 8 chunk 的向量搜索,通常胜过把整个语料塞进上下文,即使语料本来塞得下。分层摘要——先摘要,再在摘要上推理——对那些不需要全文的任务,能少用一个数量级的算力。把长上下文预算留给那些文档结构真的有意义的场景。

上下文窗口是预算,不是免费货架。把它当预算花。

相关文章

RAG 胜过微调的场景,以及它失效的场景

RAG 胜过微调的场景,以及它失效的场景

RAG 在早期部署战中胜出是有道理的:比微调便宜,知识库不用重新训练就能更新,而且你能审计模型看到了 ...