AIの入力解析と文章生成の仕組み|一瞬のプリフィル・第1語抽選とヴォイニッチ手稿の謎
作成日:

AIの入力解析と文章生成の仕組み|一瞬のプリフィル・第1語抽選とヴォイニッチ手稿の謎


🔧 論旨

チャット欄に「本日は晴天なり」と打ち込んで送信ボタンを押した瞬間、AI の頭の中では一体何が起きているのでしょうか。「人間と同じように 1 文字ずつ順番に読んでいるのかな? それとも 1 文まるごと一瞬で解析しているのかな?」と不思議に思ったことがある方は多いはずです。

結論からお伝えすると、現在の AI は 「読むとき(入力の解析:プリフィル)は全文を一瞬で並列処理し、書くとき(返答の生成:デコード)だけは 1 トークンずつ順番にバケツリレーで作り出す」 というハイブリッド構造で動いています。さらに「どんなに未知の質問でも確率の合計が強制的に 100% になる計算ルール」と「せっかく計算した理解がチャットを閉じると毎回消去される仕組み」を知ることで、ハルシネーション(もっともらしい嘘)の正体から最新の記憶設計までが一本の線で繋がります。

🔧 合わせて読みたい深まる関連情報
🔧 対象となる方
  • AI に文章を送ったとき、「1 文字ずつ読んでいるのか、全文を一瞬で読んでいるのか」 という内部の動きをスッキリ理解したい方

  • AI の返答がパッと全文表示されず、左から右へパラパラと順番に出てくる理由 や「最初の 1 語」が決まる仕組みを知りたい方

  • 学習データにない未知の質問や『ヴォイニッチ手稿』のような未解読文書を投げたとき、なぜ「分かりません」と答える場合と嘘を書き始める場合に分かれるのか が気になる方

読むときは一瞬で書くときは1語ずつのハイブリッド動作

送信文が4ステップで返答に変わる内部の流れ

私たちが「本日は晴天なり」と送信してから画面に返答が並び始めるまで、AI の内部では「1 文字」単位ではなく、よく使われる文字列の塊である 「トークン(Token)」 を最小単位として、次の 4 つのステップを駆け抜けています。

「本日は晴天なり」が処理される4つの内部ステップ
STEP 1
トークン化(塊への分割)

7文字バラバラではなく [本日] [は] [晴天] [なり] のような意味の塊(トークン)へ分割します。

STEP 2
数値化と語順の記録

各トークンを固有IDと数千次元の意味座標(Embedding)に変え、「何番目の言葉か」の位置情報を足し算します。

STEP 3
プリフィル(一括並列解析)

GPUの並列演算で全トークンを同時に照合(Self-Attention)し、1文まるごと一瞬で文脈を把握します。

STEP 4
デコード(1語ずつ逐次生成)

次に続く確率が高い第1トークンを出力し、それを末尾に足して第2トークンを予測するバケツリレーを繰り返します。

ステップ3(プリフィル)までは文全体を一括で並列計算し、ステップ4(デコード)に入ると1トークンずつの逐次生成へ切り替わります。

それぞれの段階で起きていることを、もう少し具体的に覗いてみましょう。

🔧 🔍 入力から出力までの4段階プロセス
  1. トークン化(文字ではなく「塊」に分割) : 送信されたテキストは、入り口の「トークナイザー」という辞書機能によって分割されます。「本」「日」「は」「晴」「天」「な」「り」と 7 文字に刻むのではなく、[本日] [は] [晴天] [なり] のように 4 つ程度の塊に切り分けられます(※実際の分割粒度はモデルの語彙辞書仕様に依存します)。

  2. 数値化(ID 変換・意味座標化・位置エンコーディング) : コンピュータは文字をそのまま計算できないため、たとえば [本日 = 10452] [は = 245] [晴天 = 38910] [なり = 8812](※数値は概念理解のための推論例です)のように辞書番号へ置き換え、さらに「空・明るい・天気」といった意味の方向性を持つ数千個の数値リスト(ベクトル / Embedding)へ変換します。同時に、後続の一括計算で語順が混ざらないよう「1 番目」「2 番目」という位置データもここで加算されます。

  3. 文脈処理(プリフィル:1 文まるごと一瞬で並列解析) : 現在の AI の基盤である Transformer は、入力された全トークンを GPU の並列処理で 同時に一括計算 します。Self-Attention(自己注意機構) が 4 つのトークンを総当たりで照らし合わせ、「『晴天』は『本日』の状態を指している」「『なり』という言い回しから、単なる天気の話か無線・マイク試験の定型文か」といった結びつきの強さを行列計算で一気に算出します。

  4. 出力(デコード:返答だけは 1 トークンずつ順番に生成) : 入力の解析が一瞬で終わると、返答を書くフェーズに移ります。まずは「本日は晴天なり」の直後に続く最初の 1 トークン(例:[マイク])を予測して出力し、次は「本日は晴天なり + [マイク]」の後ろに続く 2 番目のトークン(例:[の])を予測する……というバケツリレーを文末まで超高速で繰り返します。

プリフィルが一瞬で終わりデコードが遅い理由

AI の画面を見ていると、長い資料を貼り付けても「読み取り」は数秒で終わるのに、AI が返事を「書き出す」ときは左から右へパラパラと順番に文字が出てきますよね。このスピード感の差は、「読むとき」と「書くとき」で計算の進め方がまったく違うために生じています。

処理フェーズ内部での専門呼称計算の進み方スピードと負荷の特徴
入力の解析(読む)プリフィル(Prefill)全文を一括・同時に並列計算最初から全文が手元にあるため、数千コアの GPU で一気に同時処理でき非常に高速
返答の生成(書く)デコード(Decode)1 トークンずつ順番に逐次計算「前の 1 語」が確定しないと次の 1 語を計算できないため、出力文字数に比例して時間がかかる
質問するおじさん

なるほどなぁ!読むときは最初から全部の文字が見えとるけん GPU の力技で一発で読めるけど、書くときは自分で 1 語ずつひねり出しながら次を考えるけん、パラパラ順番に出てきとったんじゃね。

解説ナビゲーター

その通りです!では、読むのが一瞬で終わった直後、記念すべき「返答の第 1 トークン(最初の 1 語)」はどうやって選ばれているのか、その決定の瞬間を見てみましょう。


最初の1語はどう決まる?全語彙採点と確率ルーレット

末尾トークンへの文脈凝縮とロジット一斉採点

プリフィルが一瞬で終わった直後、AI が返答の「第 1 トークン」を決めるまでの処理は、「辞書にある数万〜数十万語すべての言葉に対して『次に続く妥当性』を一斉採点し、上位候補の中からルーレット抽選で 1 つを引き当てる」 という 4 段階で進みます。

1 つ目のポイントは 「末尾トークンへの文脈凝縮」 です。「本日は晴天なり」を並列計算し終えた瞬間、入力の最後にある [なり] の位置には、「ここまで『本日は晴天なり』という文脈が来た」という文全体の意味がギュッと凝縮された数値データ(隠れ状態ベクトル)が出来上がります。AI はこの末尾の凝縮データを発射台にして最初の一歩目を計算します。

2 つ目のポイントは 「全トークンへの一斉採点(ロジット算出)と確率変換」 です。凝縮された文脈データを、AI の辞書に登録されている全トークン(モデルによって約 5 万〜 25 万種類)と一気に照らし合わせ、生のスコア(Logits:ロジット)を算出します。さらにそのままの点数では比較しづらいため、全員の確率を足すとちょうど 100%(1.0) になるように変換(ソフトマックス関数)します。

以下は、「本日は晴天なり」の直後に続く第 1 トークン候補の確率ランキングのイメージです(※数値は仕組みを理解するための推論例です)。

順位第1トークン候補予測確率(推論例)AIが想定している文脈の方向性
1 位[マイク]42.0%「マイクのテスト中」という無線・音響試験の定型文
2 位[ただいま]25.0%「ただいまマイクのテスト中」と続くアナウンス表現
3 位[気持ち]15.0%「気持ちのいい青空ですね」という実際の天気への返答
4 位[お出かけ]8.0%「お出かけ日和ですね」といった日常会話の提案
5 位[これは]5.0%「これは有名なマイクテストの言葉ですね」という解説
10 万位[冷蔵庫]0.00001%文脈と無関係な言葉(ほぼ 0% に近い極小の確率)

足切りフィルターと温度が作るAIの個性

確率が出揃ったあと、「じゃあ毎回単純に 1 位の [マイク] を選べばいいじゃないか」と思うかもしれません。しかし、常に 1 位だけを選ぶルール(貪欲法 / Greedy Decoding)にしてしまうと、同じ文を送ったときに 100 回とも一字一句同じ機械的な返答しか返ってこなくなるうえ、長文生成では同じ言い回しの無限ループに陥りやすくなる弱点があります。

そこで実際の AI は、次の 2 つの調整を行ってから確率に応じたルーレット抽選(サンプリング)で第 1 トークンを決定しています。

🔧 🎯 ルーレット抽選を賢く制御する2つのつまみ
  • 足切りフィルター(Top-p / Top-k) : [冷蔵庫] のような極端に確率が低い無関係な言葉が万が一にも当たらないよう、「1 位から順番に確率を足し上げて合計 90%(Top-p = 0.9)に入る上位グループだけを残し、残りの下位候補はすべて抽選から除外する」といった足切りを行います。

  • 温度(Temperature)による確率のならし : ルーレットを回す前に、1 位と 2 位以下の差を調整します。温度が低い(0 に近い)ときは 1 位の [マイク] がさらに強調されて堅実な書き出しになり、温度が高い(1.0 付近)ときは 2 位以下の [気持ち] や [お出かけ] にもチャンスが広がり、自然で豊かな表現になります(※なお最新の推論モデルでは、従来の癖で温度を無理に 0 付近へ下げすぎると内部思考の幅が狭まって精度が落ちる場合があるため、公式推奨の初期値のまま使うのが安全です)。

もし抽選で第 1 トークンとして [気持ち] が引き当てられたら、AI は元の入力の末尾にそれをくっつけて 「本日は晴天なり + [気持ち]」 という新しい文脈を作り、再び同じ手順(全語彙採点 → 確率変換 → 抽選)を回して第 2 トークン([の] や [が])を決定していきます。


未知の文でも確率ゼロにならない強制100%ルール

ソフトマックス関数が引き起こす雪だるま式の嘘

ここで、さらに踏み込んだ疑問が湧いてきます。「本日は晴天なり」のような定番フレーズなら次の言葉も選びやすいですが、人類が過去に一度も会話で使ったことがない「まったく未知の文章」を送ったら、次に続く確率がなくなって止まってしまうのでしょうか?

実は AI の計算ルール上、どんなに未知の文章であっても 「次に続く確率がゼロ(ない)になる」ことは数学的にあり得ず、必ず全トークンの確率の合計が 100% になるように強制配分 されます。

その理由は、先ほど登場したスコア(ziz_i)を確率(PiP_i)へ変換する「ソフトマックス関数(Softmax)」の数式にあります。

Pi=exp⁡(zi)∑j=1Vexp⁡(zj)P_i = \frac{\exp(z_i)}{\sum_{j=1}^{V} \exp(z_j)}

数式が苦手な方もご安心ください。ポイントは非常にシンプルで、分子にある指数関数 exp⁡(zi)\exp(z_i) には 「どんなに低いマイナスの点数を入れても、絶対にプラスの数(0 より大きい値)になり、全候補(VV 個)を足し合わせると必ず合計 100% になるよう引き伸ばす」 という性質があるのです。AI には「確率がないから沈黙する(何も出力しない)」という選択肢が構造上存在しないため、未知の度合いに応じて次の 4 パターンの挙動に分かれます。

入力される文章のタイプ内部の確率分布(山の形)ルーレット抽選の結果(AIの反応)
よくある定型文
(例:本日は晴天なり)
鋭い高い山ができる
(上位の数個に確率が集中)
迷わず定番の返答(マイクテストや天気の挨拶)から書き始める
未知の組み合わせ
(例:紫色のカピバラが量子PCで蕎麦打ち)
中くらいの山ができる
(文法骨格と意味座標から類推)
「主語+道具+行動」の座標から [それは](ユニークですね)等と自然に応じる
未知の造語・デタラメ文字列
(例:ガギグペポ星人の定食)
「確認・聞き返し」に山ができる
(1文字・バイト単位に細分化)
知らない語を細かく分解して未知と判定し、「どのような意味ですか?」と聞き返す
知識がない事実の質問
(例:2026年制定『宇宙そば打ち免許法』第3条は?)
山がなく平らにバラける
(どんぐりの背比べ状態)
ハルシネーションの危険域。「不明です」と答えるか、嘘を書き始めるかの境目になる

一番怖いのが 4 番目の「もっともらしい未知の事実」を聞かれたときです。全員が「1 点、0.8 点、0.5 点…」というどんぐりの背比べになっても、ソフトマックス関数が無理やり合計 100% に引き伸ばしてルーレットを強行します。そのとき、たまたま 1 トークン目で法律っぽい [第3条] を引き当ててしまうと、2 トークン目以降は 「『第 3 条』と書き始めたからには、それっぽい条文を続けなければならない」 という文脈が確定してしまい、最後まで流暢な嘘(雪だるま式のハルシネーション)を書き上げてしまうのです。

質問するおばさん

ちょっと怖い話ねぇ!自信がないなら無理にルーレットを回さんで、素直に「知りません」って言ってくれればいいのに!

解説ナビゲーター

まさにそこを改善するため、現在の賢い AI には「確率の山が平らで確信が持てない状態を検知したら、無理に言葉を繋ぐのではなく『分かりません(不明です)』というトークンの確率を優先的に引き上げる安全装置(アライメント調整)」が組み込まれています。その働きが一番よく分かる実例が、世界一有名な未解読古文書『ヴォイニッチ手稿』です!

ヴォイニッチ手稿で見る「不明」を知る安全装置

1912 年に古書商ウィルフリッド・ヴォイニッチによって発見され、現在もイェール大学のバイネッキ稀覯本・手稿図書館(MS 408)に所蔵されている『ヴォイニッチ手稿』は、実在しない植物の挿絵や占星術風の図とともに未知の文字が記された 15 世紀初頭(放射性炭素年代測定で 1404〜 1438 年頃)の古文書です。

このヴォイニッチ手稿について AI に質問すると、聞き方によって内部の確率の山が劇的に変わります。

質問の仕方で劇的に変わる『ヴォイニッチ手稿』への内部確率
周辺事実の質問
「ヴォイニッチ手稿とはどんな本?」

世界中の研究論文や歴史書のデータが豊富にあるため、[15世紀] [未解読] [イェール大学] といったトークンに 鋭い確率の山 が立ち、判明している事実(自然言語と同じジップの法則に従うこと等)を正確に解説します。

未解読本文の翻訳要求
「手稿の1ページ目を日本語に訳して」

研究用転写テキスト(fachys ykal ar ataiin...)を渡しても正解の翻訳データは存在しません。古いAIは挿絵の知識に引っ張られて「この薬草は…」と創作してしまいますが、現行AIは安全装置が働き [未解読のため] [わかりません] に鋭い山 を作って誠実に回答します。

AIは「中身の意味が分からない(不明である)という事実」そのものを高い確信度で学習しています。

最新PDFで起きる理解の誕生とリセットの無駄

学習後に発表された600年前の製本ミス新仮説

では、AI の事前学習(知識の締め切り)より後に発表された「最新の研究結果」についてはどう動くのでしょうか。

実は 2026 年、学術誌『Digital Medievalist』(Vol. 19)において、マルタ大学のコリン・レイフィールド(Colin Layfield)氏とアメリカ中世アカデミーのリサ・フェイギン・デイヴィス(Lisa Fagin Davis)氏の研究チームが、ヴォイニッチ手稿に関する興味深い新研究(“Singulion Structure and the Voynich Manuscript”)を発表しました。

🔧 📜 2026年『Digital Medievalist』誌で発表された新発見の要点
  • 「約 600 年前の製本ミス」という構造的仮説 : 中世の写本は通常、二つ折りにした羊皮紙を何枚も入れ子に重ねて綴じますが、ヴォイニッチ手稿では「離れたページ同士で植物の絵が連続している」「現在のページ順だと複数の筆記者の筆跡が不自然に入れ替わるのに、独立した二つ折りシート(単葉束:Singulion)単位で見ると同じ筆記者で揃う」という規則性が見つかりました。つまり、もともとバラバラのシート束だったものを、15 世紀の製本時に誤った順番で綴じてしまった可能性が浮上したのです。

  • AI のご先祖様「潜在意味解析(LSA)」による統計実証 : 文字そのものの意味はいまだに未解読(不明)のままですが、単語の出現パターンから文章同士の近さを数値化する 「潜在意味解析(LSA:Latent Semantic Analysis)」 でページの並び順を入れ替えて検証したところ、星のような模様が描かれたセクションなどで隣り合う文章同士の統計的な類似度が向上する結果が示されました。

AI に事前学習の記憶だけでこの最新論文について聞いても、手元にデータがないため「不明です」と止まります。ところが、その記事や論文の PDF をチャットに添付して送信した瞬間、AI はたった数秒で「600 年前の製本ミス仮説」や「潜在意味解析(LSA)」についてスラスラと正確に解説できるようになります。

なぜ脳(モデルの重み)を 1 ミリも再学習していないのに、いきなり最新の発見を理解できたのでしょうか? 答えは第 1 章で見た 「プリフィル(全文一括並列解析)+ Self-Attention」 にあります。

自己注意機構が単語を繋ぎ文脈を作る3段階

PDF を送信した瞬間、裏側では「文字をただ数値に置き換えただけの無理解な状態」から、Self-Attention によって「文脈の理解」が生まれる次の 3 段階が 0.数秒〜数秒のうちに一気通貫で走っています。

  1. 第 1 段階(数値化:まだ何も理解していない単語カード) : PDF 内の [600年前] [製本] [読む] [順番] [間違っていた] というトークンをベクトルに変換した直後は、机の上に辞書通りの単語カードがバラバラに並んでいるだけで、「何が間違っていたのか」の繋がりはゼロです。
  2. 第 2 段階(Self-Attention:質問と照合による意味のブレンド) : すべてのトークンが一斉に周囲へ問いかけます。たとえば [間違っていた] が「私の主語は誰ですか?(Query:検索)」と投げかけ、文中の [順番] が「私です!(Key:照合)」と強く反応し、お互いの数値データ(Value:意味)を足し合わせます。これを何十層も繰り返すことで、ただの [順番] だった数値が 「約 600 年前に羊皮紙を製本した際に誤って重ねられた、ヴォイニッチ手稿の読む順番」 という特別な文脈ベクトルへと生まれ変わります。
  3. 第 3 段階(即席の確率山の誕生) : 人間のように心で感心しているわけではありませんが、入力文脈の中に強い結びつきが完成したことで、デコード時に [製本ミス] や [潜在意味解析] というトークンの確率が一気にトップへ跳ね上がり、正確な解説が出力されます。

奇しくも、ヴォイニッチ手稿の製本順序ミスを統計で見抜いた「潜在意味解析(LSA)」は、AI が言葉を数値ベクトル(Embedding)として扱う技術の直接のご先祖様にあたります。意味が分からなくても数値の結びつきから構造を浮かび上がらせる同じアプローチが、600 年前の古文書解析と現代の AI の両方で動いているのは実に面白い符合ですね。

チャットを閉じると計算結果が消える構造的課題

しかし、ここに現在の AI が抱える 最大の「もったいなさ(構造的課題)」 があります。

せっかく膨大な GPU パワーと電力を使って PDF 全文から緻密に計算し上げた Self-Attention の理解データ(KVキャッシュ)は、そのチャットを閉じて新しいチャットを開いた瞬間に、きれいさっぱりシュレッダーにかけられて完全消去されてしまう のです。

AI内部における『固定された脳』と『使い捨ての作業机』
モデルの重み(ROM)
読み取り専用の基礎頭脳

何兆語もの事前学習で作られたパラメータです。他ユーザーへの情報漏洩や知識バランスの崩壊(破滅的忘却)を防ぐため、普段のチャット中は 完全にロック(Read-Only) されており、1ミリも書き換わりません。

KVキャッシュ(RAM)
チャット限定の揮発性作業メモ

Self-Attentionが導き出した理解データです。同じチャット内では保持されて続きを話せますが、別チャットに移るとリセット されます。IDEの /brain やメモリ機能も、実はテキストメモを毎回先頭に貼り直して再計算しているだけです。

現在のAIは推論中に本体の脳(重み)を書き換えないため、新しいチャットを開くたびにゼロから再計算が発生します。
ノルウェージャンフォレストキャット

せっかく一生懸命読んで理解したのに、お部屋(チャット)を変えたら全部忘れてまた 1 ページ目から読み直しなんて、電気代も時間もすごくもったいないでちぃ!

解説ナビゲーター

本当にその通りなんです!この「毎回ゼロから再計算して捨てる無駄」をなくすため、一定時間 KV キャッシュを冷凍保存する「コンテキスト・キャッシング」や外部検索の「RAG」が使われていますが、さらにその先を行く 「昼間は KV キャッシュと /brain で高速に働き、人間が寝ている夜間に個人用の脳(LoRA)と SQLite 台帳へ記憶を仕分け・定着させる『AI の睡眠学習』」 という次世代設計が今まさに最前線で進んでいます!

この「忘却ゼロ・再計算ゼロ」を実現する次世代の長期記憶アーキテクチャについては、続編の AIの「睡眠学習」と長期記憶設計|KVキャッシュ忘却を超えるSQLite・複数LoRA統合術 で具体的な SQL 設計とパイプラインまで徹底解剖しています。


まとめ:AIの読解と生成のクセを味方につけよう

AI が「読むときは全文を一瞬で並列計算(プリフィル)し、書くときは第 1 トークンから確率ルーレットで 1 語ずつ繋いでいく(デコード)」という内部動作を知っておくと、日々のプロンプトの書き方も驚くほど的確になります。

🔧 ✅ 内部の仕組みから導かれる実践プロンプト術3選
  1. 知らないことは「不明」と答えてよい逃げ道を作る : AI はソフトマックス関数の強制 100% ルールによって、知識がない質問でも無理やり第 1 トークンの抽選を回そうとします。事実確認を頼むときは 「確証がない場合は推測で補わず『不明』と明記して」 と一言添えるだけで、[不明] トークンの確率の山を高く引き上げて雪だるま式の嘘を防げます。

  2. 最新情報や前提資料は「URL 任せ」にせずテキストや PDF で直接渡す : 外部サイト側のアクセス制限で本文が取得できないと、AI の手元には空っぽの文脈しか残りません。確実に読ませたい一次資料はテキスト貼り付けや PDF 添付で直接プリフィルに乗せるのが一番確実です。

  3. 話題が変わるときは思い切って「新規チャット」に切り替える : 同じチャットを延々と続けると、過去の無関係なやり取りの KV キャッシュまで毎回 Self-Attention が参照し続けてノイズになります。引き継ぎたい結論だけを短いメモにして新しいチャットへ移す方が、計算も速く回答の切れ味も蘇ります。

ぜひ今日からの AI とのやり取りで、「いま全文を一瞬でプリフィルしたな」「ここから 1 トークンずつルーレットを回しているな」と裏側の動きをイメージしながら使いこなしてみてくださいね!

じっとこちらを見つめて次の言葉を待っているノルウェージャンフォレストキャット

▲ 最初の 1 トークンで「おやつ」が出る確率を 100% にして待ってるでちよ!