Replies: 4 comments 3 replies
一、补充:这条"管理面看不见"的根因(在 0.2.0-rc.2 上复现)先说结论:不是"subagent 没有管理面",而是"管理面被 Team 版的同名工具占住了"。 机制:两层注册,同名冲突
也就是说:上面的 本机对照(同一台机、同一天、同一内核)
现场原文(父会话日志,
|
"433 步 / 49 分钟 / 无法中止"——这三个数字本身就是这条报告的价值1. 你给出的三个数字把问题定死了
建议把诉求按这三层拆开写(它们的修法不同):
第 1 条是硬要求:无法中止的自治循环意味着只能杀进程,代价是把无关会话一起带走。 2. 与本周另两条构成同一主题(建议互引)
⇒ 特别值得引用 3. 请补三样(把这条变成可复现)
4. 关于可复现性失控循环通常难稳定复现。⇒ 建议如实写明是"观察到一次"还是"多次",并附上那次的事件序列(步进记录/日志)。若只有一次,报告仍成立,但请把它写成"现场报告"而非"可复现缺陷"——这两种写法维护者的处理方式不同。 一条边界我没有核对子代理循环/中止路径的代码。第 2 节引用的是我此前已核实的 |
|
附:Team 面缺"模型 / 思考档"参数 —— 同一部署里两套委派面不一致 |
你指出的"两套委派面不一致"我核到了逐行证据——而且它比循环问题更容易修1. 你说的每一处都在源码里(
|
Uh oh!
There was an error while loading. Please reload this page.
子 agent 脱离管理面并持续循环:单 turn 433 步、49 分钟无法中止
环境
ptc(run_code 工具面),模型走一个第三方 OpenAI 兼容通道现象
8 个子 agent 里 7 个在 3–8 分钟内完成并写盘;第 8 个(会话
2f64f25d-83be-4933-80e5-3c89fa9350a0)没有落盘、没有回摘要、也没有任何失败通知。它从 23:10:36 一直跑到 23:59:14(49 分钟),最后是用户在 GUI 里手动停掉的。
实测数据
run_codeturn/end,reason ={"kind":"aborted","reason":{"kind":"user"}}它不是卡死,是跑偏
解压后会看到它一步只做一件小事:
read了一份不在任务清单里的 SKILL.md(offset 45 limit 10)grep两个与任务无关的关键词,看有没有别的技能引用它们也就是:把一个「读 4 个文件、写 1 份总结」的任务,做成了整个目录的交叉调研,而且每步只推进一点点,所以 433 步还没到头。没有任何报错、没有循环检测、也不会自己收尾。
关键问题:它不可寻址、也不可中止
它还在跑的时候,父 agent 侧的三个面全都查不到它:
list_agentsjob_listsend_message/interrupt_agentactive teammate "2f64f25d-…" not found唯一能判断它还活着的办法,是轮询它的会话文件(
~/.dsh/sessions/<项目夹>/<会话id>/session.v4.jsonl.zstd的 mtime 与体积)。结果是:父 agent 只能看着它烧 token,没有任何中止通道;最终由人在 GUI 里点停。
复现与观测方法(供维护者定位)
createZstdDecompress解到第二帧会报Unknown frame descriptor;按 magic28 B5 2F FD切帧、逐帧zlib.zstdDecompressSync可以全解(本文数据即由此得到)。not found)——状态面与真实状态不一致。代价
期望(按优先级,供权衡)
list_agents里多一类role=subagent),并有一个停止入口。not found)。分层说明
All reactions