AIのメモリとは?会話履歴・長期記憶・学習の違い

30秒でわかる答え

AIのメモリは、過去の情報を後で使えるように保持し、取り出す仕組みです。記録の保存、今回の入力への追加、回答での利用は別の段階であり、保存しただけで毎回正しく使われるとは限りません。

前の会話で「比較するときは表で見たい」と伝えたのに、次の会話では文章だけが返ってきた。AIが忘れたように見える場面ですが、確認する場所は一つではありません。その希望は保存されたのか。保存先から取り出されたのか。そして、今回の回答に使われたのか。この三段階を分けると、仕組みが見えてきます。

AIのメモリとは、後で使う情報を保存し取り出す仕組み

AIのメモリは、過去の情報を後の処理で使えるように保持し、必要に応じて取り出す仕組みです。 会話の履歴、利用者の希望をまとめた記録、作業の進み具合などが対象になります。

ただし、「メモリ」という名前の単一の装置が、すべてのAIに付いているわけではありません。ここでは、AIアプリが情報を残して再利用する仕組みを扱います。パソコンのRAMの容量や、製品ごとの設定画面とは分けて考えます。

引出しにメモをしまうと、机を片づけた後にも読み直せます。一方、しまっただけでは今の机の上にある資料にはなりません。AIでも、保存されている情報と、今回モデルに渡された情報は別です。

ユイ

前に言ったことが残っていれば、次もそのまま使えると思ってた

ピコ

引出しに残したメモを、今回は机に出したかな。まずそこを分けてみよう。取り出した後に、答えへどう使ったかも確かめられるよ

では、今開いている会話と、引出しに残す情報はどう違うのでしょうか。

今の会話で読める情報と、別に保存する情報の違い

モデルは、今回の処理に渡された入力を使って回答を作ります。その入力には、新しい質問だけでなく、過去のやり取りや検索結果などを含めることもあります。このとき参照できる情報のまとまりがコンテキストです。

同じ会話のやり取りを保持する仕組みは、短期メモリと呼ばれることがあります。会話をまたいで再利用する利用者の希望や記録は、長期メモリと呼ばれます。この短期・長期は用途や範囲の区別であり、「何時間で消える」という共通の期限ではありません。

画面に長い履歴が残っていても、その全文をモデルへ毎回渡しているとは限りません。入力できる量には上限があり、アプリが履歴の一部を選んだり、要約したりする場合があります。保存期間と、今回読める範囲を混同しないことが大切です。 この量の上限を表すコンテキストウィンドウでは、履歴や資料と回答が使う枠を比べられます。

長期メモリも、保存されるだけでは今回の回答へ届きません。別の会話で再利用する例を、三つの状態に分けて見てみましょう。

保存したメモは、いつ・どうやって回答に使われる?

架空のAIアプリで、前の会話に「比べるときは表がよい」という希望を伝えたとします。次の会話で、新たに「二つの展示案を比べて」と頼みます。以下は製品の実測結果ではなく、情報の通り道を比べる教材です。

新しい質問:「二つの展示案を比べて」

1. 記録を残さない

保存先
前の希望なし
今回の入力
新しい質問と展示案
分かること
前の希望を参照できない

2. 保存だけする

保存先
「比べるときは表がよい」
今回の入力
新しい質問と展示案だけ
分かること
希望は残ったが、今回は渡していない

3. 取り出して渡す

保存先
「比べるときは表がよい」
今回の入力
質問と展示案 + この希望
分かること
希望を参照して回答できる状態
架空のアプリの比較です。3でも希望を必ず正しく使うとは限りません。1や2で表が返ってきても、前の希望を参照したとは限りません。

この例では、アプリがまず希望を記録として残します。次の質問を受けたら、比較に関係する記録を選び、モデルの入力に加えます。そこで初めて、モデルがその希望を今回の回答に使える状態になります。

取り出し方は一つではありません。決まったプロフィールを毎回加える設計も、質問に合う記録を検索する設計もあります。RAGのように、保存先から関連情報を取得して回答生成へ渡す構成を使うこともできます。

ここで注意したいのは、表で返ってきたという結果だけでは、記録を取り出した証拠にはならないことです。希望を知らなくても、比較に表を選ぶ場合はあります。仕組みを確かめるなら、回答の形だけでなく、保存された記録と今回渡した入力を見ます。

この区別ができると、「会話を残す」「資料を検索する」「モデルが学習する」という似た言葉も整理できます。

会話履歴・RAG・学習済みの重みは何が違う?

見る対象何を残す・変える?今回の回答との関係
会話履歴過去の発言や応答全文や一部、要約を入力へ加えることがある
外部の記録希望、事実、作業状態など必要な記録を取り出して入力へ渡せる
RAG関連資料を取得して回答生成へ使う構成記録を取り出す方法にも使えるが、資料検索全般を扱う
学習済みの重み学習で調整されたモデルの数値回答を生成するモデル自体の性質に関わる

希望を外部の記録に保存することは、モデルの重みを書き換えることではありません。一度伝えた内容が、すべての利用者に共通するモデルの知識へ即座に変わる、という意味でもありません。

なお、会話データが後の学習に利用されるかどうかは、サービスの規約や設定による別の話です。メモリ機能の有無からは判断できません。

人間の記憶にたとえると入口はつかみやすくなりますが、人と同じ仕組みで経験を覚えているとまでは言えません。この記事では、記録の保存先と情報の流れで確かめます。

保存しても毎回思い出すとは限らない理由

期待した情報が反映されないときは、次の順に切り分けられます。

  1. 保存:必要な内容が記録として残っているか。要約で条件が落ちていないか。
  2. 取り出し:今回の質問に合う記録として選ばれたか。別の会話や利用者の範囲を見ていないか。
  3. 利用:入力に含まれていても、回答で見落としたり、古い条件を優先したりしていないか。
「保存したのに表で返ってこない」とき、最初に何を見る?

この教材では、まず保存先に「比べるときは表がよい」が残っているかを見ます。次に、その記録を今回の入力へ加えたかを確認します。両方を満たしていれば、回答の作り方やほかの指示との関係を調べます。保存の失敗と、取り出しの失敗を同じ対策で直そうとしないためです。利用者から内部の記録を見られないサービスでは、公開されている履歴やメモリ管理機能の範囲で確かめます。

記録が使われないことが、いつも失敗とは限りません。この例で「今日は文章で比べて」と新しく頼んだなら、古い希望を固定せず今回の指定を使う設計が考えられます。希望や作業状態は変わるので、記録を残すだけでなく、更新する・使わない・削除する扱いも必要です。

逆に、取り出せたから正確に使えると保証されるわけでもありません。記録自体の誤りや古さと、回答での扱いをそれぞれ確かめます。

記録が増えたら、今の質問に何を渡す?

AIのメモリを見るときは、「何を残したか」「何を取り出したか」「どう使ったか」をたどってみてください。机の外に残せることと、今の机に必要な資料がそろっていることは別だと分かります。

記録が増えると、今度は何を机に載せるかが問題になります。全部を渡せば、古い希望や関係のない話も混ざります。コンテキストエンジニアリングの情報選択では、今の質問に必要な情報を選び、回答に使いやすく整える方法へ進めます。

この記事について

LAB WHITEBOARD

自分の言葉で説明してみよう

「情報の保存・取り出し・回答での利用を分け、会話履歴と学習済みの重みの違いを説明できる。」を、いまの自分の言葉で一文にしてみてください。途中の説明でも大丈夫です。