最近Xで「Claudeが博士レベルで調べてくれる」「5分で数日分のリサーチが終わる」みたいな感じでバズってる Stanford STORM Method。便利そうだしやってみたくなりますよね。
ただ、流れてくる紹介を見てると、ちょっと気になることがあって。STORMの一番おいしい部分である "Retrieval(検索で裏を取る)" がごっそり抜けて、「複数の専門家になりきって質問するプロンプト」だけが一人歩きしてる 気がするんです。
STORMはただのプロンプト芸ではなくて、Stanfordがちゃんと論文で出してるAIリサーチ支援システムです。せっかくなので、
- 論文上、STORMは実際なにをやってるのか(一次情報ベースで)
- なんで普通にAIに聞くより強いのか(論文の実測値つきで)
- Claudeでちゃんと再現する方法(検索あり・問い直しあり)
このあたりを、できるだけ原典に寄せて整理してみます。
ベースにしてる論文はこれです。
Shao et al., Assisting in Writing Wikipedia-like Articles From Scratch with Large Language Models, NAACL 2024(Stanford OVAL lab)
arXiv: https://arxiv.org/abs/2402.14207 / 実装: https://github.com/stanford-oval/storm
そもそもSTORMって?
STORMはこの長い名前の略です。Stanford大学の研究チームが開発し、自然言語処理のトップ会議 NAACL 2024 で発表されたシステムです。思いつきのプロンプト集ではなく、ちゃんと査読を通った研究成果、というのがポイント。
Synthesis of Topic Outlines through Retrieval and Multi-perspective Question Asking
名前からして大事なのは、「Multi-perspective(多視点)」だけじゃなくて「Retrieval(検索)」も入ってるってこと。ここ、両輪なんですよね。
やりたいことは、Wikipediaみたいな、出典つきで構造のしっかりした長文記事をゼロから自動で書くこと。とくに今まで難しかった「書き始める前の調査とアウトライン作り(pre-writing)」を自動化したのが新しいところです。
STORMの中身(4ステップ)
人間がリサーチするときの動きに近い形で、作業を分解してます。
1. 視点を「勝手に」見つけてくる
ここ、たぶん一番誤解されてる部分。STORMは「専門家5人を固定で用意」してるわけじゃないんです。
入力したテーマに似たWikipedia記事を調べて、「こういう記事ってどんな切り口で書かれてるか」を自動で吸い上げてくる。 自分じゃ思いつかない角度を、似たトピックからパクってくる感じですね。
2. 「検索しながら対話する」 ← ここがSTORMの心臓部
見つけた視点ごとに「書き手」が「専門家」に質問していくんですが、ミソは専門家の回答が、ネット検索で裏を取った情報に基づいてること(いわゆるRAG)。
しかも一問一答じゃなくて、さっきの答えを踏まえて次の質問を作る、という多ターンの対話になってます。1回検索して即生成、みたいな雑なRAGとは違って、
質問 → 検索 → 回答 → その回答を踏まえて追加質問 → また検索 …
をぐるぐる回すわけです。「良い質問が良い検索を呼んで、良い検索がさらに鋭いツッコミを生む」みたいな連鎖。これが記事の深さと網羅性を支えてます。
3. 集めた情報をアウトラインに整理
対話で集めた(しかも出典つきの)情報を、構成案にまとめます。
4. アウトラインから本文を書く
最後に、構成案と集めた参照情報をもとに引用つきの本文を生成。
なにがすごいの?(論文の数字)
論文では、アウトライン駆動のRAGベースライン(oRAG) と比べて人手評価してます。経験豊富なWikipedia編集者10人に見てもらった結果がこちら。
- 「整理されてる」と評価された記事の割合が +25ポイント(45% → 70%、ちゃんと有意差あり p=0.005)
- 網羅性は +10ポイント
ここ、よく誤解されるので念押しを。
⚠️ ありがちな勘違い
「整理度が25%“アップ”」って書かれがちなんですが、正しくは 「整理されてると判定された記事の割合が25ポイント増えた(45%→70%)」。比較相手も「普通のRAG」じゃなくて 「アウトライン駆動RAG(oRAG)」 です。相対25%アップじゃないので注意。
で、地味に大事なのが、モデルが急に賢くなったわけじゃなくて、調べ方(pre-writing)が良くなっただけってこと。ここがSTORMのキモだと思ってます。
STORMの本質
要するにSTORMって、「良い答えを出す」じゃなくて 「良い問いを増やす」 仕組みなんですよね。
人間の研究者だって、1個の問いで調査を終わらせたりしません。別の立場から何度も問い直して、出てきた答えを足がかりにまた掘る。STORMはこの「問い直しループ」を、検索で裏取りしながら自動で回してるだけ、とも言えます。
Claudeで再現してみる
本家STORMは dspy で組まれたそこそこ複雑なシステムですが、考え方だけならClaudeでも十分まねできます。 しかもClaudeはウェブ検索ができるので、多視点(M)だけじゃなく検索(R)まで含めて再現できるのが強い。
2段階で紹介します。
① まずは簡易版(検索なし・視点も手動固定)
考え方をつかむための最小構成。STORMの「視点の自動発見」を、こっちで手動で固定しちゃった版です。
以下のテーマについて調査してください。
1. まず、このテーマを多角的に理解するために必要な専門家の視点を5つ選んでください。
(例:実践者 / 懐疑論者 / 経済学者 / 歴史家 / 研究者 など)
2. 各視点について、その専門家が重視する論点と、投げかけるであろう問いを挙げてください。
3. 反論・対立意見を整理してください。
4. すべての視点に共通する重要ポイントを抽出してください。
5. 最後に、これらを統合したレポートを作成してください。
テーマ:【ここにテーマを入力】
ちなみに 「実践者・懐疑論者・経済学者・歴史家・研究者」の5視点は論文に出てくるわけじゃなくて、筆者が勝手に固定したパターンです。本家は似たWikipedia記事から視点を自動で拾ってきます。
この簡易版でも「平均的な説明」から「複数視点の比較」にはなります。ただ、検索の裏取り(R)と問い直しのループが無いので、正直これはSTORMの半分(Mだけ)。
② 応用版(検索あり・問い直しあり)
STORMっぽさを出すなら、Claudeに実際に検索させて、フォローアップまで回させるところまで指示しちゃいましょう。Claudeのウェブ検索はオンにしておいてください。
あなたはSTORM方式でリサーチを行うアシスタントです。
以下のテーマについて、次の手順を厳密に守ってください。
【ステップ1:視点の発見】
- テーマに関連する隣接トピックや既存の良質な記事の構成を踏まえ、
このテーマを網羅するのに必要な視点を5つ程度、自分で導き出してください。
- 固定パターンに頼らず、テーマ固有の切り口にすること。
【ステップ2:検索に接地した対話(最重要)】
- 各視点について「書き手」として質問を作り、ウェブ検索で実際に情報を集めてください。
- 得られた回答(出典つき)を踏まえ、さらに踏み込んだフォローアップ質問を
各視点ごとに1〜2ラウンド行い、再度検索してください。
- 推測で埋めず、各主張に出典URLを必ず添えてください。
【ステップ3:アウトライン化】
- 収集した情報を、重複を整理しつつ構造化されたアウトラインにまとめてください。
【ステップ4:本文生成】
- アウトラインに沿って、出典つきの統合レポートを作成してください。
- 反論・対立意見、利害関係、歴史的背景も明示してください。
テーマ:【ここにテーマを入力】
肝心なのは、「検索する → その結果を踏まえてもう一段ツッコむ」を視点ごとに繰り返させること。ここをサボると、ただのなりきりプロンプトになっちゃって、STORMの強み(深さと網羅性)が出ません。
使うときの注意(論文も認めてる弱点)
念のため。STORMは魔法のプロンプトじゃないです。論文自身がこんな限界をちゃんと書いてます。
- 情報源が偏ることがある/事実を取り違えて結びつける(fact misassociation) ことがある
- あくまで 下調べ・構成案作り(pre-writing)の支援ツールで、出力はそのまま公開できる完成品ではない
- 最終的には人間が編集してファクトチェックする前提
なので、STORMやClaudeが出したレポートは「めちゃくちゃ優秀な下書き」くらいに思っておいて、裏取りは自分でやる。これが正しい付き合い方です。
もう一歩先:Co-STORM
実はSTORMには発展版の Co-STORM(EMNLP 2024)があります。
- 人間が途中で議論に参加できる。眺めてるだけでもいいし、論点を差し込んで方向修正してもいい(human-in-the-loop)
- 集めた情報を**マインドマップ(階層的な概念図)**として動的に整理してくれるので、議論が長くなっても迷子になりにくい
「人間が要所で口を出しながら多視点リサーチを回す」って意味で、さっきの②応用版の発想とも地続きです。気になる人は本家リポジトリをどうぞ。
まとめ
- STORMの名前は Retrieval(検索)+ Multi-perspective(多視点)。多視点だけじゃなく、検索で裏を取るのが核。
- 論文の成果は「整理されてると判定された記事が +25ポイント(vs アウトライン駆動RAG)」。相対25%アップじゃないので注意。
- 本質は「良い答え」じゃなく 「良い問いを増やす」。賢くなったのはモデルじゃなくて調べ方。
- Claudeで再現するなら、検索をオンにして、視点ごとに検索→問い直しを繰り返させると一気に本物っぽくなる。
- ただし出力は下書き扱い。情報源の偏りと事実の取り違えに気をつけて、裏取りは人間がやること。
AIを「検索エンジン」じゃなく、**「複数の専門家が出典を確かめながら議論してる研究室」**として使う。たったこれだけで、返ってくる知識の質はけっこう変わります。よかったら試してみてください。
参考文献・リンク
- 論文(NAACL 2024): Assisting in Writing Wikipedia-like Articles From Scratch with Large Language Models — https://aclanthology.org/2024.naacl-long.347/ / arXiv: https://arxiv.org/abs/2402.14207
- 公式プロジェクト: https://storm-project.stanford.edu/research/storm/
- 実装(GitHub, Stanford OVAL): https://github.com/stanford-oval/storm
- Co-STORM(EMNLP 2024)も同リポジトリで公開