你有没有遇到过这种情况——
跟ChatGPT聊了半小时,它在后半段突然忘了你10分钟前交代过的事。你跟DeepSeek说"刚才我提到的那个项目",它一脸茫然。
不是你记错了,也不是AI"故意的"。
问题出在一个叫"上下文窗口"的东西上。
什么是上下文窗口?
想象你面前有一张白纸。
你跟AI的每一次对话,AI都会把你说的话和它的回复,一行一行写在这张纸上。当你问下一个问题时,它会回头看看这张纸上写了什么,然后给出回答。
这张纸的大小,就是"上下文窗口"。
更准确地说:上下文窗口(Context Window)是AI一次能"看到"的文本总量。它的单位不是字数,而是Token。
不同模型的上下文窗口大小不一样:
| 模型 | 上下文窗口大小(Token) |
|---|---|
| GPT-4o | 128K |
| Claude 3.5 Sonnet | 200K |
| Gemini 1.5 Pro | 1M(100万) |
| DeepSeek-V2 | 128K |
| Llama 3.1 | 128K |
| 通义千问 | 131K |
也就是说,一张"纸"最大能写多少字,取决于模型本身的设计。
纸写满了怎么办?
这就是问题的核心。
假设你正在跟AI做一个大型咨询项目——
第一阶段你给了它5页的背景材料(10,000 Token)。 第二阶段你讨论了3种方案(8,000 Token)。 第三阶段你做了详细的对比分析(12,000 Token)。 第四阶段你们敲定了执行细节(10,000 Token)。
四轮下来,总共已经用了40,000 Token。如果上下文窗口是128K,那还好,还剩不少。
但如果你持续聊下去,上下文里塞进了你问的问题、AI的回答、你上传的文件全文……
当总Token数超过上下文窗口的最大值时,AI的"白纸"装不下了。
这时会发生两种情况:
- 显式截断:最早的对话内容被直接砍掉。AI再也看不到你们开头讨论的背景材料。
- 模糊滚动:模型有内部的"注意力"机制,当上下文太长时,它虽然能看到所有内容,但"注意力"被稀释,早期的细节被淹没在大量文本中。
无论哪种情况——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界面不直接告诉你这个数字,但有几个信号:
- AI开始答非所问——很可能早期的关键信息已经被挤出上下文
- AI开始复述你说过的话——说明它在新消息里找信息,旧的已经丢了
- AI不能准确引用你之前提供的细节——比如你说了你的名字,后来它叫错了
GPT-4o的Web端会在输入框附近显示当前对话用了多少Token。Claude和DeepSeek目前没这么直观。
怎么应对上下文窗口限制?
四个实用技巧:
技巧1:及时开启新对话 当感觉AI开始"失忆",创建一个新对话,把最重要的背景信息重新粘进去。不要死磕一个对话。
技巧2:用"系统提示"交代关键信息 在一个新对话里,先把最关键的信息写清楚,再开始具体问题。这会排在上下文的开头,最后才被截断。
技巧3:定期总结再继续 跟AI说"请把我们目前讨论的要点总结成一段话"。然后开新对话,把这段总结贴进去继续。这比你继续在原对话里死磕有用得多。
技巧4:不要一次性上传太多文件 确定哪些文件是当前最关键的。把不重要的去掉,或者只贴关键段落而非全文。
一句话总结
上下文窗口就是AI的"短期记忆"。它的大小决定了AI能"记住"多少对话。一旦超过限制,AI的记忆就被强制刷新——别怪它忘事,是窗口不够大。
你现在知道为什么聊着聊着AI就失忆了——不是它笨,是它的"白纸"用完了。
📖 本文是MST「30天AI科普专栏」第11篇 / 共25篇 🔖 分类:日常使用 关注MST,每天一个AI小知识,把大模型讲明白。