子代理首请求缺 reasoning effort,始终思考模型直接 400(subagent run failed) #4850
Replies: 2 comments
|
I compared the two pinned source boundaries because the symptom matches the earlier rc.2 gap, but the tagged alpha.1 code changes the expected diagnosis.
So the most useful next evidence is: (1) I added the full evidence ladder and privacy-safe capture commands here: https://sandbaseai.github.io/deepseek-harness-handbook/spawn-subagent-reasoning-effort.html Disclosure: I maintain this independent handbook with SandBase; it is not an official DeepSeek AI project. |
|
Evidence collected from the affected deployment — it confirms the rc.2 diagnosis and rules out the alpha.1 regression case:
All active packages are rc.2, so this matches the pinned rc.2 gap rather than an alpha.1 regression. Resolution for this deployment is upgrading DSH Desktop past |
Uh oh!
There was an error while loading. Please reload this page.
一句话说明(不多于50字):subagent 工具派生的子代理首次 LLM 请求不带 reasoning effort,「始终思考」模型被严格网关直接 400,表现为
Error: subagent run failed。复现、预期与结果
复现步骤:
agent-default-model配置为始终思考模型(如worldcode-ds/glm-5.3-flash,仅接受low/high/max),settings.yaml带reasoningEffort: high;subagent工具(前台/后台、spawn/fork 均复现),prompt 任意;Error: subagent run failed;子会话日志turn/end显示 400。实际结果:子会话
request/header的config仅{provider, model},无reasoningEffort;网关 400:预期结果:子代理请求携带与父会话一致或可配置的 reasoning effort,正常完成。
环境:DSH Desktop(web profile);
@deepseek-ai/dsh-subagent/dsh-agent-loop/dsh-tool-subagent随发行版 node_modules 分发;provider 为 OpenAI-compatible responses API 严格网关。其他信息:无报错堆栈可贴,工具结果只吐出笼统的 "subagent run failed",真实原因在子会话
session.jsonl.zstd的turn/end事件里(建议工具层透传子会话诊断)。根因分析(源码定位)
AgentOptions(dsh-agent的types/runtime-types.d.ts)只有provider/model/maxTokens,没有reasoningEffort字段——子代理路由继承在设计上就缺这个参数。resolveChildAgentOptions(dsh-subagent/lib/index.js:501)仅继承父的provider/model/maxTokens三项。buildRequest(dsh-agent-loop/lib/index.js:719-733)只从会话持久化 request/header 读 effort——全新子会话首请求没有 header →reasoningEffort = undefined→ 请求体不带reasoning.effort。installModelSelection的agent/request瀑布在请求时注入 effort,该监听器只装在会话自身 scope;普通 subagent 路径没有这个桥。@nanmicoder/dsh-agent-teams的成员子代理不受影响——该插件对成员自行installModelSelection(childCtx, …)注入 provider/model/reasoningEffort,绕过了上述断链。建议修复
AgentOptions增加reasoningEffort;resolveChildAgentOptions继承/透传(显式值 > 父options);buildRequest首请求在持久化 effort 缺席时回落options.reasoningEffort(后续请求仍由持久化 header 延续)。或最小改动方案:
tool-subagent的Config.agentOptionsschema 接受reasoningEffort并透传,让预设(agent preset)即可显式配置(如reasoningEffort: low)。All reactions