首頁 > AI工具 > ZCode上下文滿了怎麼辦?清理和接續順序

ZCode上下文滿了怎麼辦?清理和接續順序

更新時間:2026-10-25 05:19:51 發布時間:3小時前 閱讀:6 views次

先看是不是提前壓縮,再決定換會話還是調視窗。ZCode 的上下文不會等到真正用滿才動,它按視窗減去輸出預留和安全緩衝後的水位提前自動壓縮,所以看到“還沒滿就壓縮”屬於正常現象;要處理,先判斷是視窗值填小了,還是這個會話確實該收尾了。

ZCode上下文滿清理

ZCode的自動壓縮在什麼時候觸發

觸發點不是標稱視窗,而是視窗扣掉兩部分:一是給模型輸出留的空間,二是固定的安全緩衝,兩者合計大約三萬四千 token。換算下來,十二萬八千的視窗在九萬四千左右就會壓縮,二十萬的視窗在十六萬六千左右,一百萬的視窗在九十六萬六千左右。視窗越小,壓縮點佔標稱值的比例越低。

這個壓縮目前沒有開關,也沒有閾值可調,屬於產品行為。判定時的計數還包含本輪工具結果的實時估算,所以會比輸入框上方顯示的水位略高,看起來像沒到線就壓縮了。水位面板的分項佔比是本地估算值,和頂部的真實用量口徑不同,兩者不能直接相加對齊。

ZCode上下文容量的顯示規則

容量跟會話選的模型走,不跟項目走。桌面客戶端每個會話記著自己選的模型,切換模型後容量跟著變。每條模型配置帶一個視窗值,客戶端拿它算容量:新加的模型、或者沒帶視窗資訊的模型,預設按二十萬計算;模型標識以特定後綴結尾時固定按一百萬處理;其他情況以你填的數值算。

模型來源 視窗值能不能改 說明
自定義供應商加的模型 可以改 改完對新會話生效
套餐內置的模型 不能改 服務端下發,本地改了會被同步回去
標識帶百萬後綴的模型 不能改 固定按一百萬處理

表裡第二行最容易誤判成配置丟了。內置模型的視窗由服務端統一下發,本地改動在下一次同步時恢覆成官方值,這是有意的設計。同一個項目裡兩個會話顯示不同容量也正常,舊會話沿用它當時用的那個模型的值。

ZCode會話接續的三種做法

壓縮之後上下文會變短,接著幹活有三種路子,選哪種看任務還剩多少。這也是程式設計智慧體類工具的通用處理辦法。這三種做法的共同點是不需要重裝工具,也不用重新連模型。

第一條第順序上有講究:壓縮剛發生時就補進度,比跑了幾輪之後再補有效,因為那時上下文裡還留著任務主幹。第二條適合任務本來就要分階段做的場景,把階段結論文件化,比硬撐著在一個會話裡跑到底更穩。

ZCode手動改上下文視窗的位置

進設定裡的模型供應商,展開對應模型的高級面板就能看到視窗值,改完儲存對新會話生效。改之前先確認這個模型實際支援多長,填得比真實視窗大,壓縮點會往後推但請求會先被服務端拒絕,表現是長文件任務直接報錯。

同一個面板裡還有最大輸出長度的設定項,這兩項會互相擠佔:輸出上限調高,能帶上的歷史對話就變少,壓縮也會來得更早。預設留空跟隨模型自己的上限,除非確實需要長輸出,不然不要動它。

ZCode佔用磁盤的命令記錄清理

還有一個跟上下文無關但常被當成上下文問題的現象:命令列目錄越佔越大。那裡存的是歷史會話中終端命令的輸出記錄,目前不會自動清理,長期跑任務會累積到很佔空間。上下文壓縮不會動這部分內容,刪了也不影響會話記錄。

清理前把客戶端完全退出,確認沒有後台命令在跑,然後整個目錄刪掉,需要時它會自動重建。代價只有一個,歷史任務裡的命令輸出無法再回看。做長任務前順手看一眼這個目錄的大小,比事後清理省事。

常見問答

ZCode上下文壓縮會丟程式碼嗎

不會。壓縮動的是對話上下文,工作區裡的檔案在磁盤上原樣保留,改過的內容不因為壓縮而回滾。會丟的是對話裡沒落成檔案的細節,比如某次討論得出的判斷依據。擔心丟失就把關鍵結論寫進項目說明檔案,下次壓縮後仍能讀到。

ZCode的視窗顯示比模型實際小怎麼辦

先看模型的來源。自定義供應商加進來的模型可以在模型供應商的高級面板裡改視窗值,填完儲存,新建會話生效;套餐內置的模型視窗由服務端下發,本地改不了也改不上去。顯示容量取自會話當前選的模型,換模型後容量會跟著變。

ZCode一直提示上下文不足怎麼處理

兩種情況。一種是視窗值填得比真實小,去模型供應商裡覈對一遍;另一種是任務本身太長,單會話跑不完,這時拆階段比調視窗有效,把材料分批處理、階段性結論落成檔案,每段單獨用一個新會話,總量就不再受單個視窗的限制。

ZCode換新會話後進度怎麼接上

靠一段交接說明。把已完成的部分、改過的檔案路徑、還沒做的清單寫清楚帶進新會話,Agent 讀完能接上。工作區裡有說明檔案的話會自動注入,長期有效的約定寫在那裡最省事;臨時性的進度寫在第一條訊息裡,不要指望它自己回憶上一個會話。