はじめに
この記事は、AI(特に大規模言語モデル, LLM)の能力を効果的に引き出すための「プロンプト入力ノウハウ」に関する社内勉強会を兼ねています。
勉強会の目的
この勉強会(および記事)の目的は以下の2点です。
- LLMがどのようにテキストを学習し生成しているか、その 特徴(条件付き確率) について感覚を掴む。
- 明日から使える具体的なプロンプトのノウハウ(書き方やテクニック)を習得し、業務や学習に活かす。
Agenda
- AIの歴史とLLMの登場
- LLMの成り立ちと「Attention」(なぜLLMは高性能なのか?)
- LLMが行う「学習」とは?
- LLMの得意・不得意(内挿と外挿)
-
LLMの力を引き出すプロンプトノウハウ
- 基本原則
- 構造化の技術 (Markdown, Gherkin法)
- 高度な技術 (Few-shot, Chain of Thought)
- まとめ
1. AIの歴史とLLMの登場
AIの研究は長い歴史があります。
- 初期のAI研究: 人間の論理的思考(推論、探索)を模倣しようとしました。
- 停滞期(AIの冬): 計算能力の限界や、知識をどう表現するかの難しさから停滞しました。
- 機械学習の登場: 2000年代後半、特に深層学習(ディープラーニング)が転機をもたらします。
- 深層学習の発展: 大量のデータと計算資源により、画像認識や音声認識で人間を超える性能を発揮しました。
- 現代のLLM: そして現在、膨大なテキストデータで学習し、自然な言語を操るLLMが登場しました。
2. LLMの成り立ちと「Attention」
現代のLLMがこれほど高性能である背景には、「Transformer(トランスフォーマー) モデルの登場が欠かせません。
元々、AIによる翻訳技術(機械翻訳)では、入力された文章(例:日本語)を順番に処理し、別の文章(例:英語)に順番に出力する「RNN」や「LSTM」という技術が主流でした。しかし、文章が長くなると、文脈を維持するのが難しいという課題がありました。
そこで登場したのが 「Attention(アテンション)」 機構です。
Attention(アテンション)とは?
日本語の「注意」の名の通り、翻訳(あるいは文章生成)を行う際に、入力された文章の「どの部分に注目すべきか」 を動的に学習する仕組みです。例えば、「私は昨日、友人と美味しいピザを食べた」という文を翻訳する際、「食べた(eat)」という単語は、「私」と「ピザ」に強く関連していることをAIが理解するのに役立ちます。
この「Attention」機構だけを使って機械翻訳の仕組み全体を作ってしまったのが、2017年に発表された**「Transformer」**モデルです(論文のタイトルは「Attention Is All You Need(アテンションさえあればいい)」でした)。
Transformerは、文章を並列処理できる(=学習が速い)という特徴も持っており、これがLLMの「大規模」化を可能にしました。現在のLLM(GPTやGeminiなど)のほぼ全てが、このTransformerを基盤技術としています。
3. LLMが行う「学習」とは?
私たちが「学習」と聞くと「理解」を想像しますが、AIの学習は少し異なります。
AIの学習 = パターン認識
AIの学習とは、大量のデータ(例:猫の画像)の中から特定のパターンや規則性(例:耳の形、ひげ、目の配置)を見つけ出すプロセスです。
AIは「猫とは何か」を哲学的に理解しているのではなく、「猫を構成する特徴のパターン」を統計的に把握しているに過ぎません。
LLMの学習プロセス
LLMは主に2段階で学習します。
-
事前学習 (Pre-training)
- インターネット上の膨大なテキストデータ(書籍、記事、Webサイトなど)を読み込ませます。
- 「次の単語を予測する」 タスク(穴埋め問題)を延々と繰り返します。
- これにより、単語間の関係性、文法、そして世界の(統計的な)知識を獲得します。
-
ファインチューニング (Fine-tuning)
- 特定のタスク(質問応答、要約、翻訳など)に特化した高品質なデータセットで追加学習します。
- 人間のフィードバック(RLHFなど)を使い、「より人間に役立つ」「より安全な」回答ができるように調整されます。
LLMの正体 = 条件付き確率モデル
スライド9でも触れましたが、LLMの核となる仕組みは 「条件付き確率」 です。
「今日の天気は」
という文脈(条件)が与えられたとき、LLMは学習データに基づき、次に続く単語の確率を計算します。
- 晴れ (40%)
- 雨 (30%)
- 曇り (25%)
- ピザ (0.001%)
LLMは「創造」しているのではなく、「学習データに基づいて、最も確率の高い(あるいは、ある程度ランダム性を持たせて選んだ)単語を次々と選択している」 確率モデルなのです。
4. LLMの得意・不得意(内挿と外挿)
この「確率モデル」という特性が、LLMの得意・不得意を決定づけます。
🟢 内挿(Interpolation) - 得意
学習データ(既知)の範囲内のパターンを補完・組み合わせることです。
- 「リンゴは赤い」「イチゴは?」→「赤い」
- 学習した文法や知識を組み合わせて、自然な文章やコードを生成する。
- 要約、翻訳、文体変換。
LLMは、学習した膨大な知識の「間を埋める」のが非常に得意です。
🔴 外挿(Extrapolation) - 苦手
学習データ(未知)の範囲外の領域を推測・創造することです。
- 学習データに全く存在しない、架空の生物の生態系を詳細に記述する。
- 既存の物理法則を覆す、全く新しい科学理論を提唱する。
- (学習時点以降の)最新のニュースや出来事について答える。
LLMは統計モデルであるため、データにないものは「知らない」し、論理的に「推論」してゼロから創り出すのは苦手です。プロンプトを設計する際は、この「内挿」の得意な特性を活かすことを意識しましょう。
5. LLMの力を引き出すプロンプトノウハウ
LLMの特性を理解した上で、具体的なプロンプト技術を見ていきましょう。
基本原則
まずは基本となる5つの原則です。
- 明確な指示: 曖昧さを避け、具体的かつ簡潔にタスクを明示します。(例:「この記事について教えて」→「この記事を300字で要約して」)
- 役割設定: AIに特定の役割を与えると、出力の視点やトーンが安定します。(例:「あなたは経験豊富なマーケティング担当者です」)
- 文脈の提供: タスクの背景情報や前提条件を渡すことで、AIの理解度が上がります。
- 出力形式の指定: 期待する形式(箇条書き、JSON、Markdownなど)を明確に指定します。
- 制約条件の明示: 文字数、使用する語彙、含める/含めない情報を伝えます。