Prompt Engineering(プロンプトエンジニアリング)とは、大規模言語モデルを使う際に、Prompt(プロンプト)を設計し、記述し、改善するプロセスです。
これだけでは少し抽象的なので、例を挙げてみましょう。
今、アラジンの魔法のランプを持っていて、ランプの魔人から三つの願いをかなえると言われたとします。まず考えるのは、魔人に理解してもらうために、どうすれば願いを明確に伝えられるか、ということでしょう。
世界で最も裕福な人にしてほしかったのに、願いの伝え方が悪く、魔人が別の意味に受け取ってしまえば、当然ながら望んだ結果は得られません。
あるいは、欲しいものが 1 兆ドルなのに、魔人には「1 兆ください」としか言わなかったとします。
1 兆の何でしょうか?
通貨は何か。いつ受け取るのか。どのような方法で受け取るのか。どれも伝えていません。
ここで、魔人に伝える願いが Prompt だと考えられます。願いが期待どおりにかなうかどうかは、本当に欲しいものを明確に伝えられたかに大きく左右されます。
大規模言語モデルでも同じです。魔人をモデルに、願いをモデルに送る Prompt にたとえられます。
もちろん、これは理解を助けるための比喩にすぎません。現実のモデルは願いを本当に理解するわけではなく、Prompt がうまく書けていても正しい結果を保証しません。情報を見落としたり、古い情報を返したり、知らないことを事実らしく語ったりする可能性は残ります。
自然言語が新しい操作方法になりつつある
これまで、コンピューターに何かをさせるには、Python や Java などのプログラミング言語を学ぶ必要がありました。今では、大規模言語モデルにより、より多くの人が中国語、英語、日本語などの自然言語でタスクを直接説明できます。
確かに、利用のハードルは下がりました。
しかし、プログラミング、専門知識、業界経験の価値がなくなるわけではありません。
モデルに契約書を分析させても、どの条項が本当に重要かを知らなければ、何が抜けているかを見つけるのは困難です。モデルにプログラムを書かせる場合も同じです。コードをまったく読めなければ、実行できるのか、セキュリティ上の問題がないかを判断できません。
したがって、プロンプトエンジニアリングは「何も学ばなくてよい」近道ではありません。
むしろ、多くの仕事で活用できる能力です。問題を整理し、タスクを明確に説明し、求める結果を定義したうえで、モデルが実際にそれを満たしたかを確認します。
プロンプトエンジニアリングを学ぶには?
まずは、いわゆる「万能 Prompt」を探そうと焦らないでください。
次のような、より基本的な問いから始められます。
- モデルは文字をどのように処理するのか?
- 同じ質問から異なる回答が出ることがあるのはなぜか?
- どの情報が不明確だと、モデルは推測するしかなくなるのか?
- 長い資料、複雑な手順、出力形式をどう整理するのか?
- モデルが答えを返した後、どのように確認するのか?
この先の章では、この道筋に沿って一歩ずつ進みます。
AI によって人は学ばなくなるのか?
それは、AI をどのように使うかによります。
答えをコピーするだけで出典を確認しなければ、AI は誤りを拡大し、タスクへの理解を徐々に失わせる可能性があります。
一方、議論、練習、見落としの発見、検証のための道具として使えば、問題をより速く探究する助けにもなります。
医療、法律、金融、セキュリティなどの高リスクな内容は、モデルの説明が流暢だからといって、そのまま採用してはいけません。アカウントのパスワード、API Key、営業秘密、不要な個人情報も、安易に会話へ貼り付けるべきではありません。
簡単に言えば、AI は私たちを支援できますが、その結果を最終的にどう使うかは、人が判断する必要があります。
始める前に何を用意すればよいか?
大規模言語モデルにアクセスできるパソコンかスマートフォンがあれば十分です。
自分が通常利用できる公式サービスを選べます。
製品、モデル、アクセス方法ごとの機能は変化します。このシリーズで扱うのは応用可能な考え方です。具体的な効果は、実際に使うモデルでテストしてください。
注意: 信頼できる公式の窓口からモデルにアクセスしてください。出所の分からないミラーサイトは使用せず、ミラーサイトにパスワード、キー、未公開データを送信しないでください。
シリーズ目次
- はじめに:Prompt Engineering とは?
- 初めての対話
- Token とは?
- 確率、サンプリング、Temperature
- 良い出力を得るための六つのコツ
- 構造化 Prompt のテンプレートとコツ
- モデルに JSON データを出力させる
- XML タグを活用する
- 複雑なタスク:分解、計算、検証
次の章: 初めての対話