1.1 AIとの対話を可能にする魔法の言葉
近年、ChatGPTをはじめとする生成AIの登場により、私たち人間はAIと自然言語で対話できるようになりました。まるでSF映画の世界が現実になったかのようです。しかし、AIは人間の言葉をそのまま理解できるわけではありません。AIに意図した通りの動作をさせるためには、明確で具体的な指示を与える必要があります。このAIへの指示命令文こそが「プロンプト」と呼ばれるものです。
1.2 プロンプトと大規模言語モデルの仕組み
では、AI、特にChatGPTのような大規模言語モデルは、どのようにプロンプトを理解し、文章を生成しているのでしょうか?
その秘密は「トークン」と呼ばれる単位にあります。トークンとは、単語や文字のことで、AIが学習するデータの中で頻度が高い文字の組み合わせがトークン化されています。大規模言語モデルは、膨大なテキストデータから、次に続く可能性のあるトークンを確率的に予測することで文章を生成していきます。
例えば、「日本の首都は」という文章が入力された場合、「東京」というトークンが次に続く確率が最も高くなります。AIはこのように、確率に基づいてトークンを次々と選択し、文章を紡ぎ出していくのです。
このことから、プロンプトは、AIが次にどのトークンを選択するかの判断材料になるということが分かります。プロンプトが具体的であればあるほど、AIは適切なトークンを選択しやすくなり、結果としてより質の高い文章を生成できるようになります。
1.3 プロンプトはAIへの道案内
プロンプトは、あなたがAIにやってほしいことを伝えるための道案内のようなものです。目的地を伝えなければ、タクシーはあなたをどこへも連れて行ってくれませんよね? AIも同じです。漠然とした指示では、AIはあなたの意図を理解できず、期待はずれの結果しか返ってきません。
例えば、あなたが「おいしい料理のレシピを教えて」とだけAIに指示したとします。すると、AIは膨大なレシピの中から、ランダムに選んだものを提示するかもしれません。あなたが本当に求めていたのは、和食のレシピだったのに、イタリア料理のレシピが表示されたら、がっかりしてしまいますよね?
1.4 良いプロンプト、悪いプロンプト
では、AIに意図した通りの動作をさせるためには、どのようなプロンプトを作成すれば良いのでしょうか? ここでは、具体的な例を通して、良いプロンプトと悪いプロンプトの違いを見ていきましょう。
例題: 日本の伝統的な朝食のレシピを教えてください。
悪いプロンプト例:
日本の朝食について教えて
出力結果:
日本の朝食は、一般的にご飯、味噌汁、焼き魚、卵焼き、海苔、漬物などから構成されます。近年では、パンやシリアル、ヨーグルトなどを食べる人も増えています。
解説: このプロンプトは漠然としすぎています。「日本の朝食について」という指示では、AIはレシピだけでなく、歴史や文化など、様々な情報を提示する可能性があります。AIは、あなたが「レシピ」というトークンを期待していることを明確に理解できていません。
良いプロンプト例:
あなたは料理研究家です。
日本の伝統的な朝食のレシピを、
材料と作り方を詳しく教えてください。
出力結果:
和朝食の定番レシピ:鮭の塩焼き、だし巻き卵、豆腐とわかめの味噌汁
材料:(2人分)
- 生鮭: 2切れ
- 塩: 少々
- 卵: 3個
- だしの素: 小さじ1
- 砂糖: 小さじ1
- 醤油: 小さじ1
- みりん: 小さじ1/2
- 豆腐: 1/2丁
- わかめ: 適量
- 水: 600ml
作り方:
- 鮭に塩を振り、10分ほど置く。
- 卵をボウルに割りほぐし、だし汁、砂糖、醤油、みりんを加えて混ぜる。
- 卵焼き器を熱し、油をひいて卵液を流し込み、巻きながら焼く。
- 鍋に水とだし汁を入れて火にかけ、沸騰したら豆腐とわかめを加えて煮る。
- 鮭をグリルで焼き色がつくまで焼く。
- ご飯、味噌汁、だし巻き卵、鮭の塩焼きを盛り付けて完成。
解説: このプロンプトでは、「料理研究家」という役割を与えることで、AIは「レシピ」というトークンを選択する確率が高まります。さらに、「材料と作り方を詳しく」という具体的な指示により、AIはより詳細な情報を生成しやすくなります。
1.5 ChatGPTにおけるプロンプト
ChatGPTにおいては、このプロンプトが私たちが入力するメッセージに当たります。ChatGPTとのコミュニケーションは、まさにこのプロンプトを通して行われるのです。
1.6 まとめ
プロンプトは、AIと対話するための重要な鍵です。明確で具体的なプロンプトを作成することで、AIはあなたの意図を理解し、より質の高い結果を返してくれるようになります。プロンプトは単なる指示文ではなく、AIの思考を導き、望ましい結果へと導くための重要な要素なのです。
次の章では、プロンプトエンジニアリングとは何か、そしてなぜ重要なのかについて詳しく解説していきます。