首页 > AI工具 > ZCode上下文满了怎么办?清理和接续顺序

ZCode上下文满了怎么办?清理和接续顺序

更新时间:2026-10-25 06:22:58 发布时间:4小时前 阅读:6次

先看是不是提前压缩,再决定换会话还是调窗口。ZCode 的上下文不会等到真正用满才动,它按窗口减去输出预留和安全缓冲后的水位提前自动压缩,所以看到“还没满就压缩”属于正常现象;要处理,先判断是窗口值填小了,还是这个会话确实该收尾了。

ZCode上下文满清理

ZCode的自动压缩在什么时候触发

触发点不是标称窗口,而是窗口扣掉两部分:一是给模型输出留的空间,二是固定的安全缓冲,两者合计大约三万四千 token。换算下来,十二万八千的窗口在九万四千左右就会压缩,二十万的窗口在十六万六千左右,一百万的窗口在九十六万六千左右。窗口越小,压缩点占标称值的比例越低。

这个压缩目前没有开关,也没有阈值可调,属于产品行为。判定时的计数还包含本轮工具结果的实时估算,所以会比输入框上方显示的水位略高,看起来像没到线就压缩了。水位面板的分项占比是本地估算值,和顶部的真实用量口径不同,两者不能直接相加对齐。

ZCode上下文容量的显示规则

容量跟会话选的模型走,不跟项目走。桌面客户端每个会话记着自己选的模型,切换模型后容量跟着变。每条模型配置带一个窗口值,客户端拿它算容量:新加的模型、或者没带窗口信息的模型,默认按二十万计算;模型标识以特定后缀结尾时固定按一百万处理;其他情况以你填的数值算。

模型来源 窗口值能不能改 说明
自定义供应商加的模型 可以改 改完对新会话生效
套餐内置的模型 不能改 服务端下发,本地改了会被同步回去
标识带百万后缀的模型 不能改 固定按一百万处理

表里第二行最容易误判成配置丢了。内置模型的窗口由服务端统一下发,本地改动在下一次同步时恢复成官方值,这是有意的设计。同一个项目里两个会话显示不同容量也正常,旧会话沿用它当时用的那个模型的值。

ZCode会话接续的三种做法

压缩之后上下文会变短,接着干活有三种路子,选哪种看任务还剩多少。这也是编程智能体类工具的通用处理办法。这三种做法的共同点是不需要重装工具,也不用重新连模型。

第一条第顺序上有讲究:压缩刚发生时就补进度,比跑了几轮之后再补有效,因为那时上下文里还留着任务主干。第二条适合任务本来就要分阶段做的场景,把阶段结论文档化,比硬撑着在一个会话里跑到底更稳。

ZCode手动改上下文窗口的位置

进设置里的模型供应商,展开对应模型的高级面板就能看到窗口值,改完保存对新会话生效。改之前先确认这个模型实际支持多长,填得比真实窗口大,压缩点会往后推但请求会先被服务端拒绝,表现是长文档任务直接报错。

同一个面板里还有最大输出长度的设置项,这两项会互相挤占:输出上限调高,能带上的历史对话就变少,压缩也会来得更早。默认留空跟随模型自己的上限,除非确实需要长输出,不然不要动它。

ZCode占用磁盘的命令记录清理

还有一个跟上下文无关但常被当成上下文问题的现象:命令行目录越占越大。那里存的是历史会话中终端命令的输出记录,目前不会自动清理,长期跑任务会累积到很占空间。上下文压缩不会动这部分内容,删了也不影响会话记录。

清理前把客户端完全退出,确认没有后台命令在跑,然后整个目录删掉,需要时它会自动重建。代价只有一个,历史任务里的命令输出无法再回看。做长任务前顺手看一眼这个目录的大小,比事后清理省事。

常见问答

ZCode上下文压缩会丢代码吗

不会。压缩动的是对话上下文,工作区里的文件在磁盘上原样保留,改过的内容不因为压缩而回滚。会丢的是对话里没落成文件的细节,比如某次讨论得出的判断依据。担心丢失就把关键结论写进项目说明文件,下次压缩后仍能读到。

ZCode的窗口显示比模型实际小怎么办

先看模型的来源。自定义供应商加进来的模型可以在模型供应商的高级面板里改窗口值,填完保存,新建会话生效;套餐内置的模型窗口由服务端下发,本地改不了也改不上去。显示容量取自会话当前选的模型,换模型后容量会跟着变。

ZCode一直提示上下文不足怎么处理

两种情况。一种是窗口值填得比真实小,去模型供应商里核对一遍;另一种是任务本身太长,单会话跑不完,这时拆阶段比调窗口有效,把材料分批处理、阶段性结论落成文件,每段单独用一个新会话,总量就不再受单个窗口的限制。

ZCode换新会话后进度怎么接上

靠一段交接说明。把已完成的部分、改过的文件路径、还没做的清单写清楚带进新会话,Agent 读完能接上。工作区里有说明文件的话会自动注入,长期有效的约定写在那里最省事;临时性的进度写在第一条消息里,不要指望它自己回忆上一个会话。

标签:
相关文章