まず、「トークン」についてタンクと水の関係で考えました。
そして次に前回まで2回かけて、タンクの管理方法について、「チャット」を人間とAIのやりとりの関係で考えてきました。
そして、残りの課題である「トークン」記事で触れた、なんで溢れずに、次のプロンプトを入れることができるのか。そのことを考えていきましょう。
一応、初めてこの記事を見た方のために、前回のトークンと水とタンクの例示の記事を張っておきます。
もうひとつの課題
なぜ、タンクにどんどんプロンプトを入れられるのか
普通にタンク(チャット)に水(トークン)を入れ、満杯になると、入り口から明らかに入らない状態になります。
でも、実際にタンクを使うと、入れることができます。
イメージで言うと、自分が入れる瞬間なぜかタンクに吸収されている感じです。
そして、AIの回答も溢れずにギリギリでなぜかピタリと止まってセーフになります。
これは、トークン回の最後で触れている、
「トークン」とは。「AIの脳が人間の文字を直接扱えないから数字に置き換えている」のだけれども、その副次的効果として、ちゃんとその順番を覚えることができ、容量を超えないように、AIサービス側が今回AIに渡す情報の範囲を調整します。その結果、古いやり取りが今回の参照範囲から外れることがあります。
この性質が効いているからです。
そして、その状況は底に出口の栓があるタンクなので、栓の管理は、AI会社それぞれが自分たちの会社の基準なりで管理をしているのです。
イメージで言うと以下の図のような感じです。

タンクの実際の挙動
事例で考えて整理
ここからは、チャット全体の保存量ではなく、AIが一回の回答で扱える情報量に注目して考えます。
5リットルのタンクを準備しました。
あなたは、そこに500mlの水を入れました。
そうしたら、たまたまAIは500mlの回答を返しました。
この1回のラリーで1リットルです。
しかも、これが層になっています。
タンクの一番下にあなたの500ml。その上にAIの500ml
まずここまでを整理すると、こんなイメージ。
タンクの下から、1回目のあなたの500ml。その上にAIの500ml。さらにその上にあなたの2回目の500ml。その上にAIの500ml・・・そして、AIが5回目で返した500mlで縁ギリギリ。満杯状態。
では、なぜさらにプロンプト=トークンが入るのか。
これは、先ほどの図のタンクの管理が、ちゃんとAI会社で行われているからです。
続きにいきましょう。
また、500mlの水(プロンプト)を入れましょう。
そうすると、満杯状態なので、入りません。
よってAI会社は栓のコントロールをします。

AIが今回の回答で参照する範囲から外れる、というイメージです。
これで、なんとかあなたの水が入りました。
でも、当然AIがその質問なりに回答をしようとします。
なので、またAI会社が栓のコントロールをします。

これで、なんとか満杯状態でもキープしながら、一連のラリーを終えることができました。
そうすると、このまま栓を開けっぱなしにするとどんどん漏れていきます。
なので、AI会社はその栓を元に戻します。

整理をしましょう。
AIのデータを入れる入れ物(チャット)はタンク。しかも、栓が底にある。その栓をAI会社が適切に管理しているから、古いものから捨てることができる。
なぜ、捨てることになるのか
タンクには容量がある
捨てることになってしまうのは、当然容量が関係しているからです。
つまり、容量が5Lのタンクに、それ以上入れようとするから捨てることになります。
すごくAI理解について、超重要なことをお話しします。
AIが一回の回答を作るときに扱えるタンクの容量。
これを「コンテキストウィンドウ」と呼びます。
つまり、タンクの容量が5Lというのは、チャットのコンテキストウィンドウが5Lということなのです。
よって、このコンテキストウィンドウが10Lのチャットの場合、当然5Lのコンテキストウィンドウよりこの単純化した例では倍長持ちします。
最初の図で言うとこのようになります。

コンテキストウィンドウの仕組み
コンテキストウィンドウの仕組みを理解すること
一度見ていただいた図をご覧ください。

でも、よく見てください。
左上の女性が何か言っています。
「新しい回答が返ってきた。でも、なんだか最初の頃と少し違うような…」
きっと、彼女は最初に似た質問をしたのでしょう。
でも、返ってきた回答はちょっとずれている。
これは、前に説明した“いろいろな話題を混ぜたときの変な回答”とは、原因が違います。
今回は、同じ話題だけを続けていても起きます
では、次回はこのタンクの仕組みによるメリットやデメリットを中心にお話をします。
また次回の記事でお目にかかりましょう。
次の記事はこちら
