KNOWLEDGE - COLUMN ナレッジ - コラム

今日から使えるLLMのプロンプトテクニック

col203_main

関連するソリューション

業務改革

AI

グローバルイノベーションセンター
フェロー 黒住 好忠顔写真

みなさまこんにちは。フェローの黒住です。

ChatGPTが登場してから1年が経過し、この革新的な技術は多くの人々に知られるようになりました。ChatGPTを含む大規模言語モデル(LLM)は、その多様性と適用性で大きな注目を集めています。

LLMは様々な領域で活用できますが、LLMの性能を最大限に引き出すためには、適切なプロンプト技術が重要になってきます。今回は、「だれでも簡単に使えるLLMプロンプトの技術」をいくつかご紹介します。

LLMプロンプトの技術

Zero-shot prompting

Zero-shot promptingは、特別なことは何もせずに「そのままLLMに質問」する手法になります。Zero-shot promptingという立派な名前がついていますが「〇〇について教えてください」など、普通の聞き方、つまり直感的な質問をする手法になります。

# Zero-shot promptingの例
プロンプトとは何か簡単に教えてください。

# LLMからの回答
プロンプトとは、ある行動や反応を引き出すための刺激や指示のことを指します~(以下略)

One-Shot/Few-Shot prompting

One-shotやFew-shot promptingでは、一つまたは数個の回答例を提示して、利用者が求める回答内容の方向性を示す手法です。人間に対して質問する場合でも同様ですが、回答例を提示することで、より意図した通りの回答を得やすくなります。

例えば、回答例を示さず「11」や「ワイン」などと質問しても望んだ答えは得られないと思いますが、いくつか例を示すことで、それぞれ「11 → 奇数」、「ワイン → ブドウ」のような回答が得られるようになります。

# One-Shot promptingの例
例:20 -> 偶数
11 ->

# LLMからの回答
奇数
# Few-Shot promptingの例
例1: ビール ->
例2: 日本酒 ->
例3: ジンジャエール -> ショウガ
ワイン -> 

# LLMからの回答
ブドウ

出力形式の指定

出力形式を事前に指定することで、LLMからの回答をより使いやすい形で受け取ることができます。例えば、リスト形式や、プログラムで活用しやすいjson形式での回答をリクエスト可能です。

# リスト形式での指定
インスタントカレーの材料をリスト形式で教えて

# LLMからの回答
- カレールー
- 野菜(玉ねぎ、にんじん、じゃがいもなど)
- 豚肉や鶏肉(お好みで)
- 水またはだし
- サラダ油
-
- こしょう
- その他お好みの調味料(ソースやケチャップなど)
# json形式での指定
インスタントカレーの材料をjson形式で教えて

# LLMからの回答
{
  "カレールー": "1箱",
  "肉(鶏肉、牛肉、豚肉など)": "適量",
  "野菜(じゃがいも、にんじん、たまねぎなど)": "適量",
  "水": "適量",
  "油": "大さじ1",
  "塩": "少々",
  "こしょう": "少々"
}

ロール設定

LLMに特定のロール(役割)を与えることで、そのロールに合わせた精度の高い回答を引き出せます。たとえば、LLMに「経済アナリスト」というロールを与えてデータ分析を依頼することで、より専門的な視点からの回答が期待できます。

# ロール設定の例(1)
あなたは経済アナリストのプロです。
次の財務情報について分析してください。

# ロール設定の例(2)
あなたはベテランのテクニカルライターです。
AIの活用について魅力的な記事の案を5つ考えてください。

参照されやすい箇所

多くのLLMは、プロンプトの「最初、もしくは最後」の部分が重視されやすいという調査結果が発表されています。重要な情報を「プロンプトの最初か最後に書く」ことで、これらの情報が回答に反映されやすくなります。

[2307.03172] Lost in the Middle: How Language Models Use Long Contexts (arxiv.org)


英語で質問

多くのLLMは英語に最適化されているため、英語で質問することで、LLMの性能を高めることができます。LLMモデルの規模が大きくなれば、言語の違いによる性能差は縮まる傾向にありますが、それでもなお、英語の方が精度が高くなります。

英語と日本語を混在させた形での質問や、日本語での回答もリクエストできます。

# 英語と日本語の混在例
Please explain the importance of "プロンプトエンジニアリング" in a way
that is easy to understand, even for beginners. Answer in Japanese, please.

# LLMからの回答
「プロンプトエンジニアリング」とは、人工知能(AI)や機械学習モデルに対して、
特定のタスクや質問に効果的に答えてもらうための、入力文(プロンプト)を最適化する技術や
プロセスのことです。この場合、プロンプトとはAIに与える指示や質問のことを指します。

例えば、AIのチャットボットに何かを尋ねるとき、
どのように質問をするか(プロンプトを設計するか)によって、
得られる答えの質が大きく変わることがあります。
プロンプトエンジニアリングは、AIがより正確で、役立つ答えを提供できるように、
その質問の仕方を工夫することを指します。

この技術の重要性は、特に先進的なAIモデルを使用する際に顕著です。
なぜなら、プロンプトの工夫次第でAIの性能を最大限に引き出し、
より効果的なコミュニケーションやタスクの実行が可能になるからです。

簡単に言えば、「プロンプトエンジニアリング」は、
AIに最適な質問をするための技術であり、
その質問の仕方によってAIの応答の質を上げることができる重要なプロセスです。

Step by step

プロンプトに「Let’s think step by step」というフレーズを加えることで、LLMが段階的に思考を行うようになります。これにより、複雑な質問に対して、より詳細で整理された回答を得ることが可能になります。日本語の場合は「ステップバイステップで考えて」と付け加えるとよいでしょう。

[2205.11916] Large Language Models are Zero-Shot Reasoners (arxiv.org)


深呼吸

プロンプトに「Take a deep breath」というフレーズを加えることで、LLMが冷静になり、回答精度が向上するという論文が発表されています。 もちろん、LLMはAIなので深呼吸はできませんが、このフレーズを追加するだけで振る舞いが変わってきます。日本語の場合は「深呼吸して考えてください」という感じのフレーズにするとよいでしょう。

[2309.03409] Large Language Models as Optimizers (arxiv.org)


感情

LLMは人間の感情的な刺激を理解している可能性が高く、感情的な表現をプロンプトに追加することで、回答精度が高まることが発表されています。

この論文ではいくつかの感情的なフレーズが試されていますが、例えば「この質問は私のキャリアにとってとても重要です」とか「自分の能力を信じて、もっと上を目指して」というような、感情的なプロンプト(EmotionPrompts)を追加するだけで、回答精度が向上します。

[2307.11760] Large Language Models Understand and Can be Enhanced by Emotional Stimuli (arxiv.org)


質問の言い換え(RaR)

人間が考えた質問の意図などがLLMに正確に伝わらず、あまり良い回答が得られない場合があります。このようなケースに対応するため、「LLMが人間の質問を言い換えたうえで回答」するRaR(Rephrase and Respond)という手法が発表されています。

使い方も簡単で、質問の後に「質問を言い換えて拡張し、それに答えてください」と付け加えるだけでLLMが回答しやすい質問に変換され、結果として回答精度を上げることが可能です。複雑な質問や、あいまいな質問などで効果があります。

[2311.04205] Rephrase and Respond: Let Large Language Models Ask Better Questions for Themselves (arxiv.org)

# 質問の言い換え(RaR)の例
質問: C,E,Gの音で、最初の音をEにして7thにした場合の和音。
質問を言い換えて拡張し、それに答えてください。

# LLMからの回答
質問の言い換えと拡張: C, E, GのトライアドであるCメジャーコードの根音をEに移動し、
さらに7th(セブンス)を加えて和音を構成する場合、どのような和音ができるのかを尋ねています。

答え: 元の和音はCメジャーコードで、音はC, E, Gです。
最初の音(C)をEに移動し、セブンス(7th)を加えると、Eを根音とする和音ができます。
この場合、Eのドミナントセブンス和音(E7)が考えられますが、
Cメジャーの音を用いるという条件があるため、Cメジャースケールの音を考慮に入れる必要があります。

Cメジャースケールの音はC, D, E, F, G, A, Bです。セブンスを加える場合、
EのメジャースケールにおけるセブンスはDです。
しかし、CメジャースケールにおいてEから数えて7番目の音(セブンス)はDではなく、
B(メジャー7th)です。

したがって、Eを根音としてCメジャースケールの音を使った7thの和音は、
次のようになります:E, G, B, D。これはEマイナー7 (Em7) です。

プロンプトエンジニアリングに関する情報

LLMに「どのように質問すれば、意図したとおりの情報が引き出せるのか」については日々研究が進められており、今現在も多くの手法が発表され続けています。

このような中で、プロンプトエンジニアリングに関する基本的な情報を扱っている「プロンプトエンジニアリングガイド」が公開されています。今後も「プロンプトエンジニアリング」は非常に重要な位置づけとなるため、興味がある方は、ぜひ参照していただければと思います。

Prompt Engineering Guide | Prompt Engineering Guide (promptingguide.ai)

ID AI コンシェルジュのご紹介

最近では、ChatGPTをはじめとした、LLMを活用したサービスが複数登場しています。

弊社でも「企業で安心して利用できる、企業向けのチャットサービス」として、「ID AI コンシェルジュ」を開発・販売しております。もちろん、上記で取り上げたプロンプトテクニックも、ID AI コンシェルジュでそのまま利用できます。

ID AI コンシェルジュの詳細については、以下の情報を参照いただければと思います。

最後に

LLMは様々な領域で活用できる強力なツールですが、その能力を最大限に活用するためには「適切なプロンプト技術」が必要になります。今回紹介したテクニックを活用することで、より効果的な問題解決や作業の効率化が可能になります。

ぜひ、LLMを活用するための「プロンプトテクニック」をいろいろ試してみてくださいね!

それではまた、次回のコラムでお会いしましょう。


当サイトの内容、テキスト、画像等の転載・転記・使用する場合は問い合わせよりご連絡下さい。

エンジニアによるコラムやIDグループからのお知らせなどを
メルマガでお届けしています。

メルマガ登録ボタン


黒住 好忠

株式会社インフォメーション・ディベロプメント フェロー

この執筆者の記事一覧

関連するソリューション

業務改革

AI

関連するナレッジ・コラム

論文の頻出キーワードからみる、次なるAIトレンドとは

エンジニアとしての質を上げるためのAI利用法

今話題のVector Storeを解説