Files
deep_research/.opencode/commands/dr-research.md
T
2026-04-21 12:31:58 +08:00

118 lines
3.2 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.
---
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 列表>
必须加载的 skillsearch-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
必须加载的 skillsearch-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,告知用户并询问是否接受或指定某些章节补写。