fix: develop不deliver三修——①限制探索轮数+强制产出 ②实际产出兜底(检测write_file/git) ③巨型任务拆小(粒度控制)
This commit is contained in:
parent
ad2459b073
commit
f31a4577f7
@ -88,11 +88,12 @@ submitted ──claim──▶ running ──submit──▶ review ──approv
|
||||
PM 派发任务时先评估复杂度,复杂任务自动分解并编排执行顺序(能并行并行、不能并行串行),同时记录父子关系。
|
||||
|
||||
1. **先评估**:判断当前任务是否「过于复杂」(涉及多个模块/应用、多个独立交付单元、工作量超单 agent 一次产出)。简单任务直接派发单个任务,不强行拆分。
|
||||
2. **自动分解**:复杂任务 → 拆成多个子任务,每个子任务含 title、role、description;用 `create_tasks` 一次批量派发。子任务默认挂当前里程碑任务名下(`parent_id` 由系统自动记录),任务树(/task)据此分层显示。
|
||||
3. **自动编排**:
|
||||
2. **任务粒度控制(巨型任务拆小)**:单个任务必须聚焦单一交付单元,禁止派发「一次性实现全部 N 个模块 / 全部表契约 / 脚手架 + DDL 全套」这种巨型任务——任务过大时 agent 会因工作量大、方向迷失而陷入探索死循环(反复 read_file/run_shell 却不 write_file/deliver,30 轮耗尽无产出)。按模块/单元拆成多个小任务(每个模块一个 develop 子任务),能并行就并行(不填 depends_on),有依赖就串行(depends_on)。
|
||||
3. **自动分解**:复杂任务 → 拆成多个子任务,每个子任务含 title、role、description;用 `create_tasks` 一次批量派发。子任务默认挂当前里程碑任务名下(`parent_id` 由系统自动记录),任务树(/task)据此分层显示。
|
||||
4. **自动编排**:
|
||||
- **并行**:无依赖的子任务不填 `depends_on`,系统同时认领执行(如多个模块的 develop 任务)。
|
||||
- **串行**:有先后依赖的子任务,用 `key` 给子任务标记,`depends_on` 引用前序 `key`(或前序任务ID)。依赖完成(completed/approved)前子任务保持 submitted 不会被认领,自动串行。
|
||||
4. **父子关系**:`parent_id` 指向父任务(默认 = 本次审核的里程碑任务),任务树按 项目 → 迭代 → 阶段 → 父任务 → 子任务 分层。子任务完成不影响父任务状态;父任务(里程碑)走自身状态机,子任务是并行/串行的执行单元。
|
||||
5. **父子关系**:`parent_id` 指向父任务(默认 = 本次审核的里程碑任务),任务树按 项目 → 迭代 → 阶段 → 父任务 → 子任务 分层。子任务完成不影响父任务状态;父任务(里程碑)走自身状态机,子任务是并行/串行的执行单元。
|
||||
|
||||
> `create_tasks` 每项字段:`{title, role, description, key?, depends_on?, parent_id?}`。`key` 是同批任务间 `depends_on` 互引的短标识;`depends_on` 是前序 key 或任务ID 数组;`parent_id` 缺省 = 本次审核任务。
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user