← 返回资料站  /  AutoResearch
论文 深度调研

Assisting in Writing Wikipedia-like Articles From Scratch with Large Language Models (STORM)

STORM:用多视角提问 + 检索从零写出带引用的维基式长文
一句话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 成最终大纲。
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(如'活动策划人')能问出预算、交通等深入问题;对话式提问能根据上一轮答案追问('入场顺序如何决定?')。
任务设定(上):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。

关键结果

实证核查

扎实论文声称本身就很克制(明说 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/
代码仓库github.com/stanford-oval/storm
31174★ · 最近推送 2025-09-30
FreshWiki 数据集huggingface.co/datasets/EchoShao8899/FreshWiki
论文构建的评测集:2022-02 至 2023-09 高频编辑的 B-class 以上英文维基文章
Live demostorm.genie.stanford.edu
官方 research preview,README 称 70,000+ 人试用
Co-STORM 论文arxiv.org/abs/2408.15232
后续人机协作版本,EMNLP 2024,代码已并入同一仓库

同类条目