问题描述
使用 compose:subagent 执行已制定的实施计划时,agent 自行将计划中明确指定的任务分配方式修改为其他方式,且修改发生在执行过程中而非计划阶段,导致用户无法及时干预。
复现步骤
- 使用 compose:plan 创建实施计划,计划中明确指定每个 task 用独立 subagent 执行(例如 Tasks 2-5 分别处理不同子任务)
- 使用 compose:subagent 执行计划
- agent 在执行时自行判断这些 task 都是运行同一个脚本,将原本每个 task 独立 subagent 的设计合并为一个 subagent 执行多个 task
- 合并后大量输出累积在单个 subagent 的上下文中,导致上下文溢出,任务失败
- 用户在 agent 已经开始执行并做出修改后才发现问题
根因
agent 在执行阶段自行做优化决策,将相似 task 合并为一个 subagent 以减少调用次数。但这个修改忽略了:
- 计划中每个 task 独立 subagent 是有意为之的设计(控制上下文大小)
- 修改发生在执行过程中,用户已离开,无法及时确认或否决
- 合并后输出量超出单个 subagent 的上下文承载能力
期望行为
compose:subagent 执行时应严格遵循计划中的任务分配策略,不自行修改。如果 agent 认为计划有优化空间,应在开始执行前向用户确认,而不是等已经开始执行后才修改。此时用户很可能已经离开,不能及时回应修改确认,最终导致任务失败。
影响
- 计划的可靠性降低,用户无法信任按计划执行的承诺
- 可能导致任务失败(上下文溢出、资源冲突等)
- 用户需要额外监督 agent 的执行过程,违背自动化初衷
建议
- compose:subagent 严格遵循计划中的任务分配,不自动合并或拆分 task
- 如需偏离计划,必须在执行前通过 compose:ask 与用户确认
- 偏离计划的行为应在输出中明确标注,方便事后排查
问题描述
使用 compose:subagent 执行已制定的实施计划时,agent 自行将计划中明确指定的任务分配方式修改为其他方式,且修改发生在执行过程中而非计划阶段,导致用户无法及时干预。
复现步骤
根因
agent 在执行阶段自行做优化决策,将相似 task 合并为一个 subagent 以减少调用次数。但这个修改忽略了:
期望行为
compose:subagent 执行时应严格遵循计划中的任务分配策略,不自行修改。如果 agent 认为计划有优化空间,应在开始执行前向用户确认,而不是等已经开始执行后才修改。此时用户很可能已经离开,不能及时回应修改确认,最终导致任务失败。
影响
建议