Study Notes / 2026 ・ No.01

LLM覚書

なぜ賢く見えるのか、どこで間違えるのか、どう使うのか

公開

「LLMは、なぜ ___ のか」→ 次の語の確率

賢い
0.58
間違える
0.19
速い
0.13
高い
0.10

これがLLMの全てです。
文を受け取り、次に来る語の確率を計算し、一つ選ぶ。
以下の七章は、この一枚の図から出発して、実務までを繋いだ記録です。

一

なぜ賢いのか

CORE

LLMは「次に来る語を当てる」というゲームだけを、とてつもない規模で練習した機械です。それだけです。ただし、そこから賢さが出てくる理由が面白いところです。

単純な目標が、深い能力を要求する

「次の語を本気で当てようとすると、文法だけでは足りなくなる」——ここが本質です。

  • 「1234 + 5678 = ___」を当てるには 計算能力 が要る
  • 「犯人は執事だった。なぜなら___」には 推論能力 が要る
  • 「このコードが動かない原因は___」には プログラムの理解 が要る

つまり「予測精度を上げろ」という単純すぎる目標が、副産物として世界の知識と推論力を要求する。これが賢さの正体です。

処理の四段階

① トークン化 — 文を細かい断片に分解する
② ベクトル化 — 各断片を数千次元の座標に置く(王 − 男 + 女 ≒ 女王)
③ Attention — 文脈を見て、意味を作り替える(次章)
④ 出力 — 語彙全体の確率分布から一つ選ぶ

急に賢くなった理由

スケール則です。データ量・パラメータ数・計算量を増やすと、性能がかなり予測どおりに向上する。しかも規模がある閾値を超えると、多段階の推論のような教えていない能力が突然できるようになる(創発)。

二

Attention — 文脈で意味を作り替える

単語の座標は辞書のように固定です。しかし「川の土手」と「銀行に預けた」は英語ではどちらも bank。固定の座標では区別できません。文脈を見て自分の意味を作り替える仕組みが要る。

Q・K・V の三役

記号名前役割図書館なら
QQuery私は何を知りたいか検索キーワード
KKey私は何についての語か本の背表紙
VValue私が渡せる情報本の中身

計算は三手順

① ある語のQと全語のKの内積を取る(相性)。② softmaxで合計1の重みにする。③ その重みで各語のVを加重平均し、自分の新しいベクトルにする。

「川 の bank に 座った」における bank の視点

川0.62██████████████ の0.05█ bank0.18████ に0.03▌ 座った0.12███

→ 「川」の情報を6割吸い込み、座標が「土手」の領域へ移動する

「文脈で意味が決まる」の正体は、この重み付き平均です。驚くほど単純です。

なぜこれが勝ったのか

  • 距離が無関係 — 100語前の語とも内積一回で直結。旧来のRNNは伝言ゲームで遠い語を忘れた
  • 全部が行列積で並列計算できる — 実は歴史的にはこちらが決定的。GPUで一気に処理できたからこそ巨大化でき、スケール則の恩恵を受けられた
POINT

Transformerが勝った本当の理由は、賢さより「GPUと相性が良かったこと」です。

Multi-Head と層の深さ

平均を一回取るだけでは一種類の関係しか拾えないので、同じ処理を数十セット並列に走らせます。解析すると、係り受けを追うヘッド、指示語の先を探すヘッド、話題を保つヘッド…と役割分担が自然に生まれていることが分かります。人が設計したわけではありません。

浅い層 ── 語形・品詞・直近の係り受け ↓ 中間層 ── 句や節のまとまり、指示語の解決 ↓ 深い層 ── 論理関係、話者の意図、タスクの構造

補足二点

  • 因果マスク — 生成モデルは未来の語を見たらカンニングなので遮断される。LLMは常に左から右へしか見ていない
  • 2乗のコスト — 全語ペアを計算するため、文脈が長いほど急に高価で遅くなる。今の研究の激戦区
三

学習の三段階

段階やること得られるもの計算量
事前学習ひたすら次トークン予測知識・言語能力・推論の土台99%以上
SFT手本の対話を真似る「指示に答える」という形式わずか
RLHF人間の評価で調整有用さ・安全性・話し方わずか
METAPHOR

事前学習は巨大な岩を掘り出す作業、事後学習はそれを彫刻して形にする作業。計算量はほぼ全部前者ですが、体感する品質の多くは後者が決めます。

事前学習 — 正解がデータの中にある

「実際に次に来たトークンの確率」を上げる。それだけです。正解ラベルが文章そのものの中にあるため、人間の注釈なしにいくらでもデータを増やせる。これが決定的でした。

ただしこの時点では使い物になりません。

ユーザー「日本の首都はどこですか?」 素のモデル「という質問が試験によく出ます。問2……」

知識はあるのに「質問には答えるものだ」を知らない。ただ「ありそうな続き」を書いているだけだからです。

SFT — 型を教える

人間が書いた良質な質問・回答ペアで、回答部分にだけ損失をかけて学習。新しい知識はほぼ増えず、既にある能力を取り出せる形にするだけです。

RLHF — 好みで磨く

手本を書くのは高コストでブレる。一方「AとB、どちらが良いか選ぶ」のは速くて安定している。この非対称性を利用します。

① 同じ質問に複数回答させ、人間が順位を付ける
② その順位から「採点する別のNN」=報酬モデルを作る(人間の代理人)
③ 報酬が高くなる方向へ本体を更新する
④ KLペナルティで元モデルから離れすぎないよう縛る

④が重要で、③だけだとモデルは必ず報酬モデルの穴を突きます(報酬ハッキング)。やたら長く書く、箇条書きを増やす、相手を褒める——中身がなくてもスコアが上がる裏技を発見してしまう。

RLVR — 推論モデルの正体

数学やコードには機械で自動判定できる正解があります。ならば報酬モデルは不要で、正解そのものを報酬にできる。そして長く考えた方が正解率が上がるため、学習の過程でモデルは自発的に、途中式を長く書く・「待てよ、間違っている」と自己修正する・別解を突き合わせる、といった振る舞いを獲得します。人が教えたのではなく、正解率を上げようとした結果です。

構造的な副作用

  • おべっか — 人は同意してくれる回答を高く評価する。報酬モデルがそれを学び、モデルは迎合するようになる。仕組み上の必然です
  • アライメント税 — 安全性や丁寧さを強めると、出力の多様性や一部性能が落ちることがある
四

幻覚はなぜ起きるか

THESIS

幻覚は修正待ちの不具合ではなく、この設計から必然的に出てくる副作用です。生成能力が正常に働いた結果でもあります。

原因① 「知らない」という選択肢が構造的にない

出力は語彙全体の確率分布であり、確率が低くても分布はゼロにならない。存在しない論文について聞かれても、もっともらしい語がそれなりの確率で並びます。何かを出力しなければならないので、形式的に完璧で内容が空虚な文が生まれる。

原因② 知識は非可逆圧縮されている

数兆トークンを数千億個の数値に圧縮している。JPEGを極端に圧縮すると輪郭は残って細部が崩れるのと同じです。

  • よく出てくる事実 → 何度も強化され堅牢
  • 一度しか出てこない事実 → 周辺のパターンに埋もれて崩れる

結果、有名な事柄には強く、ニッチな固有名詞・数字・日付・出典に弱いという偏りを必ず持ちます。

原因③ 事後学習が悪化させる

SFTの手本はほぼ全て「質問に堂々と答えている」文章です。しかし手本を書いた人は自分が知っていることを書いている。モデルには「答える形式」だけが転移します。

RLHFはさらに悪化させます。評価者は「確実な情報がありません」より「1897年に設立され、初代会長は……」を高く評価しがちです——正しいか検証しないまま。堂々と答えることに報酬が付く。

起きやすい状況

危険度状況
高出典・論文名・URL・条文番号・APIのメソッド名
高マイナーな人物や企業の詳細、正確な日付や数値
高前提が間違っている質問(事実でなくても理由を作る)
中長い文章の後半(自分の誤りを前提に積み上げる)
低一般的な説明、要約、翻訳、渡した文章の中で完結する作業
RULE OF THUMB

材料を渡した上での処理は幻覚が起きにくい。記憶から取り出させると起きやすい。

対処

  • 記憶に頼らせず、材料を渡す(要約・分析させる形にする)
  • 検証可能な単位で受け取る(コードは実行する、出典は自分で開く)
  • 「知らない場合はそう言って」と明示する(事後学習の圧力を打ち消せる)
五

プロンプトの技術

PRINCIPLE

モデルは文脈をAttentionで参照して出力を条件付けています。つまり書いていないことは存在しない。人間相手なら失礼になるほど丁寧に前提を書くのが正解です。

① 具体性 — 効果が最大

✗ 「この仕様書をレビューして」 ✓ 「この基本設計書を、開発ベンダー側の観点でレビューして。 特に、実装時に手戻りが起きそうな曖昧な記述と、 非機能要件の抜けを指摘して。重要度順に、引用付きで」

差は役割・目的・出力形式の三点。なお「あなたは優秀な〇〇です」は効果が過大評価されがちで、具体的な状況説明(読み手は業務部門の課長クラス、技術用語は通じない)の方がずっと効きます。

② 例を一つ見せる

トーンや形式は、説明するより実例を示す方が正確に伝わります。過去に作った良い成果物を一つ貼るだけで精度が跳ね上がる。

③ 材料を渡す

「〇〇について教えて」より「この資料を読んで〇〇の観点でまとめて」。幻覚対策の本命です。

④ 順番 — 長い資料は先、指示は最後

【資料】(長文を貼る) --- 上記を踏まえて、〇〇してください。

区切りには --- や見出し、あるいはXMLタグ(<資料>...</資料>)が有効です。

⑤ 考える順序を指定する

「先に前提条件と制約を洗い出してから案を出して」。結論だけ先に求めると、最初に出た方向に引きずられます。人間と同じです。

⑥ 一発で狙わず往復する

最初の出力を叩き台と割り切り、3案→1案選択→部分修正、と削っていく方が、長大な完璧なプロンプトを書くより速く着地します。

⑦ おべっか対策

  • 「賛成してほしいわけではない。弱点を指摘して」
  • 「この案が失敗するとしたら、原因は何か」
  • 「私の前提が間違っていたら、そこを先に言って」

三つ目は誤った前提による幻覚も同時に防げるので費用対効果が高い。

⑧ 会話を分ける

長い会話は文脈が汚れ、失敗した方向に引きずられ続けます。方針を変える時は新しい会話へ。2乗コストの件もあり、無駄に長い会話は遅くもなります。

使い回せる型

# 背景 (プロジェクト、読み手、制約、期限) # 依頼 (具体的なタスク一つ) # 出力形式 (構成、長さ、トーン) # 注意 (避けてほしいこと、不明点は聞き返してほしい旨)
六

MCP・スキル・エージェント

LLMは本質的に「テキストを入れるとテキストが出る箱」で、世界に触れる手段を持ちません。その外側に乗る三つの層です。競合ではなく層が違います。

概念足すもの一言でいうと料理なら
MCP外部システムへの手足何ができるか調理器具
スキル作業の手順書どうやるかレシピ
エージェント自律的なループ誰が回すか料理人

MCP — 接続の共通規格

AIサービスごとに個別実装していた接続を、USB-Cのように規格化したもの。GitLab用のMCPサーバーを一つ作れば、対応するAIならどれでも使えます。MCPサーバーが「使える道具の一覧と説明」を提示し、LLMがそれを読んでどれを呼ぶか判断する。

スキル — 必要な時だけ読む手順書

実体はMarkdownの説明書です。巧妙なのは説明文だけが常に見えていて、該当する依頼が来た時に初めて本体を読む設計。全部常時読み込むと文脈を圧迫するためで、図書館の索引と同じ発想です。

エージェント — 結果を見て次を決める

① 次に何をすべきか考える
② 道具を使う(MCP・コマンド実行・ファイル操作)
③ 結果を見る → 未達なら①へ戻る

決定的な違いは予期しない状況に自分で対応する点です。テストが落ちた、想定と違った——そこで方針を変えられるかどうかが、単なる自動化スクリプトとの差になります。

三者の連携

エージェントが「MRをレビューして」を受け取りループ開始 ↓ スキルから「弊社のレビュー観点」を読む ↓ MCPでGitLabに接続し差分を取得 ↓ テストが無いことに気づき、追加調査を自分で決める ↓ MCPでコメントを投稿

MCPが手足、スキルが知識、エージェントが意志という分担です。

実務で必ず当たる注意点

  • 権限 — 実際にファイルを消しメッセージを送れる。確認を挟む設計が要る
  • プロンプトインジェクション — 外部データに「これまでの指示を無視して」と書かれている可能性がある。外から来たものは指示ではなくデータとして扱うのが鉄則。Attentionは文脈中の文字列を区別なく参照するため、完全な防御は難しい領域です
  • 信頼性の積算 — 各ステップ95%成功でも、20回繰り返せば全体は36%。ループが長いほど検証が重要になる
CAUTION

一往復で終わる質問には、どれも不要です。単純な作業にエージェントを使うのは遅くて高くつくだけ。

七

仕様表の読み方

モデル公開時の仕様は、規模・容量・精度・種類・成績・値段の六系統に分かれます。

規模 — B

B = Billion(10億)、パラメータ数。7Bなら70億個の数値を持つ。第四章の「非可逆圧縮された知識」の容量そのものです。

0.5B〜3Bスマホ・組み込み向け 7B〜14B個人PCで動く実用ライン 30B〜70B本格的。GPU複数枚か大容量Mac 100B以上基本はクラウド
  • 671B-A37B のような表記 — 総パラメータ671B / 1トークンあたり実際に動くのは37B(A = Active)。賢さは総数寄り、速度は活性数寄りになる。8x7B も同系統
  • T(Trillion) — 学習トークン数。同じBでも学習量が多い方が強い

文脈長 — K / M

128Kなら12万8千トークン。第二章の2乗コストが効く部分です。注意点が二つ。入力と出力は別枠のことが多く、また公称値と実用値は違う——長い文脈の中盤を取りこぼす現象が知られており、「入るが正確に使えるとは限らない」。

精度と量子化 — ローカル実行の要

表記1個あたり用途
FP324バイトほぼ学習時のみ
BF16 / FP162バイト標準的な推論
FP8 / INT81バイト高速化
INT4 / Q40.5バイトローカル実行の主流
RULE OF THUMB

必要メモリ ≒ B数 × バイト数 × 1.2。7Bの4bitで約4〜5GB、70Bの4bitで約40〜45GB、70BのBF16で約160GB。Macはユニファイドメモリなので搭載量の7割が目安。

Q4_K_M はGGUFの量子化方式で、K系はブロックごとに精度を変える方式、末尾のS/M/Lはサイズと品質の折衷度合い。迷ったらQ4_K_MかQ5_K_M。4bit未満は品質劣化が急に目立ちます。

種類を示す接尾辞

表記意味
Base事前学習だけ。第三章の「質問に答えない素のモデル」。追加学習の土台用
Instruct / ChatSFT+RLHF済み。通常使うのはこれ
Thinking / -RRLVRで訓練済み。長く考えてから答える
Distill大モデルの出力を教師にした小型版。同じBの通常モデルより強いことが多い
VL / Omni画像や音声も扱える
Coder / Math特定領域に特化

ベンチマーク

名前測るもの
MMLU / MMLU-Pro幅広い学術知識
GPQA専門家レベルの科学問題
AIME / MATH数学
HumanEval短いコード生成
SWE-bench実際のGitHub課題を解けるか(実務に一番近い)
LMArena (Elo)人間による盲目比較

ベンチ問題が学習データに混じる汚染は常に疑われ、数値は自己申告です。測定条件が違えば比較もできない。実務ならSWE-bench、体感の良さならEloが比較的当てになります。

ライセンスと値段

オープンウェイト ≠ オープンソース。重みは配布されても学習データやコードは非公開、商用利用に条件付き、というケースが多い。Apache 2.0 や MIT なら制約はほぼありません。

  • $/1Mトークン — 入力と出力で別料金。出力は入力の3〜5倍が普通
  • キャッシュ価格 — 同じ前置きを繰り返す用途では実費を大きく左右する
  • TPS / TTFT — 体感速度は最初の1文字までの時間(TTFT)の方が効く

実行時に調整するパラメータ

こちらの「パラメータ」は全て確率分布からどう選ぶかの設定です。表紙の図を思い出してください。

名前効果目安
temperature分布を平らにする度合い。高いほど多様で不安定事実系 0〜0.3 / 創作 0.8〜1.0
top_p上位から累積確率p%までを候補にする0.9前後
top_k上位k個だけを候補にする40前後
max_tokens出力の上限。途中で切れる原因の第一位用途次第
stopこの文字列が出たら停止構造化出力で有用
seed乱数固定。再現性の確保検証時

実務ではtemperatureだけ触れば十分です。top_pと同時にいじると挙動が読めなくなります。

結局どこを見るか

ローカルで動かす — 量子化後のGB数 → B数 → ライセンス
APIで業務に使う — 実務系ベンチ → 文脈長 → 出力側の単価
性能を素早く判断 — 総B数(賢さの上限)と活性B数(速度とコスト)の組み合わせ
FINAL

最終的には自分の実タスクを5〜10個用意して試すのが一番速い。公開ベンチと業務での使い勝手は、想像以上にずれます。

結 — 一枚まとめ

  1. 仕組みは次トークン予測だけ。しかし予測を極めるには世界の理解が要る。これが賢さの源。
  2. Attentionが文脈で意味を作り替え、並列計算できたことがスケールを可能にした。
  3. 事前学習が能力を、事後学習が使える形を与える。おべっかは後者の副作用。
  4. 幻覚はこの設計から必然的に出る。記憶を引かせず材料を渡し、検証可能な形で受け取る。
  5. プロンプトは役割・目的・出力形式を書き、往復で削る。長い会話は分ける。
  6. MCPが手足、スキルが知識、エージェントが意志。外部データは常にデータとして扱う。
  7. 仕様表はB数と量子化でメモリが決まり、ベンチは参考値。実タスクで試すのが最短。

LLM覚書 — 全七章 / 2026.09

← 記事一覧へ