Needle in a Haystackとは
Needle in a Haystackとは、長い文章を読み込ませたAI(大規模言語モデル)が、その奥に埋め込まれたたった1つの情報を正しく見つけ出せるかを試すテストです。名前は英語の慣用句「干し草の山の中の針」(見つけ出すのがほぼ不可能なもの、の例え)から。米国の開発者グレッグ・カムラットが2023年11月に公開し、長文対応をうたうAIの定番チェックになりました。略称はNIAHです。
仕組みは「長文への抜き打ちテスト」
やり方はシンプルです。干し草にあたる長文(原版では起業家ポール・グレアムのエッセイ集)の途中に、本文とまったく関係のない一文=針をこっそり差し込みます。そのうえでAIに全文を読ませ、針の内容を質問するのです。
ポイントは、文書の長さ×針を埋める位置(深さ)の組み合わせを変えながら何度も試すこと。結果は色分けの表で可視化され、「文頭の情報は拾えるが、長文の中盤に埋まると見落とす」といった弱点の地図が一目で分かります。
「読める長さ」と「拾える精度」は別物
このテストが広まった理由は、カタログ上の「読める長さ」(コンテキスト長)と、実際に情報を「拾える精度」は別物だと示したことにあります。Anthropicは2023年12月のClaude 2.1(約20万トークン=長編小説を超える分量)の解説でこのテストを取り上げ、プロンプトの一文の工夫で成績が大きく変わることを示しました。Googleも2024年2月のGemini 1.5発表で、約100万トークンでの針の発見率99%を性能の根拠として掲げています。個人の実験が、わずか数カ月で大手の公式発表に採用される物差しへ。AI業界らしいスピード感でしょう。
ただし注意もあります。これは一文を取り出す「検索」の試験であり、満点でも、長文全体の要約や複数箇所の突き合わせまで保証するものではありません。長文業務へのAI導入では、目的に合った試験を別途用意するのが堅実です。
Topic針の正体は「ドロレス公園でサンドイッチ」
原版で使われる針の一文は、「晴れた日にドロレス公園に座ってサンドイッチを食べるのが、サンフランシスコで一番良いことだ」という観光ガイドのような英文です。差し込み先はスタートアップ論のエッセイ集ですから、文脈とは完全に無関係。AIが「本文と関係ないのに、確かに書いてある情報」を拾えるかを試す絶妙な選択です。世界の名だたるAIが、この脱力系の一文を血眼になって探してきたと思うと少し愉快かもしれません。
Needle in a Haystackに関するよくある質問
- コンテキスト長が大きいモデルなら、このテストは満点になるのでは?
- そうとは限りません。まさにその思い込みを検証するためのテストで、カタログ上は長く読めるモデルでも、文書の奥に埋まった情報を見落とす例が観測されてきました。読める長さと拾える精度は分けて確かめる必要があります。
- プロンプトの書き方で結果が変わるというのは本当ですか?
- 本当です。Anthropicが2023年12月に公開した検証では、回答の冒頭に決まった一文を足す工夫だけで、Claude 2.1の取り出し成功率が27%から98%へ跳ね上がりました。テスト結果はプロンプト条件にも左右されます。
- 満点のAIなら長文の仕事を任せて大丈夫ですか?
- これは一文を取り出す検索の試験なので、満点でも要約の質や複数情報の突き合わせまでは保証されません。契約書の確認など実務に使うなら、その業務に近い形での検証を挟んでから任せると確実です。