name: storm-research
category: 研究检索
subject: 跨学科
kind: 教研科研
description: 做带来源、可追溯的深度研究。多视角提问 + 真实联网检索 + 强制引用,产出维基百科式的完整研究报告。当用户说"深度调研""帮我研究一下 X 这个主题""写一篇带来源的综述""多角度研究"时触发。
多视角检索式深度研究
研究的瓶颈不是"写",而是"问"。把主题直接交给模型,它只会给你主流框架下的平均答案。这套方法让模型像博士生做预调研那样工作:从多个对立视角追问 + 每个回答都用真实检索接地 + 每句话可追溯到来源。
方法论原理见 reference/methodology.md。
三根支柱(缺一根就退化)
- 多视角(Multi-perspective) — 不同视角制造问题的广度与深度,视角间的冲突暴露单一框架看不到的东西
- 检索接地(Retrieval) — 每个回答必须基于检索工具取回的真实内容,无来源就明确拒答,绝不编造
- 强制引用(Citation) — 正文每个论断内联
[n],文末列真实 URL
红线:跳过检索,就不再是研究,而是让一个模型扮演几个角色自说自话——它们共享同一套盲区,会满怀自信地一起幻觉。宁可慢,不可省。
执行流程(Step 0 + 8 步)
把这套流程当成一条信息精炼流水线。先做一次性的 Step 0 检索能力探测,再逐步执行 8 步,每步的提示词内核在 prompts/ 下。
可见性契约(必须遵守,否则流程退化为黑箱)
这套方法的价值一半在结论、一半在过程可被检查:用户要能看到你设了哪些视角、问了什么、每个论断来自哪条检索。所以每完成一个知识采集步骤(Step 0-5),先甩一块紧凑 checkpoint 给用户,再进入下一步——不是做完全部再一次性交付。
- checkpoint 要短、可扫读、固定格式,不是流水账。目标是"让用户 5 秒看懂这步产出了什么",不是把中间思考全倒出来。
- 不准把视角/提问藏进子 agent 的 prompt 里就算数。Step 1、2 的产物必须先显式输出给用户,再据此去检索。
- 派发子 agent 检索时,先告诉用户每个 agent 负责哪个视角/哪批问题,别让"4 个 agent 并行"变成用户看不懂的黑箱。
- 综合阶段(Step 6-8)可以直接体现在最终报告里(大纲→正文→自查报告本就是产物),不必单独打 checkpoint。
每步的 checkpoint 形态:
| 步骤 | 必须可见的 checkpoint |
|---|
| Step 0 | 探测到的检索能力清单(工具/skill/agent,及优先级) |
| Step 1 | 视角列表:视角名 — 一句关注点,含覆盖视角 |
| Step 2 | 每个视角下的问题清单(对立视角 2-3 个深问题;覆盖视角的话题分解清单) |
| Step 3 | 检索分工 + 引用表雏形:哪个 agent/工具查哪批问题;回来后给 [n]→{url,title,tool} 表 |
| Step 4 | 不单独输出,融入引用表与后续写作 |
| Step 5 | 矛盾图:分歧点、各方立场、一致项、盲区 |
一句话纪律:用户应该能在最终报告之前,就看到视角、问题、检索分工和矛盾图这四样东西。 看不到,就是这步没做到位。
Step 0 — 检索能力探测(研究开始前,一次性) (见 prompts/00_findsearchtools.md)
正式研究前做一次性的环境探测,发现并列出当前可用的所有检索能力,全程复用。与主题无关,只做一次。
⚠️ 核心纪律:靠回忆必然遗漏。必须实际遍历,逐项过筛——不是凭印象按类联想。
- 发现三类检索资产,优先级 搜索>调研(storm 本质是 research,搜索类是核心、调研类辅助):①搜索/检索工具 ②搜索/调研类 skill ③搜索/调研类子 agent。
- 看描述、不看目录名:skill 读
name+description、agent 读 description+tools,只在描述字段里筛搜索/调研关键词(全文 grep 噪声爆炸),机器粗筛后逐个精判。子 agent 判定:tools 含 WebSearch/WebFetch 或等价物、或职责提"调研/research/搜索"即纳入(如 content-researcher / research-analyst / general-purpose)——内置工具撞墙时这是最强检索路径。
- 跨平台:兼容 Claude Code / Codex / OpenClaw / Hermes / Cursor / Cline / Gemini / OpenCode 等。各平台 skill/agent 位置不同,方法不变、只换目录(详见 00 的路径表);只纳入当前 runtime 真能调用的,无手段则标注"未完整遍历"。
- 宽口径过筛:通用搜索 / 抓取 / 领域检索(法律·学术·文档…)/ 调研类 skill / 检索子 agent / 命令行间接通道(curl·gh)/ 需授权工具。
- 排除本地/私域:只检索本地记忆、本地代码、私人网盘/聊天的工具不算接地能力(接地只认"能取回外部公开来源")。
- 按主题排优先级:对口的领域检索工具优先,通用搜索退为补充。
- 早失败:遍历后确认无任何检索通道,立刻告知用户"无法做接地研究",不浪费后续步骤。
阶段一:知识采集(方法的灵魂)
Step 1 — 视角发现 (见 prompts/01_personas.md)
- 围绕主题生成 3-5 个差异化视角的研究者 persona(如:一线实践者 / 怀疑论者 / 追踪资金的经济视角 / 见过历史模式的历史视角 / 读过研究的学术视角)。
- 再加一个覆盖视角(默认必加):不带立场,负责系统性话题分解(query decomposition),穷举该类主题的标准话题面,保证基础完整性。
- 每个 persona 写一句关注点说明。
- 两种广度并行:对立视角管"深层 + 跨框架"覆盖,覆盖视角管"机械完整性"(吸收 content 调研的穷举长处当兜底)。
- ⚠️ 先把视角列表输出给用户,再进 Step 2。不准只存在脑子里或直接塞进 agent prompt。
Step 2 — 带视角提问 (见 prompts/02_question.md)
- 对立视角:每个生成 2-3 个深问题,一次一个、追问往深处走。
- 覆盖视角:走话题分解模式——把标准话题面(定义/机制/证据/安全/剂量用法/同类对比/监管…)穷举成可检索问题,和对立视角的问题一起进入检索流水线。
- 这些问题决定研究的广度和深度,是整个系统最关键的一步。
- ⚠️ 先把"每个视角 → 它的问题清单"输出给用户,再进 Step 3 检索。这是整套方法的灵魂,藏起来等于没做。
Step 3 — 问题转搜索词 → 真实检索 (见 prompts/03_query.md)
-
每个问题转成 1-3 条搜索词("要用搜索引擎回答这个问题,你会输入什么")。
-
用 Step 0 探测到的检索能力清单去检索(不在这里重新发现工具)。
-
发现到多个检索能力时尽可能多地并行调用,多源交叉验证、扩大覆盖。
-
某个搜索工具返回空/失效时不要停:立刻换下一个工具,或直接对已知权威域名(PubMed、官方站、维基等)用抓取工具取正文兜底。
-
降级阶梯:内置检索工具 → 检索类 MCP/skill → 派发有检索能力的子 agent(researcher/content-research 等)代为检索 → 浏览器自动化兜底 → 都没有才据实告知无法接地。
-
给每条取回的来源编号,记录 URL、标题、关键 snippet、来源工具。建立一张 [编号] → {url, title, snippet, tool} 的引用表,全程维护。
-
⚠️ 派发子 agent 前,先告诉用户检索分工(哪个 agent / 工具负责哪批问题、哪个视角);检索回来后把引用表雏形亮给用户。别让并行检索变黑箱。
Step 4 — 检索作答(抗幻觉) (见 prompts/04_answer.md)
- 基于 Step 3 取回的信息作答,每句话都要有来源支撑。
- 信息不足时明确写 "基于现有信息无法回答",并说明缺口。禁止用模型记忆补全。
阶段二:综合与组织
Step 5 — 矛盾图 / 缺口发现 (见 prompts/05_contradiction.md)
- 跨视角找出专家分歧点:5 个视角在哪里打架,为什么。
- 全部一致的大概率为真;没人提到的就是整个领域的盲区/机会。
- 这一步把"表面理解"升级为"真正的理解",多数人会跳过它。
Step 6 — 两步法大纲 (见 prompts/06_outline.md)
- 先凭已知写一版草稿大纲,再用采集到的对话/信息精修成更翔实的大纲。
- 用
# ## ### 标层级,不含主题名本身,不含引言/结论独立章节。
- 话题完整性核对:对照覆盖视角的标准话题清单,逐条核对大纲有无缺席的基础话题;缺了就补检索或标为缺口,禁止脑补。
阶段三:写作与自查
Step 7 — 带引用写作 (见 prompts/07_write.md)
- 按章节写作,每章先用章节标题从引用表检索相关条目。
- 内联
[n] 引用,n 对应 Step 3 引用表里的真实 URL。
- 不单独写 introduction / conclusion 章节(写完后由摘要段统领)。
- 写完追加一个
# 摘要 引导段(≤4 段:主题、背景、为何重要、主要争议)。
Step 8 — 自我同行评审 (见 prompts/08_review.md)
- 固有弱点:流程本身不会自我批判,会混入来源偏见和事实错配。这一步专门补上。
- 给自己的研究打分:强论点 / 弱论点 / 潜在偏见 / 缺失角度 / 各来源可靠性。
- 去除重复内容,保留引用和结构。
产出物
一篇 markdown 完整研究报告,包含:
# 摘要 引导段
- 多视角覆盖的正文,每个论断带
[n] 内联引用
## 矛盾分析 —— 专家分歧与领域缺口
## 参考来源 —— 编号对应的真实 URL 列表
## 自查报告 —— 强/弱论点、偏见、缺失角度、可靠性评分
重要原则
- 检索不可省:每个视角的回答都要有真实来源。这是 research 与 persona-prompting 的分界线。
- 诚实标注边界:检索不到就说检索不到。报告里区分"有来源支撑"和"推断"。
- 主流之外留心眼:这套方法本质是综合网上主流说法,对冷门/非共识话题容易流于平庸。遇到这类主题,在自查报告里明确提示"本报告偏向主流框架,可能遗漏非常规视角"。
- 方法论原理见
reference/methodology.md。