什么是上下文窗口?
上下文窗口(Context Window)是指大模型在一次对话中能够处理的最大输入长度,以 token 为单位。你可以把上下文窗口想象成模型的"工作记忆"——窗口越大,模型能"记住"的信息就越多。
上下文窗口的组成
上下文窗口包括你输入的所有内容(提示词、历史对话、上传的文档)加上模型生成的输出。例如,如果你上传了一个 80K token 的文档,加上 20K token 的对话历史,那么上下文窗口至少需要 100K 才能正常工作。
主流模型的上下文窗口
- ·Claude 3.5 Sonnet:200K token(约 15 万个词或 40 万汉字)
- ·GPT-4 Turbo:128K token
- ·Gemini 1.5 Pro:1M token(约 75 万个词)
- ·通义千问:128K token
- ·DeepSeek-V3:128K token
上下文窗口的局限性
注意力衰减:模型在超长上下文中可能会"忘记"中间部分的信息,尤其是当关键信息在文档中间时。
计算成本:上下文越长,计算量越大(Transformer 的计算复杂度是 O(n²)),成本越高。
"大海捞针"问题:在超长文档中找到特定信息,即使对模型来说也有挑战。
如何利用好上下文窗口
- ·把最重要的信息放在开头或结尾(模型对这两部分关注度最高)
- ·合理安排提示词结构,避免冗余
- ·使用 RAG 技术选择性检索相关内容,而不是一次塞入所有信息