Skip to content

Compose subagent executing plan auto-modifies task allocation strategy #64

@keepsmile79

Description

@keepsmile79

问题描述

使用 compose:subagent 执行已制定的实施计划时,agent 自行将计划中明确指定的任务分配方式修改为其他方式,且修改发生在执行过程中而非计划阶段,导致用户无法及时干预。

复现步骤

  1. 使用 compose:plan 创建实施计划,计划中明确指定每个 task 用独立 subagent 执行(例如 Tasks 2-5 分别处理不同子任务)
  2. 使用 compose:subagent 执行计划
  3. agent 在执行时自行判断这些 task 都是运行同一个脚本,将原本每个 task 独立 subagent 的设计合并为一个 subagent 执行多个 task
  4. 合并后大量输出累积在单个 subagent 的上下文中,导致上下文溢出,任务失败
  5. 用户在 agent 已经开始执行并做出修改后才发现问题

根因

agent 在执行阶段自行做优化决策,将相似 task 合并为一个 subagent 以减少调用次数。但这个修改忽略了:

  • 计划中每个 task 独立 subagent 是有意为之的设计(控制上下文大小)
  • 修改发生在执行过程中,用户已离开,无法及时确认或否决
  • 合并后输出量超出单个 subagent 的上下文承载能力

期望行为

compose:subagent 执行时应严格遵循计划中的任务分配策略,不自行修改。如果 agent 认为计划有优化空间,应在开始执行前向用户确认,而不是等已经开始执行后才修改。此时用户很可能已经离开,不能及时回应修改确认,最终导致任务失败。

影响

  1. 计划的可靠性降低,用户无法信任按计划执行的承诺
  2. 可能导致任务失败(上下文溢出、资源冲突等)
  3. 用户需要额外监督 agent 的执行过程,违背自动化初衷

建议

  1. compose:subagent 严格遵循计划中的任务分配,不自动合并或拆分 task
  2. 如需偏离计划,必须在执行前通过 compose:ask 与用户确认
  3. 偏离计划的行为应在输出中明确标注,方便事后排查

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions