2回目はプロンプトについて扱います。
重要な考え方なのでぜひとも押さえてほしいです。
プロンプトってなに?
LLMへの入力データとしては大きく分けて2つあります。
- プロンプト
- コンテキスト
LLMが何か回答を返す際にはコンテキストはなくてもいいですが、プロンプトは必須です。
①プロンプト
プロンプトとはAIへの指示をまとめたテキストデータのこと。LLMへの入力データのひとつ。自然言語で書くことが多い。
⇒アプリ開発でいうとコーディングしたプログラムに近い印象。
AIは指示通りにしか動かないのでプロンプトを正確に無駄なく書くということがAI利用において最も重要である。
②コンテキスト
LLMが回答を返す際に参考にするデータのこと。
例えば、Geminiなどのチャット形式のサービスでは、一つ前までの会話の内容をすべてまとめたテキストデータなどが入っています。
よく言われる「AIが会話を覚えている」というのは便宜上の説明で、実際はコンテキストにデータが入っていてそれを参考に応答を返しているのでそういう風に見えているだけです。
⇒アプリ開発でいうところのデータベースと考えてよさそう。
ついでに触れておくと、Geminiではチャットに添付した添付ファイルのほか、各種パーソナルデータやGmail、Youtube、GooleMapなどGoogle関連データもコンテキストとして取り込むのでよりユーザーにカスタマイズした応答ができるのを売りにしていますね。
モデルの性能により受け取れるコンテキストのデータ量(コンテキストウィンドウ)が異なり、性能がいいモデルほどコンテキストウィンドウが大きいので、より多彩の情報をもとにした判断を下すことができるようになります。
なぜ「プロンプト」が重要なのか?
前回少し触れた「専用AI」とは異なり、「LLM」は文章作成、アイデア出し、翻訳、プログラミング、データ分析など、ありとあらゆるタスクをこなせる能力を持っています。
何でもできるということは、裏を返せば「どう動くべきか指示されないと困ってしまう」ということです。テキトーな指示を出すとAIも迷って当たり障りのない回答しか出せませんが、具体的で的確な指示を出せば一発でほしい回答を出してくれます。
AIを使いこなすとは、プログラミングのような難しい技術を覚えることではなく、「人間に仕事を頼むときと同じように、分かりやすく条件を伝えてあげること」に他なりません。
INとOUTを意識したプロンプト作成
AIに正しく指示を遂行させる最大のコツは、情報を「IN(入力)」と「OUT(出力)」に明確に分けて伝えることです。
- IN(入力)
- AIに渡す材料・前提条件・背景情報・予算・制約事項など
- OUT(出力)
- 出してほしい結果の形(箇条書き、テーブル形式、メール本文のみ、指定文字数など)
この「渡し方」と「欲しい受け取り方」を意識して指示をブラッシュアップしていくプロセスこそが、プロンプトエンジニアリングです。
プロンプトの実践例(OK / NG比較)
【例1】日常会話・おすすめを聞くとき
❌ NG例: 「映えるカフェ教えて!」
(問題点: 場所、予算、希望する雰囲気などが一切不明で、AIが推測に困る)
⭕️ OK例:
【IN】 カフェを探してる。渋谷駅徒歩5分圏内、予算1,000円以内、抹茶スイーツがある落ち着いたお店を
【OUT】 おすすめ上位3つを箇条書きで、それぞれの理由と一緒に教えて!
【例2】ビジネス・メール作成のとき
❌ NG例: 「打ち合わせ日程調整のメール書いて」
(問題点: 候補日時や相手との関係性、文章のトーン&マナーが指定されていない)
⭕️ OK例:
【IN】 打合せ日程調整をしたい。来週火曜または木曜の15時以降希望。丁寧なビジネス文体で。
【OUT】 コピペでそのまま送信できるメール本文を出力して!
あとがき
今回はプロンプトの基礎について扱いました。
文脈を理解してくれるからといって適当な指示を投げて喧嘩してる人も多いのでは?
という感覚が個人的にあり、実際自分も「AIってあんま使えないよな」と思っていたので、これを機にGeminiなどをより活用できるようになっていただければ幸いです。
次回予告
次回はプロンプトエンジニアリングについて深堀りしてみようと思います。
