mcpField
D
deep-dive

deep-dive

github.com/rohitg00生产力2.8k163 次安装25 周前更新
代码仓库

关于 deep-dive

deep-dive 是面向 Claude Code 的自主研究技能,将问题拆为依赖 DAG,支持并行调研、差距检查和综合,并把最终报告保存到项目中。

主要功能

  1. 01基于 DAG 规划问题
  2. 02并行运行 Agent 子代理
  3. 03进行一轮差距分析
  4. 04通过任务跟踪进度
  5. 05持久保存来源和报告

适用场景

  1. 01围绕复杂主题拆分关联问题
  2. 02基于共同背景比较研究结果
  3. 03在项目中生成带来源的报告

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/rohitg00/awesome-claude-code-toolkit --skill deep-dive

安装后在 Claude Code 中输入/deep-dive确认已加载。

详细介绍

深入探究

采用与 Google Deep Research 相同的基于 DAG 的规划模式进行自主深度研究,但完全在 Claude Code 上运行,无需外部依赖。

工作原理

  1. 规划 — 将问题拆解为相互依赖的 DAG 子问题
  2. 并行展开 — 通过 Agent 子 Agent 并行运行互不依赖的子问题
  3. 差距分析 — 每个子 Agent 返回研究发现和已识别的差距
  4. 迭代 — 将差距转化为新的子问题,反馈到 DAG 中
  5. 综合 — 所有节点完成后,生成最终报告

步骤

1. 拆解为 DAG

根据研究问题,生成由子问题组成的 DAG。每个节点包含:

  • id:简短标识符(例如 q1、q2a)
  • question:需要研究的具体子问题
  • depends_on:需要先获得答案的节点 ID 列表(空列表 = 无依赖)

拆解规则:

  • 从没有依赖的基础性/背景性问题开始
  • 逐步深入到依赖基础答案的分析性/比较性问题
  • 以 4-8 个节点为宜。如果主题需要更多节点,则最多设为 12 个。
  • 每个节点应可通过 1-3 次网络搜索回答
  • 问题应足够具体,确保没有其他背景信息的研究人员也能回答

将 DAG 打印为表格,供第一个大脑查看计划,然后立即开始执行 — 不要等待确认。

使用 TaskCreate 为每个 DAG 节点创建任务(description:子问题,status:pending)。同时为“差距分析”和“综合报告”创建任务。每一波启动时,将对应任务更新为 in_progress;子 Agent 返回后,将任务更新为 completed。这样第一个大脑就能实时了解进度。

| ID | Question | Depends on |
|----|----------|------------|
| q1 | ...      | —          |
| q2 | ...      | —          |
| q3 | ...      | q1         |
| q4 | ...      | q1, q2     |
2. 按依赖顺序执行

按拓扑顺序处理 DAG:

第 1 波: 将所有第 1 波节点的任务标记为 in_progress。将所有没有依赖的节点作为并行 Agent 子 Agent启动。每个子 Agent 返回后,将其任务标记为 completed。向每个子 Agent 提供以下提示词:

You are a focused researcher. Answer this ONE question using web search:

Question: [the sub-question]

Instructions:
- Use WebSearch to find current, authoritative information
- Use 1-3 searches maximum
- Be specific and cite what you find

Return your answer in this exact format:

## Findings
[Your answer with specific facts, dates, numbers. Cite sources inline.]

## Gaps
[List anything you couldn't fully answer, contradictions you found, or
follow-up questions that would strengthen the answer. If none, say "None."]

## Sources
[List each source as: Title — URL]

引用持久化: 每一波完成后,将该波的所有来源追加到 /tmp/deep-dive-sources-[topic-slug].json 文件中,格式为 {"node_id", "title", "url"} 对象数组。这样即使上下文被压缩,来源文件仍会作为事实来源。综合时读取此文件,构建最终的“来源”部分。

第 2 波及后续波次: 第 1 波完成后,将第 2 波及后续波次的所有节点任务标记为 in_progress,并启动依赖条件现已满足的节点。每个子 Agent 返回后,将对应任务标记为 completed。在子 Agent 提示词中包含依赖节点的研究发现:

You are a focused researcher. Answer this ONE question using web search:

Question: [the sub-question]

Context from prior research:
[Paste findings from dependency nodes]

[same instructions as above]

持续执行,直到所有节点完成。

3. 差距迭代(最多 1 轮)

将“差距分析”任务标记为 in_progress。所有节点完成后,检查各子 Agent 汇总的差距:

  • 如果差距较小或不会影响最终答案:跳过,进入综合阶段
  • 如果任何差距足以影响结论:创建 1-3 个有针对性的新子问题,并将其作为最后一波并行执行

只进行一轮差距迭代。这不是无限循环。

完成后将“差距分析”任务标记为 completed(无论是否发现差距)。

4. 综合

将“综合报告”任务标记为 in_progress。汇总所有研究发现,生成最终报告。报告文件写入后,将任务标记为 completed。结构如下:

## Deep Dive: [Topic]

### Executive Summary
[3-5 sentences: the key takeaway]

### Findings

#### [Theme/Section 1]
[Synthesized findings from relevant nodes, not just copy-paste]

#### [Theme/Section 2]
[...]

### Open Questions
[Anything that couldn't be resolved — be honest about what's still unclear]

### Sources
[Deduplicated list of all sources from all subagents]

规则

  • 始终先展示 DAG 计划。 打印计划后,立即开始研究,无需确认。
  • 尽可能并行。 独立的问题应始终由并发子 Agent 处理。
  • 最多进行一轮补缺。 不要陷入无限循环的研究。
  • 综合整理,不要简单拼接。 最终报告应是一篇连贯的文档,而不是把子 Agent 的输出直接拼在一起。
  • 如实说明置信度。 如果研究未能得出明确答案,请如实说明,不要用猜测填补空白。
  • 始终保存最终报告。 综合整理后,将报告保存为 Markdown 文件,放入相应项目的 docs/deep-dive/ 目录(如有需要则创建该目录)。根据当前工作目录或研究请求的上下文确定项目根目录。文件名使用主题名称的 slug 形式并附上日期(例如,2026-04-02-jira-docs-from-microservices.md)。切勿只将最终报告写入 /tmp——必须将其保存在相关项目中的持久位置。

评论

支持 Markdown