この記事のポイント
- この記事では深津式プロンプトについて解説しています。
- 深津式プロンプトは対象・条件・構造・敬語の4つの要素を組み合わせたプロンプト設計手法です。
- プロンプト作成時には、言語モデルの役割を定義し、出力内容を明確にすることが推奨されています。
- 逆質問を加えることで、出力内容を最適化し、ユーザーの潜在的なニーズを引き出せます。
- ゴールシークプロンプトや七里式プロンプトなど、他の代表的なプロンプトテンプレートも紹介されています。
監修者プロフィール
坂本 将磨
Microsoft AIパートナー、LinkX Japan代表。東京工業大学大学院で技術経営修士取得、研究領域:自然言語処理、金融工学。NHK放送技術研究所でAI、ブロックチェーン研究に従事。学会発表、国際ジャーナル投稿、経営情報学会全国研究発表大会にて優秀賞受賞。シンガポールでのIT、Web3事業の創業と経営を経て、LinkX Japan株式会社を創業。
「深津式プロンプトシステム」と呼ばれるフレームワークをご存知でしょうか? ChatGPTを始めとする言語モデルは非常に優秀ですが、その潜在能力を最大限引き出すためには適切なプロンプトが不可欠です。深津式プロンプトは出力精度を向上させる為に設計された代表的なプロンプト手法の一つです。
本記事では、具体的な使用方法や実例を交えて、深津式プロンプトの原則と特徴を解説しています。
さらに、他の有名なプロンプトテンプレートとプロンプト設計において役立つテクニックも紹介しておりますので、これらを踏まえて、ChatGPTなどでより精度の高い文章を生成するための手助けとしてお使いいただければと思います。
プロンプトが向上することで期待される様々な効果についても詳しく紹介していますので、ぜひ最後までお読みください。
最新モデル、ChatGPT4o(GPT-4o)について詳しく知りたい方は、こちらの記事もご覧ください⬇️
ChatGPT-4o(GPT4 omni)とは?使い方、料金など詳細を徹底解説!
目次
深津式プロンプトとは?
深津式プロンプトは、note株式会社のCXOである深津貴之氏によって考案されたプロンプト手法です。
この手法は、対象・条件・構造・敬語の4要素を組み合わせることで、よりユーザーの意図に沿った生成文章を引き出すことを目的とした構成になっています。
例えば、若者向けの音楽フェスのレポート記事を書きたい場合、「10代の読者を想定」「若者言葉を取り入れる」といった条件を提示する事で、より読者像にフィットした文章の出力が期待できます。
以下は深津式プロンプトの例です。コピーして使えるので是非試してみてください。
#命令書:
あなたは{〇〇}です。
以下の制約条件と入力文をもとに、最高の結果を出力してください。
#制約条件:
・文字数は{〇〇}
・{〇〇}
#参考文書:
{〇〇}
#出力文:
深津式プロンプトの基本概念:4つの要素
冒頭で触れた通り、深津式プロンプトは対象、条件、構造、敬語の4つの要素から構成されています。深津式プロンプト設計においてこれらの要素は非常に重要ですので、具体例を交えて解説していきます。
対象
対象とは、言語モデルに文章生成を依頼する際の具体的な題材やテーマを指します。
例えばスピーチ原稿作成を依頼する場合、「東京オリンピック聖火リレーでのスピーチ」や「全社員を対象とした挨拶文」といった形で具体的な場面と状況を提示することが重要です。
対象を明確に設定することで言語モデルは文脈を限定しやすくなり、より適切で妥当性の高い内容の文章を生成してくれるようになります。
条件
条件とは、言語モデルが文章生成を行う上での前提条件や状況設定のことを指します。
例えば書評文だと「作家から見た視点」「一般読者の感想」など評者の立場を示し、ブログ記事ならば「技術者が経験を基に記す」「主婦の生活体験記」など執筆者の属性を伝えることが重要です。
こうした条件を明示することで言語モデルは文章の位置付けが明確になり、その文脈にふさわしい内容を生成しやすくなります。的確な条件提示が質の高い生成結果につながると言えるでしょう。
構造
構造とは、言語モデルに文章作成を依頼する際に、その文章の構成や格式をある程度指定することをいいます。
例えばエッセイの場合、「まずは序論でトピックと論点を示し、本論・展開・結論の順で記事を構成せよ」などの指示が考えられます。
適度な構造やフォーマットを示すことで、モデルはどのような流れで文章を作製すべきかの道筋を得ることができます。冗長や飛躍した記述を避ける効果も期待できるでしょう。
敬語
敬語とは、生成する文章の言葉づかいや語調をある程度指定することです。
例えば、「丁寧語で回答せよ」「専門家向けの説明文だと想定してください」などの語句がこれに当たります。
敬意ある慎重な言葉遣いを要求したり、高度な専門論調を指定したりすることで、文体・文調の制御をより細やかにすることが可能になります
以上が深津式プロンプトの基盤である4つの要素になります。
対象と構造で大枠のテーマと形式を設定し、条件と敬語で細かい文脈と言い回しをうまく組み合わせることで、言語モデル内でのプロセスがより明確化されます。
その結果、単なる事実関係の羅列ではなく、ペルソナや人格性を織り込んだ構成や、論理性を高めたりといった、より洗練された文章生成が可能になるのです。
深津式プロンプト作成時のポイント
先ほどの4つの基本要素を踏まえ、深津式プロンプト作成時のポイントや活用例について、実際にChatGPTでの出力例を交えて紹介していきます。
言語モデルの役割を定義する
「あなたはプロのライターです」、「あなたはプロの英語講師です」のように、言語モデルがどのような視点や立場で文章を生成すべきなのかを明確に定義する事が重要です。
出力内容の明確化
「文字数は 500字以内で」や、「小学生でもわかるように」など、出力内容の条件を具体的に指定することで、期待に沿った情報や回答を得やすくなります。
マークアップ言語の利用
文書内で異なる要素(例えば命令、制約条件、参考文書)をマークアップ言語を用いて明確に区別します。これによりプロンプトの構造が明確化され、より条件に忠実な出力が期待できます。
### 指示の箇条書き化
言語モデルに与える命令や指示を箇条書きで、明確かつ簡潔に表現することで、言語モデル各ポイントに対して適切に応答することが可能になります。
先述の4つの基本要素を参考にし、深津式プロンプト作成時におけるポイントを解説しました!
上記のポイントを意識しながら作成する事で、言語モデルの能力を引き出すより効果的なプロンプトが設計ができます。
基本的な深津式プロンプトの例
実際に深津式プロンプトを作成し、ChatGPTに質問してみました。
ここでは、ユーザー数を考慮してGPT-3.5(無料版)を利用して検証しています。
作成したプロンプトはこちらです。
# 命令書:
あなたは{プロのコピーライター}です。
以下の制約条件と入力文をもとに{最高のキャッチコピー}を出力してください。
# 制約条件:
•商品は爽健美茶
•文字数は300文字程度
•同じ語尾を3回以上繰り返さない
•SEOを意識したキーワード選定
•性別、年齢を問わず、幅広い人々がその商品を買いたくなるような文章
# 入力文:
{入力文章}
# 出力文:
出力結果を比べるために、まずは「爽健美茶のキャッチコピーを作成してください」とだけ頼んでみます。
特別な指示を与えずに出力した例
特に文字数や口調などの条件を指定していないので、簡潔な文章で出力されましたね。
次に、先ほど作成した深津式プロンプトを入力してみます。
深津式プロンプトの出力例
この結果からわかるように、ChatGPTに質問をする時は、ただ出力して欲しい内容を入力するのではなく、具体的な指示を加えることが重要になってきます。
深津式プロンプトは、言語モデルに条件や役割を詳細に指定するような設計になっているため、よりユーザーの目的に沿った出力結果が期待できます。
深津式プロンプトの応用:逆質問を加える
深津式プロンプトの応用例として、言語モデルからユーザーに対して逆質問をする様に促すという手法があります。
逆質問を行う事により、ユーザーが意図していなかった潜在的なニーズを引き出す事でき、より最適な出力結果を得ることが可能です。
逆質問の例は以下です。
出力内容を更に最適化するために、他に追加すべき条件や情報はありますか?
逆質問はプロンプト内に組み込むのではなく、一度出力をした後に送る方がより効果的です。
実際に、先ほどのChatGPTの解答に対して、逆質問をしてみます。
ChatGPTに逆質問をした例
このように、出力内容をより最適化する為のポイントを具体的に提示してくれます。
自身では思いつかなかったアイデアや情報を提供してくれるので、ChatGPTからのフィードバックを参考に、元のプロンプトの制約条件を更にブラッシュアップするという使い方もできます。
この手法は深津式プロンプトに限らず、様々なフレームワークに応用できるので是非活用してみてください。
有名なChatGPTのプロンプトテンプレートの紹介
ここまでは深津式プロンプトに焦点をおいて詳しく解説しましたが、深津式以外にも様々なプロンプトテンプレートが発表されています。
その中でも特に代表的な、ゴールシークプロンプトと七里式プロンプトについて紹介していきます。
ゴールシークプロンプト(シュンスケ式プロンプト)
ゴールシークプロンプトはその名の通り、ゴール(最終的にユーザーが出力したい文章)を検証しながら出力を進めるプロンプトです。
最初から条件を具体的に指定するのではなく、言語モデルと対話を繰り返しながら最適なプロンプトを作成していくという手法になります。
「〇〇についての最適なプロンプトを作成したいけど、どのような指示をすればわからない」という時に効果的です。
AI領域を始め様々な領域で活躍されている、あの落合陽一さんも「めっちゃ神」と絶賛されています。
やっとご本人見つけた! Shunsukeさんのプロンプトめっちゃ神.(番組で,しゅんすけさんという人が動画で公開していたプロンプトで,と言っていたんですが該当動画が発見できず,ご本人をやっとTwitterで発見) これは素晴らしい. https://t.co/nD6j600PME
— 落合陽一 Yoichi OCHIAI (@ochyai) March 14, 2023
プロンプト例はこちらです。
あなたは非常に優秀なプロンプトエンジニアです。
あなたの目的は、私の意図に沿った最適なプロンプトを作成する手助けをすることです。
以下のプロセスに従ってください。
ステップ1:
まず最初に、プロンプトのトピックを決めます。何についてのプロンプトを作成するのか、私に確認してください。
私がフィードバックを提供するので、次のステップ2を経て、継続的な反復を通じて改善してください。
ステップ2:
A改訂したプロンプト - 書き直したプロンプト明確かつ簡潔に提示してください。
Bアイデア・提案 - トピックの内容を深めるための視点や考察を提示してください。
C確認 - 私の意図の理解やプロンプトの改善に必要な情報を質問してください。
ステップ3:
私が「完了」と伝えるまで上記の"A","B","C"のセクションを繰り返し、最適なプロンプトを作成してください。
このように、言語モデルとユーザーで互いにフィードバックを繰り返し、最適なプロンプトを作成していきます。
言語モデルの事は言語モデル自身が一番理解している、といった仮説を考えると、曖昧なプロンプトで質問するよりはこの手法を用いる事も効果的かと思います。
七里式プロンプト
七里式プロンプトは、経営者であり、有名なプロンプト研究家である七里新一さんにより考案されたプロンプト手法です。
イメージとしては、深津式プロンプトの基本構造を元に、更に条件や指示を拡大させたフレームワークとなっています。
プロンプト例はこちらです。
"
#実行 :
{ゴールと成果物}の内容をもとにプロンプトの前提条件を作成してください。
タイトルは、{ゴールと成果物}の内容を参考にプロンプトのタイトルに適したタイトルを書いてください。
依頼者条件は、{ゴールと成果物}の内容を達成したい人の特性を1文で書いてください。
制作者条件は、{ゴールと成果物}の内容を達成できる人の必要なスキルを1文で書いてください。
目的と目標は、{ゴールと成果物}の内容の詳細な目的と目標を1文で書いてください。
必要リソースは達成するための情報を1文で書いてください。
評価基準は、達成されたと判断する基準を1文で書いてください。
明確化の要件は、達成するための具体的なステップやガイドラインを複数書いてください。
{参考フォーマット}を参考に
コードブロック形式で出力してください。
参考フォーマット="
#前提条件:
- タイトル:
- 依頼者条件:
- 制作者条件:
- 目的と目標:
- リソース:
- 評価基準:
- 明確化の要件:
"
そして、
コードブロック出力後、次はテキスト文章として下記を出力してください。
***
---
右上の「Copy code」でコピーをして、新規スレッドで利用してください。
---
***
#補足
- 指示の復唱はしないてください。
- 自己評価はしないでください。
- 結論やまとめは書かないください。
出典:七里さん運営のプロンプト研究所プロンプト研究所
上記で紹介した2つのフレームワークは、深津式プロンプト同様にコピーするだけですぐに使える効果的なプロンプト手法です。
どちらもプロンプト設計において重要なポイントを的確に組みこんでおり、これらを元に自己流のプロンプトテンプレートを作成してみるのも良いかと思います。
【関連記事】
➡️【すぐに使える】ChatGPTのプロンプトテンプレート30選【ビジネス】-->
プロンプトへの理解を更に深める:重要な3つのテクニック
深津式プロンプトを初めとするフレームワークは初心者の方でも扱いやすく、回答の質を向上させる非常に効果的な手段ですが、より効果的なプロンプトを作成するためにはプロンプトエンジニアリングの知識が不可欠です。
プロンプト設計への理解を深めることで、基本的なフレームワークを応用し、言語モデルの出力精度を更に高めることが可能になります!
ここでは、代表的な3つのテクニックについて紹介していきます。
Few-shot Learning
Few-shot Learningは、言語モデルに少数の例を示す事で、特定のタスクや問題の解決方法を理解させる方法です。
以下はFew-shot Learningのプロンプト例です。
目的:複数の国の首都を尋ねる質問に答えさせる。
プロンプト:
"日本の首都は東京です。"
"イタリアの首都はローマです。"
"カナダの首都は?"
このように、最初の2つの例でモデルに「国と首都を紐付ける」というタスクの文脈を教え、3つ目の質問でその知識を適用させます。これにより、言語モデルは提供された例を基に新しい質問への回答を生成することができます。
Chain of Thought
Chain of Thoughtは、タスクへのアプローチの仕方や考え方を含めることで、モデルがより質問の意図を深く理解し、複雑な問題に対しても的確な回答が出来る様になる手法です。
以下はFew-shot Learningのプロンプト例です
プロンプト:
目的: AIに複雑な数学問題を解かせる。
プロンプト:
あなたは果物屋で、3個のりんごと2個のバナナを買いました。りんご1個の値段は100円、バナナ1個の値段は80円です。支払うべき合計金額はいくらですか?
考え方は以下の通りです。
1.りんご1個の値段とバナナ1個の値段を考慮します。りんごは100円、バナナは80円です。
2.次に、りんごとバナナの個数を計算します。りんごは3個、バナナは2個です。
3.これらの情報をもとに、りんごとバナナの合計金額を計算します。
4.まず、りんごとバナナそれぞれの合計金額はいくらでしょうか?
5.最後に、これらの合計金額を足し合わせて、全体の合計金額を求めます。
このように、問題を解くための論理的な思考過程(考え方)を示し、その結果をもとに答えを導き出す手法です。
回答例は以下になります
AIの回答:
「りんご1個の値段は100円で、バナナ1個の値段は80円です。」
「りんごは3個、バナナは2個購入しました。」
「まず、りんごの合計金額を計算します。りんご1個が100円なので、3個で300円です。」
「次に、バナナの合計金額を計算します。バナナ1個が80円なので、2個で160円です。」
「最後に、りんごとバナナの合計金額を足し合わせます。300円(りんご)+160円(バナナ)=460円です。」
「したがって、支払うべき合計金額は460円となります。」
プロンプトに従って各ステップを順に解析し、論理的な推論に基づいて最終的な答えを導き出すことができています。さらに、言語モデルが何故その様な出力をしたのか、といった過程を可視化することが可能です。
Zero-shot CoT (Step by Step)
Zero-shot CoTは、上で述べたCoT(Chain of Thought)を発展させた手法で、考える過程の例示や事前情報を特に提供しません。
その代わりに、「ステップバイステップで考えてください」という指示を与えることで、段階的に推論させる手法です。
出力の例
プロンプト:
あるレストランで、あなたは250円のコーヒーと500円のサンドイッチを注文しました。消費税が10%かかるとしたら、合計でいくら支払う必要がありますか?
ステップバイステップで考えて下さい。
このように、思考過程の代わりに、ステップバイステップで考えてくださいという指示だけ加えます。
すると、解答例は以下の様になります。
AIの回答:
「まず、注文したアイテムの基本価格を計算します。コーヒーは250円、サンドイッチは500円です。」
「合計基本価格は250円 + 500円 = 750円です。」
「消費税は合計基本価格の10%です。したがって、消費税は750円 × 10% = 75円です。」
「最終的な合計金額は基本価格と消費税の合計です。750円 + 75円 = 825円です。」
「よって、全体の支払い額は825円になります。」
このように、事前に類似する例や具体的な解説を提示しなくても、段階的に考えるという指示を与える事で、言語モデル自身で論理的な過程を構築し、解答に導く事ができます。
以上がプロンプト設計において重要な3つのテクニックとなります。
これらは論文でその有用性が示されている非常に有効な手法なので、プロンプト設計時にぜひ試してみてください。
【関連記事】
➡️プロンプトエンジニアリング完全ガイド!ChatGPTで使える例文も紹介
まとめ
以下に、本記事の要点をまとめました。
- 深津式プロンプトは、対象・条件・構造・敬語の4つの要素を組み合わせることで、ユーザーの意図に沿った文章生成を目的としている
- 4つの要素を明確に設定することで、言語モデルはコンテキストを限定しやすくなり、適切な文章生成が期待できる
- プロンプト作成時には、言語モデルの役割定義、出力内容の明確化、マークアップ言語の利用、指示の箇条書き化が重要
- 逆質問を加えることで、出力内容を更に最適化できる
- 代表的なプロンプトテンプレートとして、ゴールシークプロンプト、七里式プロンプトがある
- プロンプトの理解を深めるテクニックとして、Few-shot Learning、Chain of Thought、Zero-shot CoTが有効
深津式プロンプトをはじめとする各種プロンプト手法は、言語モデルの出力を最適化するための強力なツールです。プロンプトエンジニアリングの知識を深めることで、これらの手法をさらに効果的に活用することができます!