每次跟AI对话都像在培训新员工,直到我搞懂上下文窗口:从此AI不再卡顿
事情是这样的。
昨天一个朋友气冲冲地给我发消息,说AI动不动就卡住,本来好好在帮他分析东西,聊着聊着突然像断片了一样,开始胡说八道。
他在用一个叫 Qclaw 的工具,底层接的是 GLM 模型。说到底就是AI,跟你用 ChatGPT、DeepSeek、Claude 没什么区别。
我让他把对话记录截给我看了一眼。
好家伙。
一个对话里面,他一口气发了几十张图片过来,各种截图、文档,然后跟AI说「帮我分析一下这些东西」。
然后聊着聊着AI就开始犯浑。
我一看就知道怎么回事了。他的上下文窗口已经被图片给撑爆了。

这事不是我朋友一个人的问题。我见过太多人犯同样的错,总觉得给AI的信息越多越好,恨不得把硬盘里所有相关的东西一股脑丢进去。
但你得知道一件事。
AI的记忆,是有物理限制的。
一张桌子有多大
你可以把AI的大脑想象成一个办公桌。
这张桌子有固定大小。GPT-4o 大概能放9.6万字,DeepSeek 最新的模型能放75万字左右,Claude 最新版能放15万字(开启长上下文可达75万字),Gemini 能放75万字。GLM 最新的是15万字左右,也有专门的长文本版本能到75万字。
不管桌子多大,终归是有限的。
关键是很多人不知道一件事:AI 每次生成回复的时候,虽然底层有缓存机制不用从头重算,但它确实要跟前面所有的对话历史做一次注意力计算。简单说,就是扫描一遍全部历史,判断哪些跟当前问题相关。
对话越长,要扫描的内容越多。而且不管怎么优化,上下文窗口的总容量是固定的,你塞的东西越多,留给AI思考和回答的空间就越少。
这就像你桌上堆满了文件,每来一个新任务,你都得扫一眼桌上所有文件,确认哪些跟当前任务有关。文件越多,就越容易看漏关键信息。

我朋友的情况就是,桌子已经堆满了,他还在往上面放东西。AI不是不想帮你,是真的放不下了。
你在花冤枉钱
你可以这样理解,给 AI 说话,让 AI 做事,需要花费「token」这个东西。
简单说一下,token就是你花钱的单位。所有的AI服务商,OpenAI、Anthropic、Google、智谱,都是按token收费的。你输入的内容要算token,AI输出的内容也要算token。
一个汉字大概等于1.5到2个token,一张图片就更不用说了,动辄几千上万个token。
更狠的是,token消耗是累加的。你在第1轮对话时输入了500个token,到第10轮时,服务商会把前9轮的全部内容加上第10轮的新输入一起计算费用,输入token可能已经累积到两万多个。聊到第30轮,一个简单的问题可能触发十几万token的输入。
越聊越贵,贵得你还浑然不觉。
所以上下文窗口用满,不光是AI会变笨的问题,还是钱的问题。

聊久了AI真的会变傻
除了容量被撑满之外,还有一个很多人不知道的问题。
2023年斯坦福大学发了一篇论文,叫「Lost in the Middle」,翻译过来就是「迷失在中间」。他们测试了GPT-4、Claude这些主流模型,发现了一个规律,AI对放在上下文开头和结尾的信息记得最清楚,但对中间的信息特别容易忽略。
你长篇大论中间塞进去的关键信息,AI大概率根本没看到。

这跟人的注意力机制其实挺像的。你让一个人一口气读完一篇两万字的文章,他能记住开头和结尾,中间大概率是模糊的。
所以一次性塞太多东西给AI,不光是容量问题,还有注意力问题。

那到底该怎么做呢,我自己用了这么久AI,总结了六个我觉得特别实用的技巧,下面一个一个聊。
技巧一,编辑而不是追问
这是最简单也最容易被忽略的一个。
很多人习惯在AI回答完了之后直接在对话框里说「不对,你改一下」「不是这个意思,我重新说一遍」。
但你有没有想过,每一次追问,你的对话历史就更长了一截,token消耗是累加的。追问10次,上下文就多了10轮的内容。
正确做法其实特别简单,直接点编辑按钮,修改你原来的那条消息,让AI重新生成就行了。旧消息被替换掉了,token消耗不会累加。
大部分主流AI工具都支持编辑历史消息。
就这么简单一个操作,能省掉海量的token。

技巧二,定期开新对话
这是很多开发者总结出来的经验,我用了之后觉得真的很舒服。
每聊10到15轮左右,让AI总结一下当前的要点和进度,然后复制这份总结,开一个新对话继续。
为什么要这样做呢,因为长对话是昂贵的负债,新对话是高效的资产。
旧的对话历史就像你桌子上已经处理完但还没收拾的文件,留着只会占空间。与其让AI带着一堆历史包袱往前走,不如定期收拾一下桌子。
你可以直接跟AI说「请把我们目前讨论的关键点总结成一份简短的备忘录,不超过500字」,然后复制这份总结开新对话。
有研究发现,10轮对话的上下文如果压缩成200个token的摘要,可以省掉90%以上的token消耗。
技巧三,别把整份文件丢给AI
这也是我朋友犯的错。他一口气发了十几张图片过来。
如果你的材料很长或者图片很多,不要一股脑全丢进去。告诉AI你的核心需求,然后只给它最相关的部分。
比如你要AI帮你分析一份报告,别把50页全部丢进去。先说「我要分析这份报告第三章关于市场数据的部分」,然后只粘贴那几段相关的内容。
或者用AI的知识库功能,把文件上传上去,让它按需检索相关的部分,而不是一次性加载全部内容。
把文件当参考资料库,不要当一次性阅读材料。

技巧四,指令放前面,资料放后面
这个是有正经研究支撑的。
Anthropic和AWS联合发过一份提示词工程最佳实践,里面明确建议了prompt的结构,任务描述和指令放在最前面,背景资料和数据放在中间,当前的具体请求放在最后。
因为前面说的Lost in the Middle效应,AI对开头和结尾的信息最敏感,中间的信息容易被忽略。
所以你的指令和要求放前面,参考资料和背景信息放后面,最后再重复一遍你的核心问题。
举个例子,先说「帮我分析以下内容中的三个关键风险点」,然后放资料,末尾再问一句「基于上面的资料,三个关键风险点分别是什么?」
两头都点了题,AI就不容易遗漏。
技巧五,善用系统提示和记忆功能
如果你有一些需要AI长期记住的信息,比如你的职业、你的偏好、你常用的格式要求,不要每次对话都重新说一遍。
大部分AI工具都有类似的功能。ChatGPT有Custom Instructions,Claude有Memory,DeepSeek有系统提示词。在设置里写好你的核心信息,AI在后续对话中会自动调用。
这些功能干的事就一件,帮AI省上下文,让你不用每次都从零开始介绍自己。
但要注意,有些AI的记忆功能会自动积累它认为重要的信息,有些可能已经过时了。建议隔一段时间检查一下,把没用的删掉。
跟清理手机缓存是一个道理。
技巧六,关键信息主动锚定
这个技巧特别适合长对话场景。
当你在一段比较长的对话中突然需要AI关注一个新信息时,用明确的标记把它突出起来。
比如直接说「【重要】从现在开始,所有代码输出使用TypeScript,不要用JavaScript」。
别指望AI能在50条消息的上下文里精准找到你第3条消息里随口提的一句要求。它没有你想象的那么「记性好」。
AI不是你想的那样
说真的,除了上面这些使用技巧,我觉得还有一个认知层面的事需要聊一下。
AI不是搜索引擎,也不是万能的记忆库。
很多人把AI当成Google用,什么问题都直接问,不给上下文,不给约束条件,然后抱怨回答不好。
有人走另一个极端,把AI当成什么都能记住的神,说过的每一句话它都应该牢牢记住。
这俩都不对。
AI更像是一个能力很强但记性不太好的新同事。你给他清晰的任务、对路的参考资料、明确的输出要求,他就能交出漂亮的活。
但你让他同时处理五个完全不同领域的任务,还指望他记得三天前你随口提的一个需求,那就是你的问题了。
管理AI的上下文,就是在管理这个新同事的工作台。桌子上放什么、不放什么,怎么定期整理,怎么在需要时精准调取,这些才是真正决定你AI使用效率的东西。
我那个朋友后来把对话清掉,重新开了一个会话,只发了三张最关键的图片给AI,描述清楚了自己要分析什么。
AI秒回了,分析得头头是道。
他发消息跟我说「原来这玩意不是我不行,是我用法不对」。

我觉得他说到点子上了。
夜雨聆风