70 lines
3.0 KiB
Markdown
70 lines
3.0 KiB
Markdown
# 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]
|
||
## 强制约束
|
||
- 每项必须有独立完成判据
|
||
- 禁止"处理所有文件",必须展开具体条目
|
||
- 一次只做一项;计划有误回规划态修正
|
||
- 不可逆操作前多验证一步 |