模型一次能读进去的 Token 上限,决定了它同时能记住多少内容;超出窗口的部分会被丢弃或另想办法处理。
模型没有长期记忆。你和它对话时,它之所以能接上前面的话,是因为每次请求都把之前的对话内容重新送进去一次。上下文窗口,就是这一次最多能送进去多少。
把窗口想象成一张工作台:桌上能摊开的资料有限,超出的必须收走或另找地方放。这也解释了两件事:为什么长对话到后面会「忘事」——早期内容被挤出了窗口;以及为什么长文档要分块处理——一次读不完。 窗口大小用 Token 计量,量级从早期的几千,发展到今天不少模型的十几万甚至更多。但要注意,窗口大不等于能有效利用: - 成本:注意力计算随之增长很快,长输入的响应更慢、更贵。 - 中间丢失:有研究观察到,关键信息如果被放在长输入的中段,被用上的概率往往低于放在开头或结尾。 - 干扰:窗口里塞满不相关内容时,反而会拖累回答质量。
面对超出窗口的需求,常见手段有:分段处理再汇总;用检索先把最相关的片段挑出来(也就是 RAG);把历史对话压缩成摘要;或者通过专门方法扩展可处理长度,但外推能力仍要靠训练和评测来保证。
它直接划定了模型单次任务的能力边界:能一次读多大的代码库、能处理多长的合同、能不能记住用户的偏好。做应用时,「如何组织送进窗口的内容」往往比换一个更大的模型更有效。