--- description: Phase 2 - 并行深度研究所有章节。读取 Phase 1 确认的框架,按批次调度 dr-analyst 深研 + dr-verifier 反方验证,自动字数核验。用法:/dr-research [slug] agent: dr-pm --- 你是 dr-pm。用户执行了 `/dr-research $ARGUMENTS`,需要驱动 Phase 2 完整执行。 ## Step 1: 定位项目 - `$ARGUMENTS` 非空:用该 slug - 为空:`ls -t projects/*/manifest.json` 取最近的 读取 `projects//manifest.json`。 ## Step 2: 前置检查 验证以下字段,任何一项不通过则停止并告知用户: - `phase1.approved == true`(框架已确认) - `phase1.framework_path` 指向的文件存在 - `phase2.status != "completed"`(避免重复跑) 如果 `phase2.status == "in_progress"`,询问用户是否从中断处继续还是重新开始。 ## Step 3: 读取框架并规划批次 读取 framework.md,提取所有 chapter 的: - 编号、标题、字数配额 - 各 section 研究思路 按以下规则分批(每批 3 章并行): - 字数配额 > 3000 字的章节单独成批 - 有前后依赖关系的章节放在不同批次 - 引言章(第 1 章)和结论章(最后 1 章)各自单独成批 更新 manifest.json: ```json "phase2": { "status": "in_progress", "started_at": "", "batches": [...], "chapters": [{"index": 1, "status": "pending", ...}, ...] } ``` ## Step 4: 逐批执行 对每批中的每个章节,**并行**委派 dr-analyst: ``` Task prompt 模板: 你是 dr-analyst。请深度研究以下章节: slug: 章节编号: 章节标题:<标题> 字数配额: 字 输出路径: 草稿:projects//phase2/drafts/ch.md 证据:projects//phase2/evidence/ch-evidence.md 信源:projects//phase2/sources.jsonl 研究思路(来自 framework.md): <粘贴该章的研究思路和 section 列表> 必须加载的 skill:search-strategy, source-quality, length-budget, evidence-table, mckinsey-method ``` 一批的所有 dr-analyst 完成后,对每章**串行**委派 dr-verifier: ``` Task prompt 模板: 你是 dr-verifier。请对以下章节做反方验证: 草稿:projects//phase2/drafts/ch.md 证据:projects//phase2/evidence/ch-evidence.md 必须加载的 skill:search-strategy, source-quality ``` 每章完成后更新 manifest.json 的进度字段。 ## Step 5: 字数核验与补写 每章 dr-analyst 返回后,读取草稿文件统计字数。如果实际字数 < 配额 × 0.7,自动再次委派 dr-analyst 补写,最多补写 2 次。 ## Step 6: 汇总 sources.jsonl 所有章节完成后,对 `projects//phase2/sources.jsonl` 做去重(按 url 字段)。 ## Step 7: 更新 manifest 并汇报 ```json "phase2": { "status": "completed", "completed_at": "", "word_stats": { "total": <总字数>, "target": <目标字数>, "verdict": "合格/不足" } } ``` 告知用户: ``` Phase 2 完成 总字数:X 字 / 目标 X 字 章节:X / X 完成 总信源:X 条(Tier1: X, Tier2: X) 待验证观点:X 条 CRITICAL 反方证据:X 条 下一步:/dr-review 启动总编审校 ``` 如总字数不足 min_words,告知用户并询问是否接受或指定某些章节补写。