上下文窗口是什么,为什么它决定你能喂多少内容

举报
静水流深-云海 发表于 2026/10/05 17:02:40 2026/10/05
【摘要】 解释大模型的上下文窗口概念——它按 token 计量、包含输入与输出、受注意力计算平方级开销限制、超出后前面的内容会被截断,以及存在的"中间遗忘"现象与节省窗口的实用做法。

聊大模型的时候经常听到"上下文窗口 128K""支持长上下文"这类说法。它到底指什么,为什么这个数字这么重要,简单说一遍。

它量的是什么

上下文窗口指的是模型一次能"看到"的最大内容量,包括你输入的全部内容加上它生成的回答,两边加在一起不能超过这个上限。

这个量一般用 token 计,不是字符也不是字数。token 大致可以理解为词或者词的一部分,中文里一个字大概一到两个 token,英文一个单词一到三个 token。所以"128K token"换算成中文大概十万字上下,不是精确值。

为什么会有上限

模型处理文本的核心是注意力机制,它需要计算每个 token 跟其他所有 token 之间的关系。token 数量翻一倍,计算量大约翻四倍——这是个平方关系。

所以上下文不是想开多大就开多大,开得越大越吃显存、越慢、越贵。所谓的"支持长上下文"往往是工程上做了优化(比如分组注意力、位置编码改进)之后的结果,不是白来的。

超了会怎样

最直观的后果是前面的内容被丢掉。输入超过窗口时,通常从最早的部分开始截断——你以为模型看到了整篇文档,其实开头那几页它压根没读到。

另一种不太容易发现的情况是"中间遗忘":内容没超窗口,但模型对开头和结尾记得清楚,对中间部分关注度下降。长文档里把关键信息放在中间,效果往往比放两头差。

怎么省着用

几条实用的做法:

  • 只喂相关的部分,别整篇文档丢进去
  • 多轮对话里,历史消息会一直占额度,聊久了要主动开新会话
  • 系统提示词也占额度,写太长会挤压正文空间
  • 需要处理的文本很长时,先自己做一轮筛选或者摘要

理解了这个上限,很多"为什么它答非所问"的问题就能找到原因了——大概率是它根本没看到你认为它看到的东西。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。