论文
深度调研
Assisting in Writing Wikipedia-like Articles From Scratch with Large Language Models (STORM)
STORM:用多视角提问 + 检索从零写出带引用的维基式长文
Yijia Shao, Yucheng Jiang, Theodore A. Kanell, Peter Xu, Omar Khattab, Monica S. Lam · Stanford OVAL · NAACL 2024 · 2024-02 · 被引 182
一句话 Stanford OVAL 提出 STORM,把'从零写一篇维基百科式长文'拆成 pre-writing(多视角模拟对话式提问 + 检索收集参考 + 生成大纲)和 writing 两阶段;维基编辑人评中 Organization 达标率比最强 baseline oRAG 高 25 个百分点、Coverage 高 10 个百分点,开源仓库 31k+ stars,是 Deep Research 类系统提问策略的学术源头之一。
这是什么 这篇 NAACL 2024 论文研究的问题是:给定一个 topic,让 LLM 像人一样先'做调研'再写作,最终产出一篇每句话都带引用、结构接近维基百科的长文。作者认为难点不在写作本身,而在 pre-writing 阶段——怎么研究这个主题、收集哪些资料、组织成什么大纲。这和之前的 Wikipedia 生成工作(给定参考文档做多文档摘要,或只生成一段)有本质区别:STORM 的设定是 domain 不限、不给大纲、不给参考文献,全靠系统自己检索。
核心洞察是'自动调研的关键是自动提出好问题'。直接让 LLM 对一个 topic 提问,只能问出 when/where 这类浅层问题;STORM 用两个策略加深提问:一是从相似主题的维基文章目录里发现多个'视角'(perspective),让 LLM 带着特定角色提问(如'活动策划人'会问 2022 冬奥开幕式的预算和交通);二是模拟'维基作者 vs 主题专家'的多轮对话,专家的回答 grounded 在互联网检索结果上,作者读了回答再追问,形成动态加深的提问链。
为了评测,论文还构建了 FreshWiki 数据集:取 2022-02 到 2023-09 每月编辑次数 top 100 的英文维基页面,过滤到 B-class 质量以上,规避 LLM 训练数据泄漏;并提出用 heading soft recall / heading entity recall 两个大纲级指标来单独评估 pre-writing 阶段。这套'早于写作先评大纲'的评测思路后来被不少调研 agent 工作沿用。
STORM 系统总览:①②从相似主题的维基文章目录中发现多个 perspective;③-⑥每个 perspective 驱动一场'维基作者提问、专家拆 query 检索作答'的模拟对话,可信来源存入参考集 R;⑦⑧先用参数化知识直接生成草稿大纲,再用全部对话内容 refine 成最终大纲。 机制与做法 Perspective 发现与多视角提问
给定 topic t,先让 LLM 生成一组相关主题,通过 Wikipedia API 抓取这些主题现有文章的目录(table of contents),拼接后再让 LLM 从中归纳出 N 个视角(N=5)。另外固定加一个 p0 = 'basic fact writer',保证基础信息不漏。每个视角并行驱动一条独立的提问线。消融显示视角的作用主要体现在信息多样性:去掉 perspective 后收集到的 unique 参考源从平均 99.83 个掉到 54.36 个。
任务设定(上):pre-writing 产出 references + outline,writing 阶段扩成全文。下半部分对比三种提问方式:直接 prompt 只能问出 when/where 浅层问题;带 perspective(如'活动策划人')能问出预算、交通等深入问题;对话式提问能根据上一轮答案追问('入场顺序如何决定?')。 模拟对话:作者提问、专家检索作答
每个视角下模拟一场最多 M=5 轮的对话:LLM 扮演的'维基作者'根据 topic、视角和对话历史生成一个问题;'专家'一侧先把问题拆成若干搜索 query,用 You.com search API 检索,再按维基'可靠来源'指南做规则过滤,最后综合可信来源生成回答。所有可信来源进入参考集 R,供后面写正文用。消融里'w/o Conversation'(一次性生成同等数量的问题、不看回答)效果最差——heading entity recall 从 40.52 掉到 31.98(GPT-3.5),说明'读到新信息才能问出好问题'是这套设计的关键。
大纲两步生成 + 分节写作
大纲生成分两步:先让 LLM 只看 topic 直接产出草稿大纲(利用参数化知识给出通用框架),再把 N+1 场对话喂进去 refine 成最终大纲。写作阶段按 section 并行生成:用各级标题做 query、以 Sentence-BERT 语义相似度从 R 中检索相关文档,生成带引用的正文,最后拼接、去重、写 lead section。整个 pipeline 用 DSPy 零样本 prompting 实现,提问用 gpt-3.5-turbo,写作用 gpt-4。消融证明大纲阶段不可省:去掉后 ROUGE-1 从 45.82 掉到 26.77,entity recall 从 14.10 掉到 7.39。
关键结果 大纲质量:GPT-3.5 下 STORM 的 heading soft recall 86.26 / entity recall 40.52,显著高于 Direct Gen(80.23/32.39)和 RAG(73.59/33.85);有趣的是 RAG 在弱模型上比直接生成还差——把未组织的检索结果塞进上下文反而干扰大纲生成。 全文质量(GPT-4 写作):STORM ROUGE-1 45.82、entity recall 14.10,均显著优于最强 baseline oRAG(44.26/12.57);Prometheus 评分在 Interest/Relevance/Coverage 上显著更高。 10 位资深维基编辑(500+ 编辑记录)人评 20 对文章:STORM 在 Organization 上达标率(≥4 分)70% vs oRAG 45%(p=0.005),Coverage 67.5% vs 57.5%;pairwise 偏好 26:14。但 Verifiability 反而略低于 oRAG(3.80 vs 3.85)。 引用质量:Mistral 7B-Instruct 判定 84.83% 的句子被引用支持;错误分析显示不支持的句子主要来自不当推断和不准确转写,而非凭空捏造。 编辑们一致(100%)认为 STORM 对 pre-writing 阶段有帮助,80% 认为能帮自己写新主题条目;但也指出生成文章信息量不如真实维基页面,且 7/10 的编辑提到文章有'情绪化/不中立'问题——检索来源的偏见和语气被转移进了文章(source bias transfer)。 人评还发现比事实幻觉更隐蔽的问题:red herring / over-association,即把 R 里不相关的信息之间强行建立联系,超出基本 fact-checking 的范畴。 实证核查
扎实 论文声称本身就很克制(明说 Verifiability 不占优、不如人写文章、有偏见转移问题),数字与代码开源情况一致;开源实现被大规模使用并持续维护,是少数'论文系统真的变成了流行工具'的案例。
论文声称 STORM 生成的文章被维基编辑认为更有组织(+25% 绝对提升)、覆盖更广(+10%)。
对照 5_1-HumanEval.tex:人评规模是 20 个 topic × 2 名编辑,五项指标里只有 Organization 的 p 值(0.005)达到显著,Interest/Coverage 的 p 值为 0.077/0.084,Verifiability 甚至略输 oRAG(3.80 vs 3.85);标注一致性 Krippendorff's Alpha 只有 0.22-0.39。论文正文如实报告了这些数字并把弱点(bias transfer、over-association)写进结论,声称与证据匹配,但'编辑认可'的样本量很小。
开源系统可复现论文 pipeline,README 称 70,000+ 人试用过 live research preview。
GitHub stanford-oval/storm 实际 31,174 stars、MIT license,最近 push 2025-09-30,有 pip 包 knowledge-storm(v1.1.0 起接入 litellm,支持任意模型)和 10 种检索后端(You/Bing/Serper/Tavily/VectorRM 等);issues 列表显示 2025 年仍在持续修 bug、合 PR(#536-#548 一批 None-guard 修复)。注意论文实验用的是 gpt-3.5-turbo + gpt-4 + You.com API,复现论文数字需要同版本模型,但 pipeline 本身完全开放。
引用质量 citation recall 84.83%、precision 85.18%。
这是用 Mistral 7B-Instruct 做 entailment 判定的自动指标(4-Experiments.tex),judge 模型很弱;且人评里 Verifiability 恰恰是 STORM 唯一不赢的维度,编辑偏好 oRAG 的案例中超半数是因为 Verifiability 低。论文自己在 5-Results.tex 承认'evaluator LLM 可能高估机器文本',这个 84.83% 应当打折看待。
FreshWiki 数据集规避了训练数据泄漏。
方法是选 2022-02 之后被大量编辑的页面(2-Task.tex),对 gpt-3.5/gpt-4(cutoff 2021-09)成立,但'重度编辑'不等于'新建'——部分页面旧版本可能已在训练数据中,论文用'created or very heavily edited'的表述承认了这一点;实验只用了其中 100 个 ≤3000 词的样本,且输出截断在 4000 token,结论适用范围是中短篇维基文章。
与我们方向的关系 这是深度调研(Deep Research)范式的学术源头之一,比 OpenAI Deep Research 早约一年。它把'调研质量取决于提问质量'这个观点做成了可操作的两个机制——perspective-guided questioning 和 grounded simulated conversation,消融数字(unique 来源 99.83 vs 54.36 vs 39.56)清楚地量化了每个机制的贡献,做调研 agent 的提问/搜索策略设计时可以直接借鉴这套消融框架。
另外两点对课题组有直接参考价值:一是'先评大纲再评全文'的分阶段评测(heading soft recall / entity recall),把长文评测这个难题拆成了可自动化的代理指标;二是人评暴露的两个失败模式——source bias transfer(检索来源的语气/立场渗入产出)和 over-association(把不相关信息强行关联)——是所有 RAG 长文系统的共性问题,比事实幻觉更难用 fact-checking 兜底,值得在我们自己的系统评测里显式设检查项。
阅读笔记 后续工作 Co-STORM(EMNLP 2024, arXiv 2408.15232)加入了人机协作 discourse 协议和动态 mind map,已并入同一代码库 v1.0.0。工程上注意:论文数字基于 You.com API + gpt-3.5/gpt-4(temperature 1.0, top_p 0.9),换检索源和模型后大纲质量会有明显波动;N=M=5 的默认超参意味着一次运行约 25+ 轮问答、上百次检索,成本不低。
材料清单 TeX 源码 已存档:Raw/assisting-in-writing-wikipedia-like-articles/source/
同类条目