プロンプトエンジニアリング — 次トークン予測器を言葉で操舵する

LLM は突き詰めれば「次のトークンを当てる」だけの確率マシンです。その出力分布を、モデルの重みには一切触れず、入力の文(プロンプト)だけで狙った方向へ寄せる技術がプロンプトエンジニアリング。ここでは Few-shot と Chain-of-Thought という2つの主力技を、実際に動かして「なぜ効くのか」を確かめます。

1. LLM の正体 — 出力は確率分布、プロンプトはその舵

モデルが返すのは「次のトークン1個」ではなく、全語彙にわたる確率分布です。そこから1つ選んで文脈に追記し、また次を予測する — この繰り返しが文章生成の正体。温度 T は分布の尖り方を決めるつまみで、低いほど堅実(毎回いちばん有力な候補)、高いほど多様(珍しい候補にも目が出る)になります。

▶ で物語を生成してみてください。温度を上げてからリセット→生成し直すと、同じ書き出しから別の結末が生まれます — これが確率的生成です。

次トークン予測器 — 分布から1語ずつ選んで文をのばす
青いバー=次トークンの確率(温度で形が変わる)。低温 0.1 では事実上いつも最有力候補(=定番の昔話)に、高温 2.0 では「ドラゴン」「宇宙人」のような珍答も選ばれ得ます。分布は説明用の手作りです。
Pi = exp(zi / T) / Σj exp(zj / T) z=モデルが出す各トークンのスコア(ロジット)。T→0 で argmax(毎回同じ)、T→∞ で一様(完全ランダム)に近づく
POINT — プロンプトは「実行時のプログラム」 学習済みの重みが「汎用のインタプリタ」、プロンプトがその場で渡す「プログラム」だと考えると整理しやすい。ファインチューニングせずに振る舞いを切り替えられるこの性質(文脈内学習)が、1つのモデルを何にでも使う現在のスタイルと、プロンプトエンジニアリングという職能を生んだ。

2. Few-shot — 「例」で答え方の書式を教える

タスクの指示だけ(zero-shot)だと、モデルは「どう答えるのが正解か」を決めきれず、冗長だったり書式がバラバラだったりします。そこで入出力の例をいくつか見せるのが Few-shot(few=少数の例)。モデルは例からタスクの意図と出力の型を読み取り、それに揃えて答えるようになります。

下のデモで例を 0個 → 1個 → 3個 と増やし、同じ質問への出力が望んだ書式(ラベル1語)に収束していく様子を見てください。

Few-shot — 例の数で出力の書式が揃う
タスクは感情分類(レビュー→ラベル)。例なしだと丁寧だが長すぎる文が返り、実務では使いにくい。例が増えると「ポジティブ/ネガティブ/ふつう の1語で返す」という型が伝わり、右下の書式一致度が上がります。

3. Chain-of-Thought — 「考える過程」を書かせる

多段の計算や推論が要る問題では、いきなり答えを出させると間違えがちです。「順を追って考えてから答えて」と促し、途中式や理由をトークンとして書き出させるのが Chain-of-Thought(CoT/思考の連鎖)。答えに至る計算を紙の上で展開するように、モデルも生成した中間結果を手がかりに次を予測できるため、正答率が上がります。

ボタンで直答とCoTを切り替えてください。直答は途中を飛ばして誤答、CoT は段階を踏んで正解にたどり着きます。

Chain-of-Thought — 直答は誤答、順を追うと正解
直答モードは最初に浮かんだ数を返してしまい引き算を忘れる。CoT モードでは 式 → 引き算 → 答え と段階を書き出すため、各ステップが次の計算の足場になり正解に届きます。
注意 — CoT は「万能」でも「本心の記録」でもない 順を追わせても間違える問題はあるし、簡単な質問にまで長い思考を強いると遅くなるだけ。さらに研究上の重要な但し書きとして、書き出された思考は必ずしもモデル内部の実際の計算を忠実に映したものではない(もっともらしい後付けの説明になり得る)。CoT は「正答率を上げる実用テク」であって「モデルの内心を読む窓」ではない、と捉えるのが正確です。

4. 良いプロンプトの組み立て方 — 型で考える

効くプロンプトは、勘ではなく部品の組み合わせで作れます。役割・文脈・指示・例・出力形式を必要なだけ足していく。とりわけ指示(何をしてほしいか)と出力形式(どんな形で返すか)は、曖昧さを消して結果の再現性を大きく上げます。

チェックを付け外しして、プロンプトに部品を足していってください。右の指示の明確さが上がるほど、モデルは迷わず狙いどおりに答えられます。

プロンプトの解剖 — 部品を足して曖昧さを消す
「指示」を外すと何をすべきか伝わらず明確さが激減します(=最重要の部品)。「出力形式」を足すと後工程でそのまま使える形に固定でき、実務での再現性が上がります。

5. まとめ

一歩先へ — プロンプトの自動化と、その裏の危うさ プロンプトは人が手で書くだけでなく、良い言い回しを探索で見つける自動最適化(DSPy など)や、モデル自身に改善させる手法へと発展している。一方で、プロンプトは「信頼できる指示」と「ユーザ入力に混ざった悪意ある命令」を原理的に区別できない — これがプロンプトインジェクションという安全性の課題。そして、モデルに最新知識や社内情報を扱わせる決定打が、次のレッスンのRAG(検索拡張生成)です。