回到「AI 说人话」栏目
AI 说人话

AI 说人话:200 万 token 的窗口,不等于模型记得你昨天说的话

· AI Hot 编辑部

概念翻译 · 上下文窗口是 AI 摊在桌上的资料摊,不是它的脑子。这篇讲清楚窗口到底在装什么、为什么窗口长了还是会「忘事」,以及「它好像记得我」到底是谁做出来的。

一句话:上下文窗口是 AI 摊在桌上的资料摊,不是它的记忆。今天这一轮它看得见,上一轮它看不见——除非有人把上一轮的内容重新抄到这一轮的桌上。

1. 窗口里装的到底是什么

「上下文」就是一串按顺序排好的 token。从系统指令、这轮对话的历史消息、你手动贴进来的资料,到工具调用返回的结果,全都在这同一个序列里。窗口大小——8 万、20 万、200 万——说的就是这个序列最多能塞多少个 token。

关键在「塞不下会怎样」:超出的部分不会被模型自动存起来。不是压缩,不是存档,是真的不在这次请求里。所以同一个模型、同一个问题,开新对话和接着聊,答案可以完全不同——不是它变笨了,是桌上的资料不一样了。

2. 三个最常见的误解

误解一:窗口大 = 记得多。不等于。窗口决定它这一次能看见多少,不决定它上一次说了什么。200 万 token 装得下一整本手册,装不下「三天前你随口说过的那句话」。

误解二:塞满窗口最稳。不一定,甚至常常更差。原因叫「迷失在中间」(lost in the middle):模型对序列开头和结尾的内容引用得明显更多,中段容易被忽略。你把 20 万 token 资料一股脑塞进去,恰好是让最关键的那段最容易消失。而且每多塞一段,延迟和账单一起涨。

误解三:它说「我记得」就是记得。那是它在拿当前窗口里的东西说话。措辞让它听起来像长期记忆,实际它只是在复述你五分钟前刚贴进来的那段话。

顺便说清「token」是个什么单位。窗口标的那个数字,单位不是字,是 token——大致一个英文单词或一个汉字的 1–2 倍,取决于怎么切。所以 20 万 token 换成中文,可能是一篇不算短的文章,也可能比你想的少。中文一个字往往吃掉一个以上的 token 位,所以拿窗口当「能塞多少汉字」来估会估偏,实际动手前先估个七折。

3. 那「它好像记得我」是怎么做出来的

是外挂。做法的完整名字是检索增强生成,行业里也叫 RAG:把历史对话存进数据库,每次你提问时先检索出最相关的几段,塞回当前窗口,再让模型照着答。vendor 说的「记忆功能」多半也是这一套——不是模型记住了,是每次重新给它看。

所以下次 AI 表现得像很懂你,值得高兴的是你的这套系统搭得不错,而不是模型的记性变好了。这个区别决定了你以后该优化哪一边:前者你能改,后者你改不了。

4. 普通用户和 builder 怎么办

普通用户,三条:

1. 别问「你还记得吗」,改问「我刚才那段话在下面,照着它做」——把需要的东西直接放进这一次对话。

2. 聊到几千轮还在硬撑时,与其反复确认它忘没忘,不如开一个新对话、把结论重述一遍,干净且便宜。

3. 真需要跨对话记忆的,去用有历史记录开关的产品,别指望模型自己攒。

builder,三条:

1. 先算账再开窗口。上下文长度直接乘以你的调用量,是账单里最容易被忽略、也最容易失控的一块。

2. 优先「少而准」:先用检索把 10 万 token 的资料砍到 3 千再进窗口,而不是把 10 万都推进去。

3. 关键指令放窗口的两头,资料放中间。同样花的钱,可靠性会不一样。

模型没有记忆,只有每次重新铺好的一张桌子。你要问的问题不是「它记不记得」,是「这次桌上摊的东西够不够」。

栏目

AI 说人话:把 AI 黑话翻成人话,看完就知道下一步怎么做。

订阅可行动 AI 信号

直接用 RSS,或打开预填邮件申请。没有假表单。