Files
GenericAgent/memory/plan_sop.md
2026-03-12 18:09:32 +08:00

70 lines
3.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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]
## 强制约束
- 每项必须有独立完成判据
- 禁止"处理所有文件",必须展开具体条目
- 一次只做一项;计划有误回规划态修正
- 不可逆操作前多验证一步