记一次 DeepSeek harness 吞对话的解决过程 [dsh 压缩机制问题]

wxjback 2026-09-01 19:48 1

环境:
OS: MacOs m1pro 32G
Agent:DeepSeek harness 0.1.1-rc.2
LLM server:unsloth desktop mlx
Model:Ornith-1.5-9B-MLX-4bit · 35,328 ctx


现象:
dsh 上下文长度达到 80%以上 ,用户发送的 promote 会消失,agent 没有返回任何信息


排查:
1 、dsh 观察日志,未收到有效响应
2 、排查 unsloth api 响应,发现有响应,但是 stop 了,reason 是 length
3 、初步怀疑 dsh 没有压缩上下文 超长了,ui 中看到的也反映这一点,32k 左右的上下文,显示已经接近 30K 了,也没有压缩
4 、手动 compact 一下,dsh 没反应,unsloth api 响应还是 stop reason length
5 、随后请 codex 排查,发现官方有讨论,dsh 压缩时机太晚,导致上下文超长,并且还有个问题是 dsh 接收响应:STOP REASON=length 并不会走 compact 路径,只有 provider 明确报出 context overflow ,dsh 才会进入 overflow-compaction recovery ;官方讨论支持了这个观点: https://github.com/deepseek-ai/deepseek-harness/discussions/5123


结论:
真相大白
1 、dsh 压缩时机太晚
2 、dsh 不支持 unsloth api 返回的 stop 参数 进行 compact ,只有 context overflow 才会 compact recovery


解决
1 、手动调整 compact 时机:compaction-basic:
thresholdRatio: 0.70 降低到 70% 上下文开始压缩
2 、等 dsh 完善兼容性,当然 unsloth 的 api 不见得在后期支持计划中。

最新回复 (0)
    没有回复
* 帖子来源V2EX
返回