LLMって何ですか、と聞かれて言葉が止まる方へ — オートコンプリートが突き抜けた話

📍 AIのしくみ地図 — 4/29章
この記事はAIの基礎からMeta-Harness·応用比較まで順に読む全29章シリーズの4章目です。
📚 全体地図を見る

LLMって何ですか、と聞かれて言葉が止まる方へ — オートコンプリートが突き抜けた話

「LLMって何ですか?」

誰かにこう聞かれたとき、
頭の中では答えが浮かんでいるのに
口に出すとうまく出てこない、あの感じ、
一度くらい経験されたことがあるはずです。

ChatGPTを2年、Claudeを1年以上使っていても、
いざ言葉で説明しようとすると妙にこじれてしまうのが、この概念です。

この記事をひとつ読み終えたら、友達でもチームメンバーでも、誰に聞かれても 「オートコンプリートが突き抜けたもの」 というひとことで気持ちよく切り出せるように、そこから一段ずつ積み上げていきます。

順番はこうです。

  1. スマホのオートコンプリートと何が違うのか
  2. トークン」っていったい何か
  3. なぜたまに意味の通らない答えを返すのか
  4. モデルの中には実際に何が入っているのか
  5. 学習と推論の違い
  6. LLMが「わからないこと」
  7. なぜLLM単体ではエージェントになれないのか

ゆっくり進みます。


1. まずはスマホのオートコンプリートと比べるのが一番早い

オートコンプリートの縮小版 vs 究極版
SHRUNK
📱 携帯のオートコンプリート
たった今入力した2〜3文字だけを見る
1つの候補を出して終わり
FULL
💡 LLM
数万トークン全てを見る
次のトークン → 次 → 次 …
1文・1段落・1ページを繋いで書く

スマホで「こんにち」まで打ったら「は」がポッと出てくる、あれを使われていますよね。

あれがまさにLLMがやっていることの ミニチュア版 です。本当に縮小版です。比喩ではなく、仕組みが同じなんです。

ただしLLMはそのオートコンプリートを:

  • ずっと長い文脈まで読み
  • ずっと広い知識の中から選び
  • ずっと細かい次の単語を予測します

スマホは直前に打った2〜3文字しか見ませんが、LLMはこの会話全体、さっき添付したファイル全体、システムプロンプト全体まで全部見ています。

スマホは「は」をひとつ提案して終わりですが、LLMはその「は」の次に「。」、次に「私は」、次に「昨日」、次に「会議で」… という具合につなげて、一文、一段落、一ページを生み出していきます。

つまりLLMがやっていることを一行にまとめると:

「次に来る言葉を予測すること。」

これがすべてです。本当に。

最初に聞くと、ちょっと裏切られた気持ちになりますよね。私もそうでした。「それだけ? そんなことしかしてないの?」と思うわけです。

ところがこの「そんなことしかしないマシン」がコードを書き、メールを書き、論文を要約し、友達のように返事をくれます。

なぜそれができるのか。

それは、「次の単語を当てるゲーム」を極限までうまくこなすには、世界に対するモデルをまるごと頭の中に入れ込まないといけないから なんです。

考えてみてください。

「猫は毛のある ___」の次に来る単語を当てるには、猫が何かをわかっていないといけませんよね。

「Pythonでリストの最後の要素を取り除く方法は my_list.___」の次に来るものを当てるには、Pythonの文法を知っていないといけませんよね。

「この患者の症状は発熱、咳、呼吸困難で、考えられる診断は ___」の次を当てるには、医学をある程度知っていないといけませんよね。

だから 「次の単語予測」を膨大なテキストに対して無理やりうまくこなせるようにしていったら、そのマシンは言語、コード、論理、知識、口調までぜんぶ学習してしまった、というわけです。

意図してそうしたのではなく、副作用 としてそうなったんです。

これがLLMの不思議な点です。

ⓘ 「じゃあLLMはどうしてそんなに多くを学習できるの? これってTransformerとどう関係するの?」と気になってきたら、👉 F2. Transformer 構造F4. Attention Is All You Need 解説 へ進んでください。この記事では「どう作るか」はいったん置いておいて、「今やっていることは何か」だけに集中します。


2. で、「トークン」って何?

LLMの話を読んでいると「トークン」という言葉が何度も出てきます。

これを「単語みたいなものでしょ」と流してもそんなに困りません。でも、もう少し正確につかんでおくと、後で道に迷いにくくなります。

トークンとは 「モデルが一度にのみ込む一切れ」 のことです。

単語ひとつのこともあれば、単語の半分のこともあり、一文字だけのことも、数文字のかたまりのこともあります。

たとえば英語の「unbelievable」はたいてい un + believ + able — トークン3個に分かれます。

「apple」はそのまま apple — トークン1個。

日本語の「自動補完」はだいたい + + + で、トークン4個前後になります。(英語より日本語のトークン効率が悪い理由がここにあります。)

なぜこんな切り方をするのか。

単語単位だけで切ると、新しい単語が出てきたときにモデルにとって初見の文字列になってしまいます。アルファベット1文字ずつに切ると、細かすぎて学習が遅くなります。

そこで 「よく一緒に並ぶ文字のかたまりは1つにまとめ、まれな組み合わせは切り分ける」 という中間点を選んだわけです。

この方式の名前がBPE(Byte Pair Encoding)です。覚える必要はありません。「トークンは単語よりちょっと小さい単位」とだけ覚えておけば十分です。

つまりLLMから見た世界はこんなふうに見えています:

入力: [, , , , , , , …]
作業: このあとに来る次のトークンは何?
出力:
次の作業: [, , , , , , , ] → 次は? →

この過程を 1トークンずつ 繰り返しながら文を作っていきます。

つまり、あなたが「ChatGPTが返信中」を眺めているとき、その相手は単語ではなく トークンを1個ずつ吐き出している最中 なんです。カーソルが点滅しながら1トークンずつ出てくる、あの体験そのままです。


3. 確率ゲームだから、たまに意味の通らない答えが出る

ここからが 「LLMはなぜたまに変なことを言うのか」 への答えです。

LLMが次のトークンを選ぶとき、1個だけを見ているのではありません。

毎回、数万個の候補トークンに対して 「こいつが次に来る確率は何パーセント」 という表を作ります。

だいたいこんな感じ:

「今日は天気が と」の次に来るトークンの確率:
  て  — 42%
  っ  — 18%
  き  — 12%
  て  —  7%
  ...
  (残り数万トークンに0.x%ずつ分散)

その中からひとつを選びます。

ただし、常に1位を選ぶわけではありません。常に1位を選ぶと答えが単調になりすぎます。(全員に同じ答えを返すロボットになってしまいますよね。)

だから 確率に応じてランダムに 選びます。(ここに付くパラメータが temperature と呼ばれるものです。上げるほど確率の低いトークンも選ばれやすくなります。)

ここで大事なポイント:

LLMは「正解」を計算していません。「もっともらしい次のトークン」を確率で引いているだけです。

この一行が、ハルシネーション(hallucination)がなぜ起きるかも説明してくれます。

モデルから見ると「存在しない論文タイトル」も、統計的には とてももっともらしい文字列 です。「Smith et al., 2019 — A Comparative Study of…」は論文タイトルとして確率が非常に高いパターンなので。

だからLLMは その論文が実在するかどうかは知らないまま 論文風の文字列を生成してしまいます。

これはバグではありません。LLMがもともとやっている仕事の、素の姿なんです。

LLMは 事実検証器 ではありません。もっともらしさ生成器 です。それを混同して使っているわけです。

では「もっともらしいもの」がどうして「だいたい正しいもの」になるのか。学習データが十分に大きいとき、もっともらしい文 = おおむね事実である文 という相関が強く張り付くからです。

でも相関は因果ではありません。だからたまに もっともらしいけれど間違っている答え が出てきます。

これを知ってLLMを使うのと、知らずに使うのは本当に違います。

知って使う側は:
– 重要な事実はLLMの回答ではなく原典を直接確認し
– 引用の出典を強制して検証ループを付け
– 創作・ブレインストーミングのように、もっともらしさそのものが価値になる作業に主に使います

知らずに使う側は:
– LLMが作った偽の引用をそのまま論文に貼り付けて痛い目を見ます


4. モデルの中には実際に何が入っているのか

ここで一番よく混乱されるのが、「じゃあGPTやClaudeの中にはWikipediaがまるごと入ってるんですか?」という質問です。

違います。

モデルの中に実際に入っているのは パラメータ(parameter) または 重み(weight) と呼ばれる、数百億から数兆個の数字です。

GPT-3が1,750億個(175B)のパラメータを持つ、GPT-4は1兆個を超える、Claudeは何B… という話を耳にされたことがあると思います。これらの数字がモデルのすべてです。

比喩をひとつ。

人間の脳にはおよそ1,000億個のニューロンがあり、そのニューロンどうしの間に数百兆個のシナプスがあります。シナプスごとに「この方向に信号がどれくらい強く流れるか」の強度が設定されています。

何かを学ぶとき、脳は新しいニューロンを作るのではなく 既存のシナプスの強度を少しずつ変えます。

LLMのパラメータも似ています。パラメータ1つは 「この入力信号を次の層へどれくらい強く送るか」の数字 ひとつです。

モデルを学習させるというのは、この数百億個の数字を、ごくゆっくり、少しずつ調整していく作業です。

大事なのはここです:

学習済みLLMの中には、「事実」がまるごと保存されているわけではありません。
「入力がこんな形のとき、出力がこんな形になるようにする数字の組み合わせ」だけが保存されています。

これがなぜ重要かというと、LLMのハルシネーションと知識の区別がこの構造から出てくるからなんです。

  • 「フランスの首都」のように学習データに繰り返し頻繁に出てきたパターン → パラメータが強く「パリ」の方へ傾いている → ほぼ外さない
  • まれな人物、まれな論文、まれな地域情報 → パラメータが弱く複数の答えに分散 → もっともらしいけれど間違った答えが混ざる

LLMは「記憶」ではなく「圧縮されたパターン」です。

だから同じモデルでもプロンプト次第で答えが変わり、非常に具体的な事実を聞くと外し、非常にありふれたパターンを聞くとほとんど外しません。

ⓘ パラメータをどうやってそんなに細かく調整できるんですか? それが学習過程で、詳しい話は 👉 F6. 学習とは何か で「霧のかかった山を下りる」比喩を使って解説します。


5. 学習 vs 推論 — 料理を覚えることと料理することの違い

LLMを理解するうえで、もうひとつ重要な区別が 「学習(training)」と「推論(inference)」 です。この2つはまったく別の作業です。

比喩:

  • 学習 = 料理を初めて習う過程。数千ものレシピを見て、数千回失敗しながら「この食材にはこの調味料」という感覚を作っていく段階。
  • 推論 = すでに感覚が身についた人が実際に料理する過程。冷蔵庫の食材を見て、すぐ何を作るか決めて、作る。

LLMもまったく同じです。

学習ステージ:
– インターネット、本、コード、論文など、ものすごい量のテキストをモデルに通す
– モデルに「次のトークン」を予測させる
– 外したら数百億個のパラメータをごくわずかに直す
– これを数兆回繰り返す

これが数ヶ月、数千万ドル単位かかります。巨大なGPUが必要です。

推論ステージ:
– すでにパラメータが固定されたモデルを使う
– あなたがプロンプトを入力する
– モデルはパラメータを一切いじらず、そのプロンプトに対する次のトークンを予測する
– あなたに答えを渡す

こちらはずっと軽いです。GPU1枚、なんならCPUでも動きます。

大事なポイント:

あなたがChatGPTやClaudeと会話しているとき、そのモデルは 学習していません。 推論しかしていません。

あなたが今日ChatGPTに何かを教えても、明日別の人が同じ話題を聞いたら、そのモデルはあなたが教えたことを覚えていません。

モデルのパラメータが固定されているからです。

これが 「LLMには記憶がない」 の技術的な意味です。

だから長期記憶のように見えるものが必要なときは、retrievalmemory adaptation のような別の仕組みを外側に付けることになりますが、それは別の記事で扱います。

ⓘ 「でも会話中は覚えてくれますよね?」その通りです。でもそれは、会話全体を毎回プロンプトに入れて見せ直す方式なんです。チャット窓を新しく開くとすべて消えます。👉 M2. Long-context / Memory で詳しく扱います。


6. LLMが「知らないこと」

LLMができることだけを見ていると感心してしまいます。だからLLMをうまく使うには 「何ができないか」 を正確に知っておく方が大事なんです。

限界を4つだけ整理します。

(1) 最新情報を知らない

LLMのパラメータは、学習が終わった時点のスナップショットです。学習が終わったあと世界で起きたことは、モデルの中にありません。

「今日の天気はどう?」と聞いても、LLMは今日が何月何日かさえ知りません。これを解決するには外部検索やツールを付ける必要があります。

(2) 本当にまれな事実は混ぜる

さっきのパラメータの話そのものです。ありふれたパターンはよく当てますが、希少な事実はもっともらしく創作してしまいます。これがハルシネーション(hallucination)です。

重要なのは「ハルシネーションをゼロにはできない」という点です。どんなに大きなモデルでもこれを完全に消すことはできません。構造的に持っている性質 だからです。

そこで実務では「ハルシネーションを減らすために外部retrievalを付け、事実ベースの作業には必ず検証ループを回す」という形で 回避 します。

(3) 長い工程を自分で引っ張れない

LLM単体で長い作業をやらせると、途中で道に迷ったり、最初の指示を忘れたり、見当違いな方向へ行ったりします。

これを解決するために、外側に 状態を覚えて、もう一度指示を入れ直す仕組み を付けたもの、それが「エージェント(agent)」と呼ばれるものです。

(4) 自分が間違っていることをわからない

LLMは間違った答えを返すときも 同じくらい自信を持って 言います。自分が確率の低い答えを選んだのか、高い答えを選んだのかをユーザーに知らせる機能は、基本的にありません。

「ちょっと待って、これは私も自信ないです」のようなことをLLMが言ってくれるのは、人間がプロンプトでそうするように訓練した結果 です。もともとLLM自体には、自分の自信を覗き込む能力はありません。

この4つを知っておくと、LLMを使うときに「あれ、私が聞いたことと違う答えが返ってきたぞ」が大幅に減ります。


7. なぜLLM単体ではエージェントになれないのか

ここが接続点です。

最近「エージェント」という言葉をよく聞きますよね。Claude CodeCodex、OMX、OMC、Devinみたいなものはぜんぶエージェントのバリエーションです。

ところがエージェントはLLMそのものではありません。

エージェント = LLM + システム

比喩でまとめると:

  • LLM = エンジン
  • エージェント = そのエンジンが載った 自動車1台まるごと

エンジンがどれだけよくても、ハンドルもなく、タイヤもなく、燃料系統もなければ、それは自動車ではありません。ただのエンジンです。

エージェントになるというのは、LLMの周りにこういうものを付けることです:

  • 目標 を決めてあげる仕組み
  • 状態 を覚えてくれる保管場所
  • ツール を使わせるためのtool useレイヤー
  • ファイル / 検索 / コード実行 のような現実世界の手足
  • 失敗したらやり直す ためのループ
  • ルール を教えるシステムプロンプト
  • 権限 を制限するサンドボックス

これらはすべてLLM自体の中にはありません。外側から包んであげる必要があります。

これを全体としてまとめたのが ハーネス(harness) という概念です。(これは本当に重要なので、記事を1本まるごと割きます。)

だから同じモデル(たとえばClaude)を使っても、どのハーネスの上で動かすかによって
– 賢すぎる回答マシンにもなるし
– それなりに使える作業エージェントにもなるし
– 信用できない不安定な相棒にもなります。

モデル性能よりハーネスの方が重要なことが多い理由 がこれです。

ⓘ 「じゃあそのエージェントっていうの、もう少し詳しく」 → 👉 B1. エージェントとは何か で、構造をひとつずつ解きほぐします。その上の作業環境であるハーネスは 👉 M4. ハーネス へ。


8. 一行でもう一度まとめると

ここまでの話を圧縮するとこうなります。

  • LLMは 次トークン予測器 である。
  • その予測を極限まで突き詰めようとした結果、世界に関するパターンのほとんどをパラメータに圧縮することになった。
  • だからLLMは質問に答えられるように見えるけれど、実態は 「もっともらしい次のトークンを確率で引くマシン」 である。
  • 中に事実が保存されているのではなく 圧縮されたパターン だけがある。
  • 学習が終わったあとは記憶しない。会話中の「記憶」は、毎回プロンプトに乗せ直しているだけ。
  • 限界は構造的: 最新情報なし、ハルシネーションの可能性、自分の自信を知らない、長い作業を一人で引っ張れない。
  • この限界を外側から システム(ハーネス、ツール、ループ、検索) で補うと、エージェントになる。

この7つさえ頭にあれば、これから読むLLM関連のニュース・論文・プロダクトが、一段階クリアに見えるようになります。

「これはモデルがよくなった話なのか、システムがよくなった話なのか?」この問いを立てられるだけで、半分勝ったようなものです。


締めの一文

LLMを理解する核心は、このマシンがどれだけ賢いかではなく、「次のトークンを確率で引くたったひとつの仕事」をするマシンの周りに、どんなシステムを付けるかによって、まったく別のものになる という点を見ることにあります。


毎週月曜日、AIトレンドニュースレター配信中

会員登録すると、毎週月曜日に「今週のAI・バイブコーディング最新情報」をお届けします。
バナー広告なし・本当に役立つ情報だけを厳選するクリーンなAI専門メディアです。


ニュースレター登録(無料・30秒)→

FAQ

Q1. LLMとChatGPTは同じものですか?

いいえ。LLMはエンジンで、ChatGPTはそのエンジンを載せているプロダクトです。ChatGPTの裏ではOpenAIのGPT系LLMが動いていますが、あなたが見る画面・会話メモリ・セーフティフィルタ・ツール使用のようなものはLLM自体ではなく周辺システムが担っています。Claudeも同じです。ClaudeアプリはAnthropicのClaudeモデル(LLM)の上に乗せたユーザーインターフェースです。

Q2. LLMのハルシネーションを完全に無くせますか?

構造上、完全に消すことはできません。LLMは「もっともらしい次のトークン」を引くマシンなので、希少な事実ほど「もっともらしい嘘」に落ちる可能性が残ります。実務では減らす方向で組みます — 外部検索(RAG)を付け、事実が重要な領域では必ず原典検証ループを入れ、引用なしで断言する答えは受け取らない、という設計にします。

Q3. パラメータが多いほど無条件に賢いモデルですか?

過去数年はその傾向がかなり強かったのですが、今は崩れつつあります。小さなモデルを良質なデータでしっかり学習させたり、推論時により長く考えさせたり(thinking/reasoningモード)、ハーネスをうまく組んだりすると、より小さなモデルの方が大きなモデルより実務品質で上回るケースが増えてきました。だから「パラメータサイズ」ひとつでモデルを序列化するのは、もはや安全な基準ではなくなっています。


🗺 マップ上の現在地

ニュースレターのご案内

こうして一つひとつの概念を最後まで解きほぐしていく記事を、毎週月曜日の朝にメールでお届けしています。受け取ってみたい方は ニュースレター会員登録(無料・30秒) からどうぞ。


著者: バイブコーディング テイラー(Lovable公式アンバサダー)
運営: テイラーの隠れ家(shuntailor.net)

📍 シリーズ位置
AIのしくみ地図 · 2/20編

LLM本体の理解の位置にある編です。前後編のリンクは記事下部のマップ上の現在地ボックスで確認してください。

💡 この編の一行要約

「LLMとは?」という問いに「オートコンプリートの究極形」と答えられるようになる編。トークン・パラメータ・ハルシネーション・学習/推論まで比喩一つで繋げて読めます。

ソースリスト


著者: バイブコーディング テイラー (VibeCoding Tailor) — Lovable公式アンバサダー. AI·バイブコーディング専門メディアshuntailor.net運営.
本シリーズ「AIのしくみ地図」20編は、ウィキの蓄積と公式論文・公式ドキュメントを根拠に整理した体系的学習カリキュラムです。

バイブコーディング テイラー
バイブコーディング テイラー
AIの仕組みとビジネス応用を日本語・韓国語で記録。毎週月曜、ニュースレター配信中。
ニュースレターを購読する →
JAKO