プロンプトとは、AIに与える指示文のことです。生成AIに適切な指示を与えることで、精度が高い回答を得ることができます。いわば、生成AIを使いこなす鍵となるのが、プロンプトテクニックです。今回は、より精度が高い回答を生む応用的なプロンプトテクニックをご紹介します。
目次
0. 結論
プロンプトはズバリこう書きましょう。
- 明確な指示
- 役割
- コンテクスト
- フォーマット
- 考え方を与える
これに従ったプロンプト例を以下に載せます。会社の中で、インタビューをして、インタビュー記事を会社のウェブサイトに載せる場面を想定します。インタビューの文字起こしを、WEB記事にしてもらうように生成AIに指示します。
あなたはウェブライティングの専門家です
今から与える**インタビュー内容**を会社WEBサイトに載せるブログ記事にしてください。
出力にあたっては、マークダウン形式で出力してください。
インタビュー内容は対話形式になっているので、インタビューを受けている人の話を中心に、記事の骨組みを構築してください。特に、キャリア構築についての話については内容を豊富にしてください。
“””[インタビュー内容をここに与える]”””
1. ゴール (Instruction)明確な指示を書く
まず、一番初めにAIに「~してください」と命令します。何よりも先にAIにしてほしいことを指示します。
AIは命令通りに動きますから、具体的ではっきりした指示が効きます。
明確な指示の例:
500文字以内で、専門用語を極力使わずに量子コンピューターの仕組みを説明してください。
5歳児でも分かるように説明をしてください
詩を書いてください
Web ページのコードを作成してください
Blog を書いてください
文章を要約してください
「◯◯を書いてください」「◯◯を分析してください」のように、プロンプトの一番最初に端的に指示を書きます。具体的な指示を入力してAIを思い通りに動かしましょう。
アンチパターン(しないほうがいいこと)
品質の指定をしない
よく、巷では「最高の」「最高品質」などの品質指定のキーワードを入れる例が見られます。しかし、
「最高」「最高品質」のようなキーワードはむしろ、抽象的な指示であり、生成AIは認識してくれないことがあります。AIは、具体的な文脈・考え方を与えることでいい回答を出してくれますので、このような抽象的な品質指定の言葉は控えましょう。
2. 役割 (Role)
続いては、役割の付与です。AIに対して、「あなたは~~してくれる人です」と役割を与えることで、その手のプロフェッショナルとして振る舞ってもらい、望んだ回答を得る方法です。これは、AIに文脈を与える 3. 追加情報 のテクニックに似ています。明確な役割を与えることで、特別な回答を得ようとするものです。
筆者は、ChatGPT-o1に「COO(最高事業責任者)」の役割を与え、ビジネスの壁打ち相手になってもらっています。
役割付与の例:
ソフトウェアエンジニアとして振舞ってください
ジャーナリストとして振舞ってください
営業として振舞ってください
英語の教師として振舞ってください
アンチパターン(しないほうがいいこと)
意味のない役割付与をしない
「あなたは◯◯です」という役割付与は、AIに、特別な役割を期待するときにのみ効果があります。逆に言うと、単純にデータの処理をしてほしいときは、このような役割付与が邪魔になります。
あくまで、AIとの会話のスレッドの中で、特別な役割をさせたい時にだけ、役割付与をしてください。
3. 追加情報 (Context)
AIは、文章全体の文脈を盛り込んで回答するように訓練されています。
つまり、AIに背景情報や追加情報を与えることで、より正確で望ましい回答が返ってきます。
これによって、回答の精度が上がります。
例えば、AIに参照テキスト・信頼できる情報を与えてみましょう。
追加情報の例:
以下の文章を参考に、酸素酸化物が環境に与える影響について説明してください:
“””[関連する科学論文や報告書の抜粋]”””
以下の**情報**を基に要約をしてください
“””[情報]”””
以下の**データ**を基にして、xxx の各項目を埋めてください
“””[データ]”””
以下の**テキスト**を基にして、既存の表に列を追加してください
“””[テキスト]”””
コンテキスト(背景情報)は”””で囲むのがおすすめ
AIにわかりやすいよう、参照情報はバッククオテーション記号で囲むのがおすすめです。
このように、必要な情報や前提条件与えることで、回答精度がよくなります。
AIはいわば、全てについて初心者です。頭脳は揃っていますが、情報や適切な指示を与えないと、動いてくれない新人のようなものです。なので、必要な情報や資料、要件をそろえて渡しましょう。きっと思い通りの回答を出してくれます。
4. 出力のルールを指定する (format)
フォーマットを指定しましょう。箇条書きで出してほしいのか、メールで使える形で出してほしいのか、カジュアルな文章がほしいのか、指示しましょう。
作風 (format #1)
文体を指定できます。フォーマルな文章にすると、会社で使える文章を作成できます。
- ポエム調に
- フォーマルな書式で
- 短い文章で
出力書式 (format #2)
今度は、具体的な形式を指示します。「箇条書きで」と指示すると、箇条書きの文章が返ってきます。
会社では、「メール本文に使える形で」と指示するのがおすすめです。
- 数字のリストで
- 箇条書きで
- メール本文に使える形で
- Python のコードで
- HTML で
- 絵文字も付けて
- 表形式で
- マークダウンの形式で
5 考え方の「型」を与える
ChatGPTのような生成AIは、Transformerというモデルで動いています。Transformerとは、前後の文脈を盛り込んで文章を生成するアルゴリズムのことです。このように、文脈を大切にするのが生成AIですので、AIに思考の「型」を与えると、スムーズになります。
「こんなふうに考えてね」と言うことで望んだ回答が出てくるようになるのです。いかに、思考の型を与える例をご紹介します。
1️⃣ モデルに「考える」時間を与える
即座に結論を求めるのではなく、「段階的な推論」を促す
この数学の問題を解く前に、まず問題を分析し、解決のアプローチを説明してください。
その後、段階的に解答を導いてください。
このようにすることで、AIに段階的に思考して、解答するように命令できます。
2️⃣ 複雑なタスクを単純なサブタスクに分割する
細かく分解して指示を与えます。これによって、解答の精度が高くなります。
- ビジネスプランの概要を箇条書きで作成してください。
- 各項目を1段落で詳細に説明してください。
- 財務予測を表形式で作成してください。
いきなり「表形式で作成してください」と指示すると、うまくいかないことがあります。
「まず、1をして、次に2をして、最後に3をしてください」と、作業手順を与えることで、AIは複雑な作業を認識してくれます。
新人に、事細かに仕事の手順を教えるのに似ていますね。
3️⃣外部ツールを使用する
「計算する際はPythonを使ってください」と指示することで、生成AIが単独では難しいタスクをこなす方法です。
以下のPythonコードを実行し、結果を解釈してください:
“`python
import numpy as np
…“`
Pythonを使って考えるように指示しています。生成AIは単独では数値計算の問題を解くのが苦手とされています。しかし、Pythonを使って考えるように指示すれば正確な回答が期待できます。
Tips 小さいテクニック
ここからは、AIを使いこなす細かいテクニックをご紹介します。
アイデア出しに有効 – 出力した理由を書かせる
アイデアや草案を出してもらうときに一緒に理由を出してもらう方法です。AIにアイデア出しをしてもらうと、欲しかったアイデアとズレていることがあります。その時に理由を問いただせば
プロンプトのテストをする
プロンプトそのものを、AIに評価してもらう方法です。
例:
このプロンプトの性能を評価するために、10種類の入力テストをし、各出力の正確性、関連性、詳細度を1~5で評価してください。
マークダウン記法を使用する
マークダウンで構造化することで、ChatGPTが文章の構造を把握しやすくなります。
マークダウン記法の大まかなルールはこのようになっています。
大項目は「## 」(半角シャープ2つ+半角スペース1つ)
小項目は「### 」(半角シャープ3つ+半角スペース1つ)
箇条書きは「- 」(半角ハイフン1つ+半角スペース1つ)
コードは「“`」(バッククオート3つ)で囲む
まとめ
こちらがブログのまとめの例文です:
生成AIを活用するうえで重要なのが「プロンプト」の使い方です。プロンプトはAIに与える指示文のことで、これを工夫することでより精度の高い回答を引き出すことができます。本記事では、生成AIを最大限に活用するための応用的なプロンプトテクニックをご紹介しました。これらのテクニックを身につけることで、AIの能力を引き出し、目的に応じた効果的な利用が可能になります。ぜひ、日々のAI活用にお役立てください!