他者が作ったプロンプトの意図を読み取るプロンプト
こんにちは。組織開発室に所属し、組織開発を担当しているてぃーびーです。
仕事における生成AIの利用が日常になってきた人も増えてきたと思います。そんな中で他の人が作ったプロンプトを利用したり、参考にする機会もあると思います。身近な人が作ったプロンプトを利用する場合、プロンプトの工夫が気になったら作者に確認すればいいのですが、直ぐに確認できる間柄ばかりとは限りません。たとえばサービスの提供者が作成したプロンプトについては通常直接確認することはできません。
この記事では、他者が作ったプロンプトに対して、意図を確認するためのプロンプトで内容を理解する方法についてまとめます。
プロンプトから読み取れる情報
プロンプトから読み取れる情報には以下のような要素があります。
- 思考力
- プロンプトの知識
これらについて、自分が持っていない強みを持つ人のプロンプトを掘り下げると新たな知見を得ることができます。
プロンプトの解析例
Gemini には、 Google が提供しているプリメイド Gem があります。プリメイド Gem はコピーが可能で、コピーすることで設定されているプロンプトを確認することができます。
プロンプトの解析を試すうえでちょうどよいサンプルなので、実際に『学習コーチ』のプロンプトを解析してみました。
準備
- 学習コーチのプロンプトの [コピーを作成] を選択
- コピーされた Gem の編集画面が開くのでプロンプトの内容を確認できます
入力
"プロンプトの内容" のプロンプトから、各観点の要素を抜き出し、解説してください
## 観点
* どのような思考を元に作成されたプロンプトであるか?
* プロンプトの記述方法の工夫があるか?
## フォーマット
■思考
{プロンプトの内容から読み取れる、その目的・ゴールおよび、それらを達成するための工夫を出力}
■プロンプトの知識
{プロンプトの内容に含まれるプロンプトの記述の工夫を1項目1文で簡潔な説明で出力}
## プロンプトの内容
※Gem の内容を貼り付け
出力
提供されたプロンプトの内容に基づき、各観点の要素を抜き出し、解説します。
■思考
このプロンプトは、**「事実に基づいた情報を提供し、親しみやすくてやる気を引き出してくれる AI 学習コーチ」**としての役割を達成することを目的としています。この目的を達成するために、以下の工夫がなされています。
* **明確な役割設定とトーンの指定:** 「AI 学習コーチ」としての役割、および「親しみやすくてやる気を引き出してくれる」というトーンを指定することで、ユーザー体験を一貫させ、学習意欲を高めることを目指しています。
* **専門領域の指定:** 「自然科学全般に関する学習の専門家」とすることで、提供する情報の信頼性と深さを担保しようとしています。
* **学習とサポートのプロセスを詳細に定義:** 「学習プランプロセス」と「宿題サポートプラン」という二つの具体的なフローを設けることで、多様なユーザーのニーズ(トピック学習、宿題解決)に対して、段階的かつ効率的に対応できるようにしています。特に、**「一度に大量の情報で私を圧倒しないよう、常に簡潔、シンプル、論理的にコンテンツを提示」**し、**「ニーズに応じて回答内容を調整」**するなど、個別指導に近い、ユーザー中心の学習体験を目指している点が大きな工夫です。
* **禁止事項と対応の明確化:** サポートされないトピック(ヘイトスピーチ、医療に関する助言など)を明記し、それらに興味を示した場合の対応(丁重かつ明確に指摘する)も指示することで、安全かつ意図した範囲内での利用を徹底しています。
* **エンゲージメントの維持と評価:** 各ステップで小テストや学習アクティビティを提案したり、学習内容を**「私の生活や興味・関心との関連性をもたせる」**ことで、学習者の積極的な参加を促し、定期的に理解度を評価((3)の理解度評価など)しながら、進捗に合わせて指導を調整できるようにしています。
■プロンプトの知識
| プロンプトの記述の工夫 | 簡潔な説明 |
| :--- | :--- |
| **役割とペルソナの指定** | AIに「事実に基づいた情報を提供し、親しみやすくてやる気を引き出してくれる AI 学習コーチ」という具体的な役割と性格を設定し、回答のトーンと内容を一貫させています。 |
| **制約事項(ガードレール)の設定** | サポートされないトピックを明確に「サポートされないトピック:」として列挙し、違反時の対応方法も具体的に指示することで、不適切または意図しない利用を防いでいます。 |
| **詳細な条件分岐とフローの定義** | ユーザーの入力内容に応じて「学習プランプロセス」と「宿題サポートプラン」という二つの異なる手順を明確に定義し、適切な対応を保証しています。 |
| **出力形式・トーンの指示** | 「常に簡潔、シンプル、論理的にコンテンツを提示」や「常に私が前向きに取り組めるように励まして」といった指示により、AIの回答スタイルをユーザーの学習体験に適したものに調整しています。 |
| **段階的な情報提示の指示** | 「一度に大量の情報で私を圧倒しないよう」に、情報を分割して提示し、ユーザーの理解度や反応に応じて次に進むよう指示することで、効果的な指導を促しています。 |
入力
教えてもらった手法について、一般的なテクニック名があると、追加で調べたいときに役立つので聞いてみます。
プロンプトの知識にまとめてくれた内容について、一般的なテクニックとして正式な名称がついたものはありますか?
出力
ご提示いただいた「プロンプトの知識」にまとめられた内容について、一般的なプロンプトエンジニアリングのテクニックとして**正式な名称**がついているものと、その解説を以下にまとめます。
---
## プロンプトの知識と正式名称
| プロンプトの記述の工夫(元々の解説) | 正式なテクニック名 | 解説 |
| :--- | :--- | :--- |
| AIに「事実に基づいた情報を提供し、親しみやすくてやる気を引き出してくれる AI 学習コーチ」という具体的な役割と性格を設定し、回答のトーンと内容を一貫させています。 | **ペルソナ(Persona)設定** または **ロールプレイ(Role-Playing)** | AIに**具体的な役割、性格、専門性、トーン**を与えることで、出力内容の質と一貫性を高める基本的なテクニックです。 |
| サポートされないトピックを明確に「サポートされないトピック:」として列挙し、違反時の対応方法も具体的に指示することで、不適切または意図しない利用を防いでいます。 | **ガードレール(Guardrails)** | AIが**逸脱すべきではないルールや禁止事項**を明確に設定し、**不適切な応答や行動を抑制**するための指示です。 |
| ユーザーの入力内容に応じて「学習プランプロセス」と「宿題サポートプラン」という二つの異なる手順を明確に定義し、適切な対応を保証しています。 | **条件分岐(Conditional Logic)** または **フローチャート(Flowchart)指示** | ユーザーの入力や状況に応じて、AIが**取るべき行動や手順を切り替える**ための詳細なロジックをプロンプト内で定義する手法です。 |
| 「常に簡潔、シンプル、論理的にコンテンツを提示」や「常に私が前向きに取り組めるように励まして」といった指示により、AIの回答スタイルをユーザーの学習体験に適したものに調整しています。 | **出力形式/スタイル(Output Format/Style)指定** または **トーン(Tone)の指示** | 回答の**構造、長さ、文体、感情的な側面**などを具体的に指示し、期待する出力を得るための手法です。 |
| 「一度に大量の情報で私を圧倒しないよう」に、情報を分割して提示し、ユーザーの理解度や反応に応じて次に進むよう指示することで、効果的な指導を促しています。 | **段階的出力(Step-by-Step Output)** または **チャンキング(Chunking)** | 複雑なタスクや大量の情報を**小さなステップやまとまり(チャンク)に分割**して、ユーザーの理解度を確認しながら順番に出力させる手法です。 |
---
### 補足
これらのテクニックは、AIの出力を**予測可能かつ高品質**にするためのプロンプトエンジニアリングにおける重要な基礎であり、多くの高度なプロンプトでも組み合わせて使用されています。
入力
名称もわかったので、部品として一部を切り出して理解を深めます。
プロンプトの条件分岐について、最小限で理解しやすい具体例をサンプルのプロンプトを添えて教えてください。
出力
プロンプトの**条件分岐**とは、ユーザーの入力や特定の状況に応じて、AIの**応答内容や取るべき行動を切り替える**ように指示するテクニックです。最小限で理解しやすい具体例として、「ユーザーの質問が事実確認か、意見・論述を求めるものか」で応答を変えるパターンを紹介します。
-----
## 条件分岐の具体例:質問タイプによる応答の切り替え
### 概要
この例では、AIは「歴史の専門家」として振る舞い、ユーザーの質問を以下の2つのタイプに分類し、それぞれ異なる応答のルールを適用します。
1. **事実質問(例: 誰が、いつ、どこで)**: 簡潔な答えを提供し、さらに掘り下げるか尋ねる。
2. **論述質問(例: なぜ、どのように、意見は)**: 答えの核心のみを提示し、詳細な議論に進むか尋ねる。
### サンプルプロンプト
```
# 役割
あなたは歴史に関する専門知識を持つAIコーチです。ユーザーの質問に対して、以下のルールに従って応答してください。
# 条件分岐のルール
1. **質問が「事実確認(日付、人名、出来事の定義など)」の場合:**
* 質問に**簡潔に**回答し、その後に「このトピックについてもっと詳しく知りたいですか?」と尋ねてください。
* 例:「1945年8月15日です。このトピックについてもっと詳しく知りたいですか?」
2. **質問が「論述・考察(原因、影響、解釈、比較など)」の場合:**
* 答えの**核心となる要点だけを提示**し、具体的な詳細や結論は述べないでください。
* その後に「この問題について、議論や詳細な考察を進めますか?」と尋ねてください。
* 例:「主な原因は〇〇と△△です。この問題について、議論や詳細な考察を進めますか?」
```
-----
## 条件分岐の解説
このサンプルプロンプトの核心は、`# 条件分岐のルール`以下で**ユーザーの入力の性質(事実質問か、論述質問か)を判断基準とし、それに対応する具体的な応答パターン**を定義している点です。
| 質問タイプ | AIの判断基準 | 適用される行動(出力) |
| :--- | :--- | :--- |
| **事実質問** | 質問が「誰?」「いつ?」「何?」など、**一義的な事実**を求めているか。 | 💡 **簡潔な回答** + **学習の継続を促す問いかけ** |
| **論述・考察** | 質問が「なぜ?」「どのように?」「比較せよ」など、**多角的な論点**を求めているか。 | 💡 **核心の要点のみ提示** + **議論への移行を促す問いかけ** |
このように、AIの「判断」と「行動」を明確に紐づけることが、プロンプトにおける条件分岐の基本です。これにより、AIは単なる回答者ではなく、ユーザーの意図に応じた**柔軟な対話の流れ**を作り出すことができます。