首页 文章 分类 标签 关于

上下文窗口是啥?为什么聊着聊着它就忘了之前说的话

🤖 上下文窗口是啥?为什么聊着聊着它就忘了之前说的话

你有没有遇到过这种情况——

跟ChatGPT聊了半小时,它在后半段突然忘了你10分钟前交代过的事。你跟DeepSeek说"刚才我提到的那个项目",它一脸茫然。

不是你记错了,也不是AI"故意的"。

问题出在一个叫"上下文窗口"的东西上。

什么是上下文窗口?

想象你面前有一张白纸。

你跟AI的每一次对话,AI都会把你说的话和它的回复,一行一行写在这张纸上。当你问下一个问题时,它会回头看看这张纸上写了什么,然后给出回答。

这张纸的大小,就是"上下文窗口"。

更准确地说:上下文窗口(Context Window)是AI一次能"看到"的文本总量。它的单位不是字数,而是Token。

不同模型的上下文窗口大小不一样:

模型上下文窗口大小(Token)
GPT-4o128K
Claude 3.5 Sonnet200K
Gemini 1.5 Pro1M(100万)
DeepSeek-V2128K
Llama 3.1128K
通义千问131K

也就是说,一张"纸"最大能写多少字,取决于模型本身的设计。

纸写满了怎么办?

这就是问题的核心。

假设你正在跟AI做一个大型咨询项目——

第一阶段你给了它5页的背景材料(10,000 Token)。 第二阶段你讨论了3种方案(8,000 Token)。 第三阶段你做了详细的对比分析(12,000 Token)。 第四阶段你们敲定了执行细节(10,000 Token)。

四轮下来,总共已经用了40,000 Token。如果上下文窗口是128K,那还好,还剩不少。

但如果你持续聊下去,上下文里塞进了你问的问题、AI的回答、你上传的文件全文……

当总Token数超过上下文窗口的最大值时,AI的"白纸"装不下了。

这时会发生两种情况:

  1. 显式截断:最早的对话内容被直接砍掉。AI再也看不到你们开头讨论的背景材料。
  2. 模糊滚动:模型有内部的"注意力"机制,当上下文太长时,它虽然能看到所有内容,但"注意力"被稀释,早期的细节被淹没在大量文本中。

无论哪种情况——AI就开始"失忆"了。

128K到底能聊多久?

128,000个Token听起来很多,对吧?

来算笔账:

  • 1个汉字 ≈ 1.5个Token(中文模型)或 1个Token ≈ 1.5个字
  • 1个英文词 ≈ 1.3个Token

128K Token约等于:

  • 19万字(按1 Token=1.5个字算)
  • 相当于一本《三体》三分之二的量
  • 或者你连续跟AI对话至少2-3小时

但别忘了——你上传的文件也要占空间。

一份20页的PDF ≈ 15,000 Token 一篇5000字的技术文档 ≈ 3,500 Token 一份代码库(10个文件,每文件200行)≈ 10,000 Token

如果你一边上传文件一边聊天,上下文很快就会被吃掉。

为什么这些公司做不大上下文窗口?

你可能会想:“干脆做无限大不就好了?”

原因很现实——计算成本。

AI的注意力机制(Attention)的计算量,跟上下文长度的关系是平方级增长的。

简单理解:

  • 上下文从4K扩大到8K,计算量不只翻倍——而是变成4倍
  • 从8K扩大到128K,计算量变成原来的256倍

这就是为什么给你128K甚至200K上下文的模型,实际用起来并不会真的塞满——因为每多一个Token,推理成本就增加很多。

再打个比方:

你在一间小房间里找东西 → 很快(4K上下文) 你在一个足球场里找东西 → 慢一些(32K上下文) 你在整个城市里找东西 → 非常慢且贵(128K上下文) 你在一个省里找东西 → 几乎不可能(1M上下文)

技术上可以做,但成本上不划算。

这也是为什么谷歌Gemini 1.5 Pro号称1M上下文,实际用起来响应速度明显比128K的GPT-4o慢。

不同场景需要多大的上下文?

了解上下文窗口有什么用?帮你选模型。

场景推荐上下文理由
日常聊天32K足够通常聊半小时不会超
代码审查(大项目)128K+要看很多文件
论文分析200K+需要全文+多篇对比
长文档翻译128K+一次翻译整篇文章
多轮对话工作128K+长时间协作不中断

我怎么知道当前用了多少上下文?

大多数AI界面不直接告诉你这个数字,但有几个信号:

  1. AI开始答非所问——很可能早期的关键信息已经被挤出上下文
  2. AI开始复述你说过的话——说明它在新消息里找信息,旧的已经丢了
  3. AI不能准确引用你之前提供的细节——比如你说了你的名字,后来它叫错了

GPT-4o的Web端会在输入框附近显示当前对话用了多少Token。Claude和DeepSeek目前没这么直观。

怎么应对上下文窗口限制?

四个实用技巧:

技巧1:及时开启新对话 当感觉AI开始"失忆",创建一个新对话,把最重要的背景信息重新粘进去。不要死磕一个对话。

技巧2:用"系统提示"交代关键信息 在一个新对话里,先把最关键的信息写清楚,再开始具体问题。这会排在上下文的开头,最后才被截断。

技巧3:定期总结再继续 跟AI说"请把我们目前讨论的要点总结成一段话"。然后开新对话,把这段总结贴进去继续。这比你继续在原对话里死磕有用得多。

技巧4:不要一次性上传太多文件 确定哪些文件是当前最关键的。把不重要的去掉,或者只贴关键段落而非全文。

一句话总结

上下文窗口就是AI的"短期记忆"。它的大小决定了AI能"记住"多少对话。一旦超过限制,AI的记忆就被强制刷新——别怪它忘事,是窗口不够大。

你现在知道为什么聊着聊着AI就失忆了——不是它笨,是它的"白纸"用完了。

📖 本文是MST「30天AI科普专栏」第11篇 / 共25篇 🔖 分类:日常使用 关注MST,每天一个AI小知识,把大模型讲明白。