上下文窗口是预算,不是记忆
看一段长对话如何把最早的信息推出视野,再比较截断、压缩和选择性保留。可靠的上下文管理,本质是决定什么值得留下。
本页解决的问题
先给结论「上下文窗口是预算,不是记忆」要解决的关键问题是什么?
看一段长对话如何把最早的信息推出视野,再比较截断、压缩和选择性保留。可靠的上下文管理,本质是决定什么值得留下。
忘记,很多时候是策略没写清。 窗口装满之后,必须丢弃、总结或重新检索某些内容。把这条策略提前设计,而不是让最早的对话偶然消失。
标出十轮之后任务仍必须保留的三个事实。
不断增加上下文,却没决定什么内容才是权威。
AI 没有无限的记性。它每次回答,只能看见「工作台」上放得下的最近内容;台面(术语叫「上下文窗口」)满了,最早的话就被挤掉。被挤掉的那部分,再也参与不了这次回答。
想象 AI 面前有一张桌子。你们每聊一轮,就往桌上放一张纸条,写着这一轮说了什么。AI 回答你时,只低头看桌上现有的纸条。桌子就那么大,纸条放满之后,每来一张新的,最旧的那张就被推下桌。掉在地上的纸条,它看不见,也捡不回来。
台面大小 = 上下文窗口
不同模型的台面有大有小,但都有边界。放满就是放满了,加钱也变不出第九个格子。
一张纸条 = 一轮对话
你说的和它回的都要占台面,长篇大论、大段粘贴的资料占得更多,台面满得更快。
下面是一场模拟对话。你在第 1 轮告诉过它「我对花生过敏」。往右拖动滑块增加对话轮数,看着台面慢慢放满,再看看那张关键纸条掉下去之后,它推荐的晚饭变成了什么。
重要信息,隔段时间重讲一遍
过敏、预算、格式要求这类关键设定,聊了十几轮之后不妨再说一次,等于把纸条重新放回台面最上层。
台面满了,直接开一个新对话
最直接的一招,也最常被忘掉:新对话就是一张空台面,之前挤掉的东西不再占地方。短任务重开就完事;长任务别裸开,先让它总结当前进展,把摘要贴进新对话再接着干。
发现它忘了,别跟它吵
它翻不回去掉在地上的纸条。直接把关键信息重新发一遍,比连问三句「你忘了吗」有用得多。
「先看一个类比 · 一张放纸条的工作台」如何改变一次回答
「AI 没有无限的记性。它每次回答, 只能看见「工作台」上放得下的最近内容 ;台面(术语叫「上下文窗口」)满了,最早的话就被挤掉。被挤掉的那部分, 再也参与不了这次回答」说明,模型处理的不是我们眼中的“字数”,而是一段段 Token。Token 的切分方式会影响输入长度、上下文能放下多少内容,以及一次请求要花多少计算。
长度、信息量和上下文不是一回事
当「想象 AI 面前有一张桌子。你们每聊一轮,就往桌上放一张纸条,写着这一轮说了什么。AI 回答你时,只低头看桌上现有的纸条。桌子就那么大,纸条放满之后,每来一张新的, 最旧的那张就被推下桌 。掉在地上的纸条,它看不见,也捡不回来」变长时,先要分清三件事:文字被切成多少 Token、哪些内容真正参与当前判断、以及旧内容是否已经超出上下文窗口。删掉重复说明通常比单纯把窗口开得更大更有效。
- 忘事是容量问题 :它没坏,是台面满了,最早的话被挤掉了
- 每次回答只看窗口内的内容 :掉出去的部分等于没说过
- 重要设定要重申 :隔段时间重讲一遍,把纸条放回台面
先保留会改变判断的内容
可以用「它翻不回去掉在地上的纸条。」做一次对照:保留同样的问题,分别删掉重复背景、压缩格式和移除无关历史,比较答案质量、延迟与 Token 数量。
从「先看一个类比 · 一张放纸条的工作台」走到「亲手试试 · 把台面聊满」
「先看一个类比 · 一张放纸条的工作台」先把问题落在「想象 AI 面前有一张桌子。你们每聊一轮,就往桌上放一张纸条,写着这一轮说了什么。AI 回答你时,只低头看桌上现有的纸条。桌子就那么大,纸条放满之后,每来一张新的, 最旧的那张就被推下桌 。掉在地上的纸条,它看不见,也捡不回来」上;到了「亲手试试 · 把台面聊满」,讨论继续推进到「下面是一场模拟对话。你在 第 1 轮 告诉过它「我对花生过敏」。往右拖动滑块增加对话轮数,看着台面慢慢放满,再看看那张关键纸条掉下去之后,它推荐的晚饭变成了什么」。两段连起来,重点就不只是记住一个结论,而是看清它成立所依赖的条件。
把这条判断带到下一个场景
处理长文本时,先保留会改变结论的内容,再决定如何压缩格式和历史;上下文更长只有在新增信息真正有用时才值得付出代价。
- 「先看一个类比 · 一张放纸条的工作台」:想象 AI 面前有一张桌子。你们每聊一轮,就往桌上放一张纸条,写着这一轮说了什么。AI 回答你时,只低头看桌上现有的纸条。桌子就那么大,纸条放满之后,每来一张新的, 最旧的那张就被推下桌 。掉在地上的纸条,它看不见,也捡不回来
- 「亲手试试 · 把台面聊满」:下面是一场模拟对话。你在 第 1 轮 告诉过它「我对花生过敏」。往右拖动滑块增加对话轮数,看着台面慢慢放满,再看看那张关键纸条掉下去之后,它推荐的晚饭变成了什么
- 「最后的要点」:台面满了就重开 :短任务直接开新对话,长任务先要一份摘要带走
最后的「最后的要点」把讨论落到「台面满了就重开 :短任务直接开新对话,长任务先要一份摘要带走」。回看这条线索时,最值得保留的是:当输入、规模或风险改变,哪些判断需要重新做一遍。
✅ 这一页想和你分享的
- 忘事是容量问题:它没坏,是台面满了,最早的话被挤掉了
- 每次回答只看窗口内的内容:掉出去的部分等于没说过
- 重要设定要重申:隔段时间重讲一遍,把纸条放回台面
- 台面满了就重开:短任务直接开新对话,长任务先要一份摘要带走
互动练习
把模糊需求拼成一条可执行的提示词
把目标、背景和限制说清楚,再把整理好的提示词带到你正在使用的 AI 工具里。
我以前把“窗口变大”理解成模型记忆变好了。现在排查长对话会先看哪些内容被截断、摘要有没有丢掉约束,很多问题其实出在管理策略。
窗口更大以后,模型真的会同样稳定地使用靠近开头的信息吗?如果不会,应用层是不是还需要主动把关键约束重复放到后面?
希望能看到一个“上下文预算”示例,把系统指令、用户输入、历史记录和检索资料分别占多少空间画出来,做方案时会很有参考价值。
还没有这篇文章的讨论。