很多人用免费版 ChatGPT 干活,写到一半它开始答非所问、把前面的要求忘了,第一反应是「模型变笨了」。多数时候是上下文满了,老内容被挤出去了。这篇不重复讲上下文原理,专讲免费用户怎么估算自己还剩多少空间、哪些操作最吃上下文、满了之后按什么顺序处理。
很多人用免费版 ChatGPT 干活,写到一半它开始答非所问、把前面的要求忘了,第一反应是「模型变笨了」。多数时候不是模型的问题,是上下文满了,早先那些内容被挤出去了,模型看不到,自然接不上。这篇不重复讲上下文原理,专讲免费用户怎么估自己还剩多少空间、哪些操作最吃上下文、满了之后按什么顺序处理。
先摆正一个预期:免费版的窗口本来就不是给你塞整本书的。你要做的是在有限空间里把活干完,而不是抱怨空间小。下面按「装得下什么—怎么估—什么最费—怎么省—满了怎么办—什么情况别纠结」的顺序走一遍,最后给一份能照着做的排查清单。
免费版的窗口里到底装得下什么
最容易被忽略的一点:窗口是「输入+输出」共用一个池子。你自己打的字、模型回你的话、你贴进去的文件和图片,全都从这个池子里扣。所以不是「我还没打多少字,应该还很空」,模型每回一次长答案,池子就少一块,你下一轮能用的空间也跟着缩。
中文的换算不用背公式。粗略讲,一个汉字大致落在一个到两个 token 之间,标点、换行、英文单词各算各的。想知道自己这段材料到底占多少,把文本粘进站内换算工具过一遍最实在,路径是 /tools,比你凭感觉猜准得多。
- 纯文字聊天:一轮问答通常占得不多,能撑不少轮
- 整篇长文贴进去:一次就吃掉一大块,后面几轮就紧了
- 代码文件或大段日志:占用跟行数和字符数直接挂钩,越长越费
- 图片和上传的文件:另算一份,不能只按你打的字估
- 免费档和付费档的窗口口径可能不一样,别拿别人的截图当自己的标准,以你账号里的实际表现为准
不用数 token,也能估出自己还剩多少
大多数人不需要精确到 token。你只需要几个粗糙但管用的信号,判断「是不是快满了」。最实用的信号是回答质量:开始跑偏、重复、忘记你早先提过的要求,基本就是空间在报警。这时候再往下追问,通常只会更糟。
还有个办法是给自己定一条「轮次红线」。比如你发现某个类型的任务,聊过十来轮之后模型就开始犯糊涂,那就把这条线记下来,到了就主动处理,别等它彻底答非所问才反应过来。这条线因人因任务而异,靠你自己几次实践就能摸出来。
| 信号 | 说明 | 该做什么 |
|---|---|---|
| 回答开始重复 | 同一句话换着说法讲好几遍 | 停下当前追问,准备压缩历史 |
| 忘记早期要求 | 你开头强调过的约束它不理了 | 把关键要求重新贴一遍,或开新会话 |
| 答非所问 | 问 A 答 B,明显没接上 | 基本确定空间紧张,别再硬聊 |
| 越来越啰嗦 | 简单问题也长篇大论 | 要求它只给结论,减少输出占用 |
要稍微精确一点的数字,就打开 /tools 里的换算工具,把你这轮准备发的文本量过一遍,心里有个大概。注意这只是估算,模型实际的计数方式你不一定完全对得上,别把它当绝对值用。
最吃上下文的几种操作,按消耗排
想省空间,先得知道空间被谁吃了。不同的操作消耗差别很大,按费不费来排个序,你日常就能有意识回避最贵的那几个。
| 操作 | 为什么费 | 日常怎么应对 |
|---|---|---|
| 整篇文档、长代码、大段日志 | 一次投喂就是一大块,直接把池子占去大半 | 先让它总结成短清单,只带清单继续聊 |
| 同一问题多轮追问 | 每轮都把全部历史重新带上,越聊越占 | 追问控制在少数几轮内,到点就收 |
| 让模型长篇输出 | 输出也占池子,废话越多挤掉的有效信息越多 | 明确要求只给结论、限定长度 |
| 反复重发同一段内容 | 等于同样的东西在池子里存了好几份 | 发过的就别再贴,用一句话指回前面 |
| 一聊到底不分会话 | 写文案、查资料、改代码全塞一起,历史越堆越高 | 一件事一个会话,换事就换会话 |
这份排序的意思是:同样的聊天轮数,你贴过的长材料多少、模型回过多少长文,差别能拉得很开。省空间的重点不是少打字,而是少让长材料和大段输出进池子。
把上下文省下来的几个习惯
下面这几条是能落地的习惯,不需要你懂任何技术细节,从今天就能开始用。核心思路是:别让池子里存用不上的东西,把真正有用的信息压缩成几行带着走。
- 一件事一个会话把写文案、查资料、改代码分开开三个会话。判断标准很简单:接下来的问题还需不需要前面那段历史,不需要就新开一个,别图省事一路聊到底。
- 长材料先压成清单拿到长文档或长代码,先让它输出一份要点清单或结构说明,然后你用清单继续,而不是每次把原文重贴一遍。验证办法:清单贴进新会话,看它能不能接着干活。
- 要求简短输出在提问里明确「只给结论」「不要展开」「列表回答」。输出短了,同样池子能多撑几轮,这是最不费力的省法。
- 把固定要求存成开场说明你的身份设定、格式要求、常用约束,写成一段可以反复用的开场文字。每次新会话直接粘上,不用重新解释一遍,也避免了它忘记。
- 长任务先要进度清单干到一半要换会话时,先让它把「完成了什么、还差什么、关键前提」列成几行,把这份清单带走。这比事后让它「回忆一下」可靠得多。
这几条不是要你事事都这么干,短任务该省事还是省事。真正需要的是在长任务里养成习惯:知道什么时候该压缩,什么时候该换会话。
装满了:是继续聊还是开新会话
判断标准其实就一句:接下来的任务还需不需要前面的背景。不需要,直接开新会话,最干净也最省事。需要背景,别硬着头皮在原会话里挤,先把背景压缩成几行摘要,带着摘要开新会话,效果通常比继续在原会话里挣扎好。
- 任务换了,跟前面无关:开新会话
- 任务没换,但历史很长:先要一份摘要,再开新会话
- 还想试试抢救:让它把关键信息列成清单,你复制出来备用
- 别指望一句「记得前面说的」:被挤出去的内容它真的看不到,喊也喊不回来
- 输出还在正常但质量下滑:先压缩历史,还不行再重开
还有个细节:换会话之后别把老会话里那一大堆原文又搬过去,那等于白换。搬的是你那几行摘要,不是原封不动的历史。
这些情况下,纠结窗口大小意义不大
不是所有任务都值得为窗口操心。有的情况窗口根本不是瓶颈,你再怎么优化也优化不出什么,反而浪费时间。先判断你属于哪一类,再决定要不要花力气。
| 你的情况 | 窗口是不是瓶颈 | 建议方向 |
|---|---|---|
| 一问一答就结束的短任务 | 不是,几乎用不到多少 | 正常用,不用管窗口 |
| 要读完整本长文档并交叉引用 | 是,免费档很难硬扛 | 换个适合长材料的方案 |
| 要反复跑同样流程、求稳定 | 是,免费网页版本就不是为这个设计 | 去 /models 和 /official-api 对比按量调用 |
| 只是偶尔用、聊天为主 | 基本不是 | 把省上下文那几条当成顺手习惯即可 |
一句话,如果你的任务本身就很短,窗口大小跟你没关系,别被这个词吓到。真正需要留意的是长材料、长任务、要反复跑的场景,那些地方才谈得上省和换。
一份可以照着做的排查清单
下次再遇到「它好像变笨了」,别急着下结论,按下面这个顺序走一遍。多数情况走到第二三步就解决了,不需要你懂任何底层原理。
- 看症状、估用量先看会话聊了多少轮、贴过多少长材料。回答重复、忘要求、答非所问,基本都是空间紧张。
- 让它压成短清单让它把「当前进度、关键前提、还未完成」列成几行,验证办法是这份清单单看能不能看懂。
- 带着清单开新会话复制清单,开一个新会话粘上去继续。注意只带清单,不带原文。
- 还不行就把任务拆短把一个大任务拆成几个小任务分别做,每个小任务单独会话,难度降下来通常就顺了。
- 确实要反复读长材料就换方案别在免费网页版上硬耗,去 /models 挑适合长材料的模型,或去 /official-api 看按量调用的方式。
这份清单的意思是:先怀疑用量,再压缩,再换会话,最后才考虑换工具。顺序反了容易白忙,比如一上来就换模型,其实你只是历史太长而已。
下一步想知道各家模型当前的窗口口径和按量调用的具体情况,去站内模型库和价格页核对当时的数字,别拿旧截图当标准。→常见问题
免费版和付费版的上下文一样吗?
不一定一样,各档位的窗口口径会随产品调整。别用别人分享的数字当准,去站内模型库看当前记录,再结合你自己账号的实际表现判断。判断方法比数字本身更有用:贴一段长材料,看它会不会忘掉开头的内容。
对话变长以后回答变差,是模型被换了还是上下文满了?
两种都可能,但先按下限排除:看你这个会话已经聊了多少轮、贴了多少长材料。最省事的验证方式是带着几句背景摘要开一个新会话重问一遍,如果回答质量立刻恢复,那就是上下文的问题,不用怀疑模型。
怎么知道自己一条消息大概占多少空间?
中英文、代码、图片、文件占的量都不一样,硬记数字意义不大。用站内工具箱里的换算工具,把你常发的文本类型过一遍,心里有个大概倍数就行。重点是养成「长材料先压缩」的习惯,而不是每次都精算。
上下文满了以后,之前的内容还能找回来吗?
找不回来。被挤出去的部分模型看不到了,你说「按前面说的做」它也无从查起。唯一的补救是先让它把还记得的要点列出来,你确认补全后,带着这份摘要开新会话。所以长任务最好在中途就主动做摘要,别等它忘。
需要读长文档,免费版还能不能用?
短文档、单次问答能用;需要反复引用、多处交叉比对的长文档就不合适了。这种情况更现实的做法是换成分段处理,或者去站内看支持长上下文的模型方案,按你的实际用量估算成本,别硬耗在网页版上。