上下文窗口(Context Window)是大型语言模型(LLM)的一个核心概念,你可以把它形象地理解为模型的“工作记忆”或“草稿纸”。
它指的是模型在一次处理任务时,能够同时“看到”和“记住”的最大文本量。这个文本量不仅包括你输入的问题,也包括模型自己生成的回答,以及所有之前的对话历史。
如何衡量?
上下文窗口的大小通常以Token为单位来衡量。
- Token是模型处理文本的基本单位,可以简单理解为“词元”。一个英文单词通常是一个Token,而一个汉字可能由一到两个Token组成。
- 因此,一个模型的上下文窗口是128K,就意味着它一次最多能处理约128,000个Token的文本。

上下文窗口里都装了什么?
很多人误以为上下文窗口只装用户的提问,但实际上,它是一个“大杂烩”,所有输入和输出都共享这个有限的空间:
表格
| 内容类型 | 说明 | 示例 |
|---|---|---|
| 系统指令 (System Prompt) | 开发者预设的、用于调节模型行为的指令,用户通常看不见。 | “你是一个乐于助人且无害的AI助手。” |
| 用户输入 (User Prompt) | 你向模型提出的问题和指令。 | “请帮我写一首关于春天的诗。” |
| 对话历史 | 在多轮对话中,之前的所有问答记录。 | 你之前问的“什么是AI?”,以及模型的回答。 |
| 模型输出 (Model Output) | 模型生成的回答内容。注意:输出也会占用上下文窗口。 | 模型写好的那首关于春天的诗。 |
| 外部知识 (RAG) | 从外部知识库检索来辅助回答的信息。 | 为了回答你的问题,模型从一篇文档中摘录的相关段落。 |
正因为有这么多内容共同占用,你真正能用来输入“业务内容”的空间,往往远小于模型标称的上限。
发展历程与现状
上下文窗口的大小经历了指数级的增长:
- 早期模型:如GPT-3.5,上下文窗口仅有4K Token,处理长文档或多轮对话时很容易“遗忘”前面的内容。
- 当前主流:如GPT-4o、Llama 3.1等,上下文窗口已扩展到128K Token,足以处理一本中等长度的书籍。
- 前沿模型:如Google的Gemini 1.5 Pro,其上下文窗口已突破百万Token级别(如200万),能够一次性处理数小时的视频或超长的代码库。
大窗口的挑战
虽然更大的上下文窗口意味着更强的信息处理能力,但它也带来了一些挑战:
- 计算成本高昂:模型的计算复杂度与上下文长度呈平方级关系(O(N²))。输入长度翻倍,计算成本可能变为四倍,这会导致推理速度变慢、成本更高。
- “中间迷失”现象 (Lost in the Middle):研究发现,即使模型拥有超长上下文,它对位于文本开头和结尾的信息最敏感,而对中间部分的信息 recall(召回)能力会显著下降。
- 安全风险增加:更长的上下文为潜在的对抗性攻击(如“越狱”攻击)提供了更大的“攻击面”,可能增加模型的安全风险。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
暂无评论...



