DOCAI · 概念 · L2
什么是上下文窗口
一句话定义
模型一次能看到的 token 总量上限:输入、输出和多轮对话的历史都算在里面。
开发者更新 2026-11-13核验 2026-11-13 · docai 编辑部
它限制什么
一次请求里,模型能读到的全部内容——系统提示、历史消息、你的问题、附件——加上它要生成的回答,总和不能超过窗口。
窗口按 token 计,不按字数计。
超了会怎样
- 走 API:返回上下文超限错误,请求被拒绝。排查见上下文长度超限。
- 聊天界面:往往悄悄丢掉最早的消息,或者提示「对话过长」。丢历史不会报错,但模型会突然「忘了」前面说过的要求。
大窗口不等于记得住
窗口是容量,不是注意力质量。
内容很长时,中间部分更容易被忽略——开头和结尾的信息更稳。所以即使窗口装得下,也不要把关键要求埋在一大段材料中间。
怎么省
- 只带相关的历史,不要每轮都把全部对话重发。
- 长文档先切分或做检索,只把命中的片段放进去(见 RAG)。
- 记住输出也占窗口:要求写长文时,留给输入的空间会变小。
三个常见误解
- 「窗口大,输出也能一样长」:不一定。输入和输出共享这个上限,很多服务还单独限制最大输出。
- 「按字数除以二就是 token 数」:只能粗估,中文尤其不准。
- 「窗口越大越好」:容量大但注意力被稀释,成本也随输入线性上涨。