118 lines
3.2 KiB
Markdown
118 lines
3.2 KiB
Markdown
---
|
||
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/<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:
|
||
```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 并汇报
|
||
|
||
```json
|
||
"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,告知用户并询问是否接受或指定某些章节补写。
|