• wxjback

    环境:

    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

    主楼
  • Anthony455

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

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

    #1
  • madgoat

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

    #2
  • wxjback

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

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

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

    #3
  • wxjback

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

    #4

发表回复

登录后回复