Deepseek Harness 遇坑经历

wxjback 2026-09-03 09:12 1

环境:

Agent:DeepSeek harness 0.1.1-rc.2

LLM server:unsloth desktop mlx

Model:Ornith-1.5-9B-MLX-4bit · 35,328 ctx


现象:

DSH新对话,第一句话,就返回“已达到输出 token 上限回答被截断,已有输出保留在对话中。发送“继续”可让模型接着输出。“

排查:

直接问codex,给它unsloth的 api响应输出:STARTED 08:39:50,DURATION 4.9 s,PROMPT TOKENS 138,COMPLETION TOKENS 64,TOTAL TOKENS 202,CONTEXT 35,328,FIRST TOKEN 10 ms,GENERATING 2.2 s,PROMPT SPEED 50.7 tok/s,GENERATION SPEED 29.6 tok/s,STOP REASON length, Context Used 1%

codex 结论

dsh 首轮自动生成“会话标题”的辅助请求撞上了 64 token 输出上限。

官方讨论:Session titles silently fail to generate on reasoning (thinking) models — no config way to disable reasoning for the auxiliary title call · deepseek-ai/deepseek-harness · Discussion #3468 · GitHub

是已经基本明确的缺陷


dsh 的核心设计本来应该在标题生成失败时保留一个确定性 fallback 标题,标题请求也不应该进入主对话上下文。会话标题设计文档 因此:



  • 如果标题失败,但之后正常回答仍能生成:只是标题辅助调用失败。

  • 如果只有这一个 138 → 64 请求,主回答也没有生成:说明你当前 DSH Desktop/版本把标题辅助请求的失败错误上浮成了首轮对话错误,这属于 dsh 的兼容性或错误处理问题。


解决:

当前 profile 的 cordis.patch.yml 里调整参数



  • id: session-title-llm


config:

targetWords: 5

targetCjkCharacters: 10

maxInputBytes: 4096

maxOutputTokens: 1024

timeoutMs: 60000

最新回复 (4)
  • Anthony455 09-03 09:15
    1

    原因大概率是你当前模型输出上限了

    但是在DSH即使发送继续也没用,需要压缩一下再发

  • madgoat 09-03 09:24
    2

    巧了,我跑 ornith1.5-35b+dsh,也碰到这个问题了,当时没解决,换了在线模型弄了。当时无论是发送重试,还是调压缩,似乎都不行

  • wxjback 楼主 09-03 13:15
    3

    我感觉dsh 或者说不少harness agent 目前对 模型能力还是要求挺高的,稠密模型感觉低于27B ,效果就差很多了,然后 moe 模型 35b 的 a3b 效果也不太好,经常要么就是重复调用工具,要么就是输出会断。


    我觉得与模型运行本身关系不大,更多可能还是这些 agent对 小模型的能力适配兼容性不好。


    一下子对我跑 local llm 打击很大

  • wxjback 楼主 09-03 13:16
    4

    按说如果达到上限,那么在 ctx 和 max token的配置前提下,很容易计算出来上限的位置,那么就应该提前compact,或者 自动缩短输出,但是dsh没做到,我感觉对小模型的兼容性还有很长的路要走。

* 帖子来源Linux.do
返回