💻 プロンプティングTips
AIP講座受講者の方から、
「なぜAct asを使う必要があるのですか?直接質問を入力するだけで十分ではないですか?」
というご質問を頂きましたので、今日は、「なぜAct asを使うのか?」について考えてみたいと思います。
その答えを考える前に、理解しておくべき重要な点を説明しますね。
何度も聞いたことがあるかもしれませんが、まず最初に、大規模言語モデル(LLM:Large Language Model)、を簡単に説明します。
LLMの基本原理は、大量のテキストデータから言語のパターンや文法を学習し、それをもとに新しいテキストを生成すること
つまり、普段行っているチャットは、「与えられた文字列(プロンプト)を出発点として、膨大な言語パターンから、もっともらしい文字を生成している」、だけであり、そこに「意味」というのは存在しません。
ユーザーにとっては、まるで本物の人間と会話しているように感じますが、プロンプトは、膨大言語パターンから、求める言語パターンを得るための、トリガー文字列、に過ぎないのです。
トリガー文字列と、生成される言語パターンの関係を研究・理解し、目的とする言語パターンを得るための、トリガー文字列を設計するのが、プロンプトエンジニアリングなのです。
よく、
「これはプロンプトではなくて、ただの質問だ!」😡
とおっしゃる方がおられますが、
「質問」という単語を当てはめるのは、人間がプロンプトに意味を与えているだけに過ぎず、LLMを使って言語パターンを生成している限りは、それは全てプロンプトなのです。そこに意味はありません。(もちろん目的の言語パターンを得る上でのプロンプトの「良し悪し」は存在します。)
少し前置きが長くなりましたが、「Act asは必要か?」について、以下のテスト結果を見てください。
(Temperatureは、ランダム性による回答の違いをできるだけ避けるために、0に設定しています。)
「気候変動についてどのように考えますか?」という質問を題材にして、Act as の使い方を考えてみます。
プロンプト1:Act As指定なし
あなたは気候変動についてどのように考えますか? Please use temperature of 0. |
プロンプト2:気象学者として振舞う
気象学者として振る舞ってください。あなたは気候変動についてどのように考えますか? Please use temperature of 0.
プロンプト3:政治家として振舞う
政治家として振る舞ってください。あなたは気候変動についてどのように考えますか? Please use temperature of 0.
プロンプト4:企業経営者として振舞う
企業経営者として振る舞ってください。あなたは気候変動についてどのように考えますか? Please use temperature of 0.
プロンプト5:一般市民として振舞う
一般市民として振る舞ってください。あなたは気候変動についてどのように考えますか? Please use temperature of 0.
いかがですか?もうお分かりですよね?
何も指定しない場合は、科学的な内容から政治的な内容まで、広く浅く、といった回答になっています。
気象学者の場合は、気候変動に関する科学的な知識と研究に基づいた回答ですし、政治家の場合は、政治的視点や政策立案の観点からの回答になっています。
企業経営者は、経済や企業活動の観点からの回答であるのに対し、一般市民の場合は、生活への影響や個人的な意見に基づいた回答が生成されています。
聞いている内容「あなたは気候変動についてどのように考えますか?」は同じですが、Act asの役割によって、回答が変わるのです。
なぜならば、AIはまず、Act as の役割部分(文字列)から、関連する言語パターンを探そうとします。そこで見つけてきた言語パターン(役割に関連する内容、視点、価値観、問題意識など)と、質問文(文字列)「あなたは気候変動についてどのように考えますか?」を組み合わせた文字列から、もっともらしい言語パターンを生成します。
ですので、役割部分が異なると、生成される回答の内容も違ってくるわけです。
人間の世界でも同じですよね?
同じ質問をしても、答える人の職業や立場、経験、性別、さらには育ってきた環境によっても回答は大きく異なります。
同じことが、言語モデルでも言えるのです。
ですので、Act as によって、どのような立場からの回答を求めているのか、Act asとして、「トリガー」を与えてやる必要があるのです。