GENAI-RON 🧠生成AI論🥦

生成AIのしくみ 01

記憶はどこにあるのか

生成AIの記憶は、人間の記憶やPCの保存とは違う。モデル本体、会話文脈、保存メモリ、外部ツールを分けて考える。

生成AIの記憶とは、保存された過去ではなく、現在に再投入される条件である。

はじめに

ChatGPTと何度も話していると、「このAIは自分のことを覚えている」と感じることがある。

前に話した仕事の進め方を踏まえてくれる。自分の文体や関心に合わせて返してくれる。過去の会話で出てきたテーマを、次の会話でも自然に持ち出してくる。

では、生成AIは本当に「記憶」しているのだろうか。

ここでいう記憶は、RAMやEPROM、磁気テープ、磁気ディスク、光学ディスクのように、どこかの物理媒体にデータを保存するという意味の記憶ではない。

もちろん、物理的にはモデルのデータもサーバ上の記憶装置に保存されている。しかし、生成AIを使う上で重要なのは、物理媒体としての保存ではなく、次の問いである。

生成AIは、応答を作るときに何を参照しているのか。そして、何が強く作用しているのか。

この問いに立つと、生成AIの「記憶」は、ひとつの箱ではなく、複数の層が重なったものとして見えてくる。

1. 生成AIの記憶は、ひとつではない

生成AIの「記憶」と呼ばれているものは、少なくとも四つに分けられる。

第一に、モデル本体の重みがある。これは、大量のテキストを学習した結果として作られた、言葉や概念の反応傾向である。

第二に、現在の会話文脈がある。いま開いているチャットの履歴や、直近の指示が、応答を作るときの入力として使われる。

第三に、保存メモリがある。ChatGPTのMemory機能のように、ユーザーの好み、作業方針、継続的な関心などを、会話とは別に参照する仕組みである。

第四に、外部ツールや外部ファイルがある。Notion、Google Drive、Gmail、GitHub、Web検索、アップロードファイルなど、モデルの外側にある情報源である。

これらはすべて「覚えている」ように見える原因になる。しかし、それぞれ仕組みが違う。

ここを混同すると、生成AIの挙動を誤解する。

2. モデル本体の記憶は「保存」ではなく「傾向」である

AIの本体には、学習によって身についた言葉の傾向がある。技術的にはこれを「モデル重み」と呼ぶが、ここでは「AIの中にしみこんだ言葉の傾き」と考えればよい。

たとえば、人間が「フランスの首都はパリ」と覚えるとき、私たちはひとつの知識を頭の中に保持しているように感じる。

しかし、LLMの場合、モデルの中に「フランスの首都=パリ」というカードが一枚保存されているわけではない。

大量のテキストを学習した結果として、「フランス」「首都」「は」という文脈が与えられたときに、「パリ」という語が出やすくなるような数値的構造が形成されている。

つまり、モデル本体の記憶は、データの保存というより、反応可能性の地形に近い。

これは倉庫ではない。むしろ坂道である。

ある言葉を置くと、次に出やすい言葉の方向へ転がっていく。その転がり方の癖が、学習によって作られている。

だから、生成AIは知識を「取り出している」というより、その場の文脈から「それらしい応答を生成している」。

3. 会話文脈は、思い出しているのではなく、読み直している

ChatGPTが直前の発言を踏まえて返してくるとき、私たちは「さっきのことを覚えている」と感じる。

しかし、より正確には、モデルが内面的に会話を保持しているのではない。現在の応答を作るとき、過去の会話履歴や関連情報が、入力として渡されている。

つまり、覚えているというより、読み直している。

これは人間の短期記憶に似て見えるが、同じではない。人間は昨日の会話を自分の記憶から思い出す。生成AIは、必要な文脈をその都度入力として受け取り、その中から次の応答を作る。

この違いは大きい。

会話が長くなるほど、入力される情報は増える。プロジェクト設定、過去の会話、ユーザーの直近指示、アップロードファイル、外部ツールの仕様が同時に入ってくることもある。

すると問題は、「何を覚えているか」だけではなくなる。

どの文脈が、いまの応答に強く作用しているのか。

ここから、記憶の問題は、文脈の力学の問題へ変わっていく。

4. 保存メモリは、モデル本体とは別の参照情報である

ChatGPTには、ユーザーの好みや継続的な情報を保存・参照するMemory機能がある。

これは、モデル本体の重みとは別の仕組みである。モデルそのものが、そのユーザー専用に毎回学習し直されているわけではない。

むしろ、応答を作るときに、保存されたユーザー情報が補助文脈として渡される、と考えた方が分かりやすい。

たとえば、ユーザーが「私は短い箇条書きより、文脈のある説明を好む」と伝えていたとする。その情報が保存メモリやカスタム指示として参照されれば、次の応答はその好みに合わせて生成されやすくなる。

ここでも、記憶は「どこかにしまわれた過去」ではない。

記憶は、現在の応答を作るための条件として再投入される。

5. 外部ツールは、記憶ではなく行為可能性である

Notion、Google Drive、Gmail、GitHub、Slack、Dropbox、Web検索などは、モデル本体の記憶ではない。

それらは、必要に応じて読みに行く場所であり、場合によっては書き込みに行く場所である。

人間にとってのノートや本棚に近いが、生成AIにとっては少し違う。生成AIにとって外部ツールは、単なる保存場所ではなく、世界へ手を伸ばす経路である。

Notionにページを作る。Google Driveの資料を探す。Gmailの内容を確認する。GitHubのIssueを読む。Webを検索する。

こうした行為は、モデルの内部記憶から答えを出しているのではない。外部環境へアクセスし、その結果を現在の文脈に取り込んでいる。

だから外部ツールは、記憶というより、行為可能性である。

ただし、ここにも注意が必要である。

ツールが存在すると、モデルは「使える」と判断する。ツール名が会話に何度も出ると、それが次の行動候補として浮上しやすくなる。ツール仕様が長ければ、それを読むこと自体が文脈を圧迫する。

つまり、外部ツールは中立ではない。

ツールは、生成AIの行動を誘導する経路でもある。

6. 生成AIの応答は「記憶の再生」ではなく「条件の合成」である

ここまでをまとめると、生成AIの応答は、保存された答えを取り出しているのではない。

応答は、その場で合成されている。

そこには、複数の条件が関わっている。

モデル本体の重み。現在の会話文脈。保存メモリ。カスタム指示やプロジェクト設定。外部ファイル。外部ツール。直近のユーザー指示。

これらが同時に働き、その時点での応答が生成される。

だから、生成AIの記憶は、過去をそのまま保存する装置ではない。

生成AIの記憶とは、現在の応答を生成するために再投入される条件群である。

この見方をすると、ChatGPTの挙動がかなり理解しやすくなる。

なぜ、前に話したことを覚えているように見えるのか。なぜ、同じ指示をしても別の動きをするのか。なぜ、設定したはずのルールが、ときどき直近の文脈に負けるのか。なぜ、AIが余計なツールを呼びに行くことがあるのか。

それらは、単なる気まぐれではない。複数の条件が、その場で合成されているからである。

7. 使いこなすとは、記憶を信じることではない

生成AIを使うとき、人間はつい「覚えているか/忘れているか」で考えたくなる。

しかし、実用上はそれだけでは足りない。

重要なのは、次のように考えることである。

何がモデル本体に由来するのか。何が現在の会話文脈に由来するのか。何が保存メモリに由来するのか。何が外部ツールやファイルから来ているのか。何が直近の指示に引っ張られているのか。

生成AIを使いこなすとは、AIの記憶をただ信じることではない。どの条件が応答に作用しているのかを見分け、必要に応じて文脈を設計し直すことである。

その意味で、よいプロンプトとは、単なる命令文ではない。生成AIが参照する条件を整える、作業環境の設計である。

次回は、この問題を「プロンプトは命令なのか、環境なのか」という切り口から考える。

設定プロンプト、会話文脈、ユーザーの直近指示、外部ツールの仕様。それらは、どのような力関係で応答を形づくるのか。

生成AIのしくみを理解するとは、AIの内側だけを見ることではない。AIの外側に広がる文脈と道具の配置まで見ることである。

中心フレーズ

生成AIの記憶とは、保存された過去ではなく、現在に再投入される条件である。

参考リンク

シリーズ内ナビ

より詳しく知りたい人へ

技術詳解版では、モデル重み、context window、memory、外部ツール、RAG などの関係を、より技術的に整理する予定です。