You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Design/Prompt] Agent Teams:policy 要求 Lead 必须等 teammate,却没告诉它可以结束本轮并被唤醒(subagent 段落指引相反)
#12990
When only waiting for their results remains, end your turn instead of sleeping or polling; the next result starts a new turn.
(dsh-tool-subagent/lib/index.js:507)
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
环境:dsh
0.2.2-rc.1(npm latest),Windows 11,PTC preset;@deepseek-ai/dsh-experimental-tool-agent-team0.2.2-rc.1;Lead 与 teammate 均为 deepseek-flash。摘要
注入的
team:policy(dsh-experimental-tool-agent-team/lib/index.js:29)最后一句是:而
wait_agent的描述又是"等下一个变化,然后重新列状态"。于是当 teammate 还在运行时,Lead 唯一"合规"的行为就是阻塞在wait_agent里。policy 从未提到运行期会在下级结算时唤醒空闲父级;而 subagent 段落写的恰好是相反的指引:运行期事实(prompt 里没有)
SubagentManager.notifySettlement会把结算通知投给父级;父级空闲时sendWaking会开启一轮(dsh-subagent/lib/index.js:2060-2075)。也就是说,Lead 结束本轮后,teammate 完成时会被叫醒。wait_agent(agent/status→activity.notify,dsh-experimental-agent-team/lib/index.js:1477-1480)。真实会话的代价(脱敏,同一编排会话)
wait_agent的run_code:31 次timedOut:true(等满)、18 次被某个变化唤醒、1 次撞 PTC deadline。期望
wait_agent只用于本轮内必须处理的变化;只需要等完成时结束本轮,会被唤醒。"wait_agent({ target, until: "inactive" }),省掉 re-list 轮询。must wait是有意设计(Lead 必须同轮汇总),也请在文本里说明理由,并与 subagent 段落保持一致。相关讨论
wait_agent(Lead 72/98 工具分钟),未给根因wait_agent阻塞期间用户消息无法处理;希望 steer 能结束等待/goal在 subagent 在途时仍唤醒主 agentAll reactions