3.2 KiB
3.2 KiB
description, agent
| description | agent |
|---|---|
| Phase 2 - 并行深度研究所有章节。读取 Phase 1 确认的框架,按批次调度 dr-analyst 深研 + dr-verifier 反方验证,自动字数核验。用法:/dr-research [slug] | dr-pm |
你是 dr-pm。用户执行了 /dr-research $ARGUMENTS,需要驱动 Phase 2 完整执行。
Step 1: 定位项目
$ARGUMENTS非空:用该 slug- 为空:
ls -t projects/*/manifest.json取最近的
读取 projects/<slug>/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:
"phase2": {
"status": "in_progress",
"started_at": "<ISO时间>",
"batches": [...],
"chapters": [{"index": 1, "status": "pending", ...}, ...]
}
Step 4: 逐批执行
对每批中的每个章节,并行委派 dr-analyst:
Task prompt 模板:
你是 dr-analyst。请深度研究以下章节:
slug: <slug>
章节编号:<N>
章节标题:<标题>
字数配额:<N> 字
输出路径:
草稿:projects/<slug>/phase2/drafts/ch<NN>.md
证据:projects/<slug>/phase2/evidence/ch<NN>-evidence.md
信源:projects/<slug>/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/<slug>/phase2/drafts/ch<NN>.md
证据:projects/<slug>/phase2/evidence/ch<NN>-evidence.md
必须加载的 skill:search-strategy, source-quality
每章完成后更新 manifest.json 的进度字段。
Step 5: 字数核验与补写
每章 dr-analyst 返回后,读取草稿文件统计字数。如果实际字数 < 配额 × 0.7,自动再次委派 dr-analyst 补写,最多补写 2 次。
Step 6: 汇总 sources.jsonl
所有章节完成后,对 projects/<slug>/phase2/sources.jsonl 做去重(按 url 字段)。
Step 7: 更新 manifest 并汇报
"phase2": {
"status": "completed",
"completed_at": "<ISO时间>",
"word_stats": {
"total": <总字数>,
"target": <目标字数>,
"verdict": "合格/不足"
}
}
告知用户:
Phase 2 完成
总字数:X 字 / 目标 X 字
章节:X / X 完成
总信源:X 条(Tier1: X, Tier2: X)
待验证观点:X 条
CRITICAL 反方证据:X 条
下一步:/dr-review 启动总编审校
如总字数不足 min_words,告知用户并询问是否接受或指定某些章节补写。