大模型的上下文窗口是什么?为什么它决定 AI 能记多少

为什么 AI 聊着聊着就「忘」了前面说的话?上下文窗口到底是什么、Token 怎么算、窗口越大越好吗。用最直白的方式讲清大模型的「记忆」边界。

大模型的上下文窗口是什么?为什么它决定 AI 能记多少
编辑部 ·

用大模型久了你可能发现:聊到后面,它好像「忘」了开头说过的话;或者你贴一篇超长文档进去,它读到一半就开始答非所问。这背后的关键概念,就是上下文窗口(Context Window)。这篇用最直白的方式讲清楚它是什么、为什么重要。

一句话理解上下文窗口

上下文窗口,就是大模型一次能「同时看到」的文字总量。

你可以把它想象成模型的工作台:台子就这么大,你放上去的东西(对话历史、你的问题、贴进去的文档)加起来不能超过台面。超出的部分,要么放不下、要么把最早的挤下去——于是模型就「忘」了。

先搞懂 Token:模型眼里的「字」

上下文窗口的大小不是按「字数」算的,而是按 Token

Token 是模型处理文本的最小单位,可以理解为「词块」:

  • 英文里,一个 Token 大约是 3/4 个单词(apple 可能是 1 个,unbelievable 可能拆成几个)
  • 中文里,一个汉字通常约等于 1~2 个 Token

一个「32K 上下文」的模型,意思是它一次最多能处理约 3.2 万个 Token。粗略换算,中文大概是一两万字的规模——对话历史、你的提问、它的回答,全都要挤在这个额度里。

为什么它决定了 AI「能记多少」

模型本身没有长期记忆。它不会真的「记住」你——每次回答,其实是把这一整段对话重新读一遍,再接着往下写。

所以:

  • 对话越长,占用的 Token 越多
  • 一旦总量超过窗口上限,系统就会丢掉最早的内容给新内容腾地方
  • 被丢掉的部分,模型就再也「看不到」了,表现出来就是「失忆」

这也解释了为什么把长文档一次性贴进去很吃窗口:文档本身就占掉大量 Token,留给推理和回答的空间被压缩了。

窗口越大越好吗?

大窗口确实能装下更长的文档、更久的对话,是明显的优势。像 Claude 这类以超长上下文见长的模型,处理长文档时体验就很突出(这也是 Claude Pro 的一大卖点)。但也别把它当万能:

  • 不是塞得越多越准:内容太长时,模型可能「顾此失彼」,忽略掉中间某些关键信息(业界常说的「lost in the middle」)
  • 越长越贵越慢:Token 越多,计费和响应时间通常也越高
  • 窗口大 ≠ 真记住:出了这次对话,模型依然什么都不记得

窗口不够用怎么办?

当你的资料远超上下文窗口时,硬塞是塞不下的。工程上更聪明的做法是 RAG(检索增强生成):不把整个资料库塞进窗口,而是每次只检索出最相关的一小段喂给模型。这样既绕开了窗口限制,又能让回答有依据。原理详见RAG 检索增强生成是什么

而在需要多步骤、长流程的任务里,AI Agent 则会借助「记忆」模块,把关键信息存到窗口之外,需要时再取回来——本质也是在绕过上下文窗口的限制。

小结

上下文窗口是大模型一次能「同时看到」的 Token 总量,决定了它在一段对话或一份文档里能「记住」多少。理解它,你就能明白:为什么 AI 会「失忆」、为什么长文档要分段喂、以及为什么 RAG 和记忆机制会存在。把窗口用在刀刃上,比一味追求「更大」更重要。