AIは検索できる。でも「次に何を見るか」は、まだ人間が決めている
Memory・Files・Web・Toolsを持つAIに、推論の不足を自分で見つけさせる7つの機能と、その測り方
タワードAIの記事はこちら
札幌で、AIを使って研究と執筆をしています。エンジニアではありません。普段はGPTやClaudeを、Memory、Projectのファイル、Web検索と組み合わせて使っています。
先日、自分の論文の審査状況をGPTと確認していて、同じことを何度も言っている自分に気づきました。「そのメールだけでなく、投稿全体の時系列を見て」「通常の査読フローと比べて」「保存してある資料と改訂の経緯も確認して」。言うたびに、GPTの説明は変わりました。
GPTは材料を持っていました。過去の文脈も、ファイルも、Web検索もありました。それでも最初の回答は、目の前のメールだけで判断を完結させていました。私が教えていたのは結論ではありません。結論を出す前に、何を見に行くべきかでした。
この記事の立場を先に書いておきます。推論と検索を往復させる研究は、すでにたくさんあります(後述します)。問題はそこではありません。検索もMemoryもファイルもToolも揃っているのに、ユーザーが毎回「次はこれを見て」と言い続けているなら、情報選択の重要な部分は、まだ人間が代行しています。研究として可能であることと、実際の対話で必要な瞬間に自分から動くことの間に、まだ距離がある。この記事は、その距離を実装と測定の側から見ます。
同じ材料から英語でも書いていますが、あちらは問題提起が中心で、こちらは数式・表・YAML・指示文の例を足して、組み方と測り方に絞っています。足した部分はこの記事で加えたもので、主張は英語版と食い違いません。
非公開の通信や査読の内容は扱いません。扱うのは、GPTとの作業で見えた情報選択の問題だけです。この記事の数値例・YAML・指示文は設計のたたき台で、効果はまだ測っていません。
1. 「保存されている」と「判断に使われる」の間には、段が四つある
AIのMemoryが話題になると、たいてい容量の話になります。長いコンテキスト、永続Memory、Projectのファイル、外部データベース、RAG。どれも有用です。ただ、保存量が増えても、判断の質がそのまま上がるわけではありません。
Liuらの「Lost in the Middle」は、必要な情報が長いコンテキストの中にあっても、置かれた位置によってモデルがうまく使えない場合があることを示しました[1]。当時の対象モデルと課題についての結果で、今のすべてのモデルの評価ではありません。それでも、「入力できる」と「必要なときに使える」を分けて考える理由になります。
分けると、段は四つあります。
| 段 | 状態 | ここで止まったときの症状 |
|---|---|---|
| 保存 | 情報がMemory・ファイル・Web上のどこかに存在する | そもそも材料が無い |
| 到達 | その情報へアクセスする手段がある | 道具はあるのに届かない |
| 取得 | 必要な場面で、実際に取りに行く | 持っているのに見ない |
| 判断の変更 | 取ってきた内容で、結論や順位が変わる | 見たのに何も変わらない |
私のケースで止まっていたのは、三段目と四段目でした。材料は保存されていて、到達する手段もあった。弱かったのは、いまの問いから逆算して、時系列・過去資料・通常のフロー・比較対象を呼び出す動きです。
2. 人間の記憶から借りたいのは、機能の分け方
人間も、判断のたびに全記憶を意識へ展開しているわけではありません。いまの状況が手掛かりになり、そこから関連する記憶が呼び出されます。
TeylerとDiScennaの海馬記憶索引理論は、海馬を、経験のときに活動した分散的な皮質表現へ再びアクセスするための索引として捉えました[2]。Polynらは自由再生の実験で、人物・場所・物といったカテゴリーに対応する皮質活動が、その項目を思い出して口に出す数秒前から現れることを報告しています[3]。Badreらは、弱い手掛かりから情報を取り出す制御と、競合する候補の中から必要なものを選ぶ制御を分けて調べ、腹外側前頭前野の異なる活動との対応を報告しました[4]。
AIへ脳の部位を写す必要はありません。借りたいのは、機能の分け方です。
| 人間の記憶研究で分けられているもの | AIの設計での対応 | 言わないこと |
|---|---|---|
| 手掛かりによる呼び出し | いまの判断対象から、Memoryやファイルを引く | 海馬がベクトルDBである |
| 取り出しと選別の区別 | 検索と、取得結果の選別を別の工程にする | 前頭前野がプロンプトである |
| 状況が次の検索を決める | 暫定的な説明が、次の取得先を決める | 脳とAIが同じ機構で動く |
ここから一つ、Memoryの持ち方への示唆が出ます。「仕事」「家族」「論文」のような話題別の保存だけでは、足りないかもしれません。「前にどの前提を取り違えたか」「何を確認したら判断が変わったか」「どの条件では古い結論が使えないか」まで戻り道を残しておくと、Memoryは過去を再生するだけでなく、いまの推論を直す索引になりえます。
3. 欲しいのは「関連する情報」ではなく「判断を変えうる情報」
普通の検索は、問いと関連する情報を探します。でも、説明Aと説明Bが競合しているときに本当に欲しいのは、どちらにも似ている情報ではありません。AとBのどちらを残すかを変えられる情報です。
MarkantとGureckisは、学習者が自分で事例を選ぶ能動学習と、同じ事例を受け身で与えられる条件を比べました[5]。彼らの分析で重要だったのは、選んだことだけではなく、いま持っている仮説に応じて次に見る情報を選べることでした。Steyversらは、観察だけでなく自分で介入を選んで結果を見られる条件で、因果構造の学習が改善することを示しています[6]。
Web検索は実験の介入ではありませんし、検索結果を増やしても因果が証明されるわけではありません。ただ、設計の問いは同じ形で持ち帰れます。
いまの説明を補強する情報ではなく、いまの説明を変えうる情報は何か。
Qiita版なので、これを式にしておきます。競合する説明の集合を $\mathcal{H}$、取得先の候補を $s$、そこから得られる観測を $o$ とします。一つは、取得によって説明の不確かさがどれだけ減る見込みか、です。
\mathrm{EIG}(s) = H(\mathcal{H}) - \mathbb{E}_{o \sim p(o \mid s)} H(\mathcal{H} \mid o)
もう一つは、この記事の言い方にもっと近い量で、「取ってきた結果によって、一番有力な説明が入れ替わる確率」です。
\mathrm{Flip}(s) = \Pr_{o \sim p(o \mid s)} ( \arg\max_{h} p(h \mid o) \neq \arg\max_{h} p(h) )
どちらも、LLMがこれを明示的に計算しているという主張ではありません。取得先の優先順位を考えるときの物差しと、あとで評価するときのレンズです。
止めどころは、二つ目の量で書きます。不確かさが減るだけの取得は、知りたいことは満たしても、判断を変えないことがあるからです(8章)。取得の費用を $c(s)$、費用をどれだけ重く見るかの係数を $\lambda$ として、次の式が成り立ったら、つまりどの取得先も費用に見合うほど判断を入れ替えそうにないなら止まります。
\max_{s} ( \mathrm{Flip}(s) - \lambda \cdot c(s) ) \le 0
4. AIには、人間とは違う組み合わせがある
いまのLLMには、大規模な事前学習で得た知識とパターンがあります。Petroniらは、事前学習済みの言語モデルから関係的な事実知識をどこまで引き出せるかを調べ、パラメータに取り込まれた知識を問い合わせられることを示しました[7]。ただし、言語モデルを完全で正確なデータベースとみなせるわけではありません。その内部知識と外部の検索を組み合わせるのが、RAGの基本的な方向です[8]。
ここに長期Memory、Projectのファイル、Web検索、各種Toolが加わると、AIは「知っていることを答えるシステム」を越えられるかもしれません。一般知識から比較すべき分野を思いつき、Memoryから過去の訂正へ戻り、ファイルから原文を取り、現在の情報が必要ならWebへ行き、外部サービスにしかない状態は許可されたToolで確かめる。
人間の記憶より優れている、と言いたいのではありません。人間には身体も経験も目的もあります。ただAIには、学習済みの広い知識を手掛かりにして、その場で外の世界へ足りないものを取りに行けるという、別の種類の強さがあります。この組み合わせでは、ボトルネックが「どれだけ保存したか」から「次に何を取りに行くか」へ移っていく可能性があります。
5. この方向の研究は、すでにある
ここで「AI研究はまだこの発想に気づいていない」と書いたら、この記事自身が確認すべき情報を取りに行っていないことになります。
| 研究 | 示していること | この記事が見たい距離 |
|---|---|---|
| ReAct[9] | 推論の記述と外部環境への行動を交互に行い、得た情報を後続に使う | ユーザーが指示しなくても、必要な場面でその往復が始まるか |
| IRCoT[10] | 何を検索するかがそれまでの推論に依存し、推論が取得情報に依存する。その相互依存を踏まえて検索と思考の連鎖を交互に進める | 多段QAの外、MemoryやProjectファイルを持つ実会話で同じことが起きるか |
| Self-RAG[11] | いつ検索するか、取得した文書が関連するか、生成内容がそれに支えられているかを評価する仕組み | 評価の軸が「判断を変えうるか」まで届くか |
| Search-R1[12] | 検索エンジンとの複数回のやり取りを含む推論を強化学習で訓練 | 学習した環境の外でも、取得先の選び分けが効くか |
| Gengら(2025)[13] | ブラックボックスの逆解析課題で、能動条件(自分で入力を選び結果を観測)で成績が改善し、同じデータを別の試行へ受け身で渡しても同じ性能にならなかった。信頼できる入出力が返る制御された課題での結果で、条件の違いは誰が選ぶかだけではない | 集めた情報だけでなく、仮説を更新しながら情報を選ぶ過程を評価する意味 |
新しい検索アルゴリズムを発明した、という記事ではありません。見たいのは、表の右の列、つまり研究として存在する能力が、実際の対話の必要な瞬間に、ユーザーの指示なしで立ち上がるかです。
6. 7つの機能
私のケースから逆算すると、次の流れが自然だと思います。
どれか一つが欠けると、見え方の違う失敗になります。
| 機能 | 何をするか | 欠けたときの症状 |
|---|---|---|
| Current Object | いま何を判断するのかを固定する | 別の問いに答えている |
| Initial Causal Model | 説明の候補を一つに決め打ちせず複数立てる | 最初の筋書きを補強する材料だけ集める |
| Missing Evidence | 何が分かれば候補の順位が変わるかを特定する | 関連はするが判断を動かさない情報を集める |
| Source Routing | それがMemory・Files・Web・Tools・人間のどこにあるかを選ぶ | 記憶にある経緯をWebで探す、現在の状態を古い記憶で答える |
| Evidence Typing | 一次資料・過去の記録・一般知識・推論を混ぜない | 一般知識や古い記憶を、今回の証拠として扱う |
| Causal Update | 新しい証拠で順位や、必要なら問いの切り方まで作り直す | 取ってきたのに結論が変わらない |
| Commit or Continue | 順位を変えうる不足があれば続け、なければ答える | 早すぎる確定、または終わらない検索 |
取得先の選び分けと、証拠の身分は、表にしておくと手元で使えます。
| 取得先 | 向いているもの | 気をつけること |
|---|---|---|
| Memory / Project | 過去の経緯、以前の訂正、決めたこと | 古い状態が今も続いている保証はない |
| Files | 原文の細部、要約で落ちた条件 | 版と日付を確かめる |
| Web | 現在の制度、研究、製品、出来事 | 二次情報は一次資料と同じ重みではない。同じ発表の転載は独立した証拠ではない |
| Tools | 外部サービスにしかない現在の状態 | 権限の範囲で。取れた値と推測を分ける |
| 人間への確認 | 本人にしか分からないこと | 聞く前に、取れるものは取る |
| 証拠の身分 | 支えられること | 支えられないこと |
|---|---|---|
| 直接の観測・一次資料 | 今回の事実 | その資料の範囲の外 |
| 過去の記録(Memory) | 以前の経緯 | 現在も同じであること |
| 事前学習の一般知識 | 何を調べるべきかの見当 | 今回の個別の事実 |
| モデル自身の推論 | 候補と、その検証方法 | それ自体の正しさ |
| 過去のAIの要約 | どこを確かめるべきかの目印 | 外部の確認(同じ系の再生にすぎない) |
この7つを、毎回の回答でユーザーに逐一見せる必要はありません。大事なのは、課題が求めるときに、システムがこれらの機能を実際に果たすことです。
7. 慎重さは、確定の時点で働かせる
不確かだからといって、最初から推論を弱くする必要はありません。使える材料から強い候補を作り、何を事実として確定するかを最後に厳しくします。
人の内心が分からないなら、内心だけを未確認にする。現在の状態を確かめていないなら、そこだけを未確認にする。外側が分からないからといって、内側で観測できる因果まで薄めない。
強く考えることと、強く断定することは、別の仕事です。
8. 検索を増やせばいいわけでもない
逆向きの失敗もあります。疑問が出るたびにWebへ行き続けることです。
KobayashiとHsuは、情報を買える意思決定課題で、情報の価値には選択を良くする実用的な価値に加えて、結果を先に知ること自体の価値も含まれることを示しました[14]。人は、役に立つからではなく、知りたいから情報を集めることもあります。AIも、検索の回数を性能とみなすと、同じ罠に入ります。3章の止めどころを、実用的な価値、つまり判断を変えうるかどうかで書いたのはそのためです。
自分の説明と同じ結論の記事を十本集めても、元が一つなら証拠は十個になりません。検索語が最初から自分の仮説を肯定する形なら、見つかる世界も偏ります。だから、検索の前後に一つずつ問いを置きます。
- 検索の前:何が分かれば、いまの判断が変わるのか。
- 検索の後:取ってきたものは、その問いへの証拠か。それとも同じ話題を扱っているだけか。
9. 測り方
効果を確かめる方法は、そこまで複雑ではありません。判断に効く証拠を複数の場所に分けて置き、古い記憶と無関係な資料も混ぜ、ユーザーはどこを見ろとは言わない。その条件で、AIが自分から必要な取得先へ届くかを見ます。
たとえば、ジョブ停止の原因判定なら、こういう課題になります(合成の例です)。
task: nightly_job_failure_root_cause # 合成課題
object: "昨夜の定期ジョブが止まった原因を判定する"
hypotheses:
- dependency_breaking_change
- credential_expired
- upstream_data_missing
evidence:
- id: e1
location: memory # 以前の障害メモ。原因の読み違いを後で訂正した記録を含む
decisive: true
- id: e2
location: files # 昨夜の時系列ログ
decisive: true
- id: e3
location: web # 依存ライブラリのリリースノート(破壊的変更)
decisive: true
- id: e4
location: tools # 認証情報の現在の有効期限
decisive: true
distractors:
- id: d1
location: memory # 古い手順書。現在は更新済み
kind: stale
- id: d2
location: web # 同じ話題だが今回と無関係な記事
kind: same_topic_irrelevant
user_prompt_policy: no_source_hints # どの資料を見ろとは言わない
budget:
max_tool_calls: 12
metrics:
- decisive_evidence_reached_before_hint # 人間の指示の前に届いたか
- stale_memory_overridden_by_current # 古い記憶より現在の証拠を優先したか
- discriminating_retrieval_rate # 取得のうち、説明を区別するものの割合
- ranking_changed_by_evidence # 証拠で順位が実際に変わったか
- unnecessary_retrievals # 判断に効かない取得の数
- human_hints_to_same_quality # 同じ品質に届くまでの人間の介入回数
最後の指標が、この記事でいちばん測りたいものです。検索の回数ではなく、人間が何回「次はこれを見て」と言わなければならなかったか。
10. バックログ――いま利用者が置けるもの、製品が既定にすべきもの
ここまでを実装の形にします。左の列は、利用者や運用者が指示文やProjectのファイルで今日から試せる暫定の手当て、右の列は、提供する側が既定の動作にすべきことです。
| 機能 | 利用者・運用者が今日から試せる暫定の手当て | 提供側が既定にすべきこと |
|---|---|---|
| Current Object | 依頼の冒頭に、判断の対象を一行で書かせる | 判断を求める依頼で、対象の確認を自動で行う |
| Initial Causal Model | 「候補を二つ以上」と指示文に書く | 単一の筋書きに早く収束しない回答方策 |
| Missing Evidence | 「何が分かれば順位が変わるか」を書かせる | 順位を変えうる不足の検出を、回答前の既定の工程にする |
| Source Routing | 取得先の対応表(6章)をProjectに置く | Memory・Files・Web・Toolsを、不足の種類に応じて自分で選び分ける |
| Evidence Typing | 回答で「一次・記録・一般知識・推論」を分けさせる | 取得した情報に出所と身分を付けて保持する |
| Causal Update | 「取った後で順位が変わったか」を書かせる | 取得結果が判断に反映されたかを内部で確かめる |
| Commit or Continue | 「確定」と「未確認」を分けて答えさせる | 判断を変えうる不足が残るときは自分から取りに行き、無ければ止まる |
左の列に対応する指示文の例です。効果は測っていません。ツール呼び出しや費用が増える可能性もあるので、使うなら9章の形で比べてください。
## 判断を求められたとき
- いま判断する対象を一行で書く。
- 説明の候補を二つ以上立てる。
- 「何が分かれば候補の順位が変わるか」を書き、その情報の置き場所を選ぶ。
- 過去の経緯・訂正 → Memory / Project
- 原文の細部 → Files
- 現在の制度・研究・製品 → Web
- 外部サービスの現在状態 → Tool
- 取れないもの → 未確認として残すか、私に聞く
- 取ってきたものに身分を付ける(一次資料/過去の記録/一般知識/推論)。
- 順位を変えうる不足が残っていれば続け、なければ答える。
- 答えでは、確定したことと未確認のことを分ける。
右の列は、左の列の上位互換ではありません。左は、ユーザーが毎回気づいて書き足さなければならない手当てです。毎回指示できない人が悪いのではありません。指示しなくても必要な証拠を取りに行くのが、あるべき既定の動作です。
11. まだ実装されていないこと
一番大きい穴は、Missing Evidenceの行です。
推論と検索の往復は研究で実装されています。取得した文書の評価も、複数回の検索の訓練も、すでにあります。それでも、長期Memory・Projectのファイル・Web・Toolsを同時に持つ日常のAIで、「いまの判断を変えうる不足は何か」を自分から問い、その置き場所を選び分ける動きは、少なくとも私が使っている場面では、まだ既定になっていません。今のところ、その問いを立てているのはユーザーです。
個人が指示文として書き下せるということは、仕様として書けるということです。書ける仕様なら、製品の既定の動作として実装し、9章の形で測ることができます。
Memory gives an AI somewhere to return.
Reasoning must decide when to return — and where.記憶は、AIに戻る場所を与える。しかし、いつ、どこへ戻るべきかを決めるのは推論でなければならない。
出典
- [1]Liu, N. F., et al. (2024). Lost in the Middle: How Language Models Use Long Contexts. Transactions of the Association for Computational Linguistics, 12, 157–173. https://aclanthology.org/2024.tacl-1.9/
- [2]Teyler, T. J., & DiScenna, P. (1986). The Hippocampal Memory Indexing Theory. Behavioral Neuroscience, 100(2), 147–154. https://pubmed.ncbi.nlm.nih.gov/3008780/
- [3]Polyn, S. M., Natu, V. S., Cohen, J. D., & Norman, K. A. (2005). Category-Specific Cortical Activity Precedes Retrieval During Memory Search. Science, 310(5756), 1963–1966. https://doi.org/10.1126/science.1117645
- [4]Badre, D., et al. (2005). Dissociable Controlled Retrieval and Generalized Selection Mechanisms in Ventrolateral Prefrontal Cortex. Neuron, 47(6), 907–918. https://doi.org/10.1016/j.neuron.2005.07.023
- [5]Markant, D. B., & Gureckis, T. M. (2014). Is It Better to Select or to Receive? Learning via Active and Passive Hypothesis Testing. Journal of Experimental Psychology: General, 143(1), 94–122. https://doi.org/10.1037/a0032108
- [6]Steyvers, M., Tenenbaum, J. B., Wagenmakers, E.-J., & Blum, B. (2003). Inferring Causal Networks from Observations and Interventions. Cognitive Science, 27(3), 453–489. https://doi.org/10.1207/s15516709cog2703_6
- [7]Petroni, F., et al. (2019). Language Models as Knowledge Bases? EMNLP-IJCNLP 2019, 2463–2473. https://aclanthology.org/D19-1250/
- [8]Lewis, P., et al. (2020). Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks. NeurIPS 2020. https://arxiv.org/abs/2005.11401
- [9]Yao, S., et al. (2023). ReAct: Synergizing Reasoning and Acting in Language Models. ICLR 2023. https://arxiv.org/abs/2210.03629
- [10]Trivedi, H., Balasubramanian, N., Khot, T., & Sabharwal, A. (2023). Interleaving Retrieval with Chain-of-Thought Reasoning for Knowledge-Intensive Multi-Step Questions. ACL 2023, 10014–10037. https://aclanthology.org/2023.acl-long.557/
- [11]Asai, A., Wu, Z., Wang, Y., Sil, A., & Hajishirzi, H. (2024). Self-RAG: Learning to Retrieve, Generate, and Critique through Self-Reflection. ICLR 2024. https://arxiv.org/abs/2310.11511
- [12]Jin, B., et al. (2025). Search-R1: Training LLMs to Reason and Leverage Search Engines with Reinforcement Learning. arXiv:2503.09516. https://arxiv.org/abs/2503.09516
- [13]Geng, J., Chen, H., Arumugam, D., & Griffiths, T. L. (2025). Are Large Language Models Reliable AI Scientists? Assessing Reverse-Engineering of Black-Box Systems. arXiv:2505.17968. https://arxiv.org/abs/2505.17968
- [14]Kobayashi, K., & Hsu, M. (2019). Common Neural Code for Reward and Information Value. Proceedings of the National Academy of Sciences, 116(26), 13061–13066. https://doi.org/10.1073/pnas.1820145116
AI利用について この記事は、筆者とGPTの実際の対話から生まれた問題意識をもとにしています。日本語の初稿と出典照合はGPTの支援で作り、Claude(Anthropic)が監査しました。英語版はClaudeが書き、このQiita版はClaudeが同じ出典から構成を組み直して起草しました。3章の式、各表、9章のYAML、10章の指示文の例はQiita版で加えたもので、効果は測っていません。人間の認知との対応づけは機能的な設計上の類推で、脳とAIが同じ機構で動くという主張ではありません。採否と公開の責任は筆者にあります。