# Plan Mode SOP **触发**:3步以上有依赖/多文件协同/条件分支/需并行 | **禁用**:1-2步简单任务直接做 **工作目录**:`./plan_XXX/`(XXX=任务英文短名) ## 规划态(按序执行) **步骤1:创建文件夹 + 存checkpoint** ``` [任务] 产出 ./plan_XXX/plan.md | [需求] 一句话 | [约束] 关键限制 [进度] 即将读领域SOP | ⚡写完plan后必须重读本SOP步骤3切换执行态 ``` **步骤2:读领域SOP → 写plan骨架** 先读相关SOP,立即写骨架。允许"⚠待确认",禁止以"没调研清楚"推迟。 **骨架格式**: ``` # 任务标题 需求:一句话 | 约束:关键限制 1. [ ] 步骤1简述 2. [P] 步骤2简述(并行,读subagent_sop.md执行Map模式) 依赖:1 3. [?] 步骤3(条件分支) 条件:X成功→3.1,否则→3.2 ``` **标记**:`[ ]`待做 | `[✓]`完成 | `[✗]`失败 | `[P]`并行 | `[?]`条件分支 **[P]标记条件**(全YES才可标): □ 2+步骤可同时? □ 无数据依赖? □ 产出不同文件? □ 节省>20%时间? **子任务目录**:subagent产出放 `./plan_XXX/subtask_name/` **探索规则**:有⚠项→逐项探索,每轮更新plan+checkpoint | 连续3轮无进展→用当前最佳方案 **⛔ 写完骨架后禁止执行。必须先完成步骤3。** **步骤3:转入执行态** ``` CALL update_working_checkpoint( key_info='[执行] plan.md | 当前:1.1 | ⚡有[P]标记必须读subagent_sop.md执行Map模式' ) ``` ## 执行态循环 1. 读plan.md → 定位当前`[ ]`项 2. **检查并行**: ``` IF has_mark('[P]'): CALL file_read('subagent_sop.md') # 按SOP创建context.json(含绝对路径)+ input.txt # ⚠ subagent必须从context.json读取绝对路径写入文件 ELSE: 执行当前步骤 ``` 3. 执行该项 4. **收尾(必须执行,不可跳过)**: ``` # ⚠ 进度标记更新是强制要求,每步完成后必须执行 file_patch(plan, '[ ] 当前步骤' → '[✓] 当前步骤') file_read(plan) # 验证标记已更新 + 找下一步 update_working_checkpoint('[进度] 步骤N已完成 | 下一步:...') ``` 5. **Checkpoint验证(每3步或关键节点)**: ``` file_read(plan) # 检查:所有已执行步骤是否标[✓] IF 有遗漏标记: 立即补标 file_patch(...) ``` 6. 全部完成 → 汇总结果 → 清理checkpoint ## 失败处理 1. **记录**:checkpoint中 `step_X: [FAILED] 原因 (retry: N/3)` 2. **重试**:网络超时→自动重试3次(2s/4s/8s) | 配置错误→询问用户 | 其他→标[✗]跳过 3. **subagent失败**:查stderr.log→明确错误主agent修正重启 | 未知错误重试1次 | 最多重启2次 4. **依赖传播**:步骤失败后,后续依赖项标[SKIP] ## 强制约束 - 每项必须有独立完成判据 - 禁止"处理所有文件",必须展开具体条目 - 一次只做一项;计划有误回规划态修正 - 不可逆操作前多验证一步