前言¶
在長上下文場景下,部分模型(尤其是 deepseek v4.1 flash)容易進入“思考退化”狀態。模型在輸出思考內容時反覆循環短句,這種“唱歌”行爲會以高速度消耗大量 token,卻不產生有效信息。此外,模型在明確需要調用工具時,仍會輸出冗餘短句再進入其他思考分支。這會導致上下文迅速膨脹,且用戶往往只在思考過程閃過時才能察覺。
這是什麼¶
dsh-repeat-guard 是一款用於模型推理的插件,由 xiaozhuyuqing 維護。它檢測模型思考過程中的碎片復讀,通過攔截白名單短句並中斷輸出,強制模型直接進入下一步,從而恢復正常的 agent-loop。
核心能力¶
該插件具備以下能力:
- 碎片檢測:檢測模型思考過程中的碎片復讀。
- 白名單攔截:攔截白名單短句並中斷輸出。
- 強制執行:截斷後顯示提示,強制模型直接進入下一步,不再輸出確認語或寒暄。
- Loop 恢復:通過注入提示詞恢復 agent-loop。
- 增量檢查:逐 chunk 檢查 reasoning-delta。
安裝與版本要求¶
安裝插件需要執行以下命令:
dsh plugin --profile web add dsh-repeat-guard
需要注意版本兼容性。插件要求 DSH 0.1.7 及以上版本。
* 0.1.7 起:宿主會在裝載前校驗插件的 peer 聲明,配置表單也換成了 entry Config 模型,舊寫法不再工作。
* 0.1.0-rc.8 ~ 0.1.6:請安裝 0.1.5 版本。
插件用到的宿主接口在 0.2.0 上沒有變化,因此 0.2.2 起 peer 範圍不再設上限。
典型用法與表現¶
當模型輸出循環句(如 Let me do it.)或碎片復讀(如 好。做。開始。做。)時,輸出會被截斷。
截斷後會顯示提示:
你上一段思考退化成了碎片復讀(反覆輸出'好。'一類的空話),已被系統截斷。
請直接繼續執行下一步,不要再輸出任何確認語、寒暄或空話。
隨後模型會直接繼續執行下一步,不再進行無效的復讀。
配置與注意事項¶
在 設置 → 復讀打斷 裏查看配置,保存後生效,無需重啓。
主要配置項包括:
- 累計攔截:記錄掐斷次數,有清零按鈕。
- 攔截短句:觸發打斷的白名單,需要加上標點。
- 連續命中次數:連續命中的閾值,默認配置連一個短句後的分支思考過程也會攔下。
- 行內重複檢測:打開後檢測擠在一行裏的重複(此選項是爲 qwen 35B 等模型準備的,deepseek 不存在該問題)。
- 續跑指令:截斷後推給模型的提示詞。
- 摺疊行摘要:注入段用戶可見的簡要信息。
注意:截斷過程可能較多,這是爲了恢復 agent-loop 所付出的代價。