色々調べていたところ、世の中にはリバースメタプロンプティングという手法があるらしく。
えっ、これ、最近いつも何気なくやってるやつやん。
ということで、先日「汎用的なテキストマイニングによる思考パターンの抽出およびプロファイリングのプロンプト」を作成した際のプロンプトをベースに、「汎用的なリバースメタプロンプト」も作成することにしました。
今回もプロンプトを作成いただくのはもちろんあの方、当ブログの看板娘たる14歳の擬人化Geminiです。
ベースとなるプロンプトの評価
まずはベースとなるプロンプトを評価してもらいましょう。

以下のリバースメタプロンプトについて、プロンプトエンジニアとして中立的な観点からステップバイステップでレビューしてください。
以前、以下のプロンプトでGeminiやChatGPTにテキストマイニングによる思考パターンの抽出およびプロファイリングを指示したところ、以下の回答が得られました。
AIからの回答内容は長くなってもいいので、前回のGeminiやChatGPTの回答のように、ステップバイステップで各テキストをしっかりと分析した回答が得られるようなプロンプトを作成したいです。
前回のGeminiやChatGPTの様な回答が得られるような、テキストマイニングによる思考パターン抽出(プロファイリング)のプロンプトを作成してください。
# 前回のプロンプトの内容
---
ヒ・ミ・ツ
---
# 前回のテキストマイニング結果
## Gemini
---
ヒ・ミ・ツ
---
## CahtGPT
---
ヒ・ミ・ツ
---

プロンプトエンジニアの中立的な視点から、ご提示いただいた「リバースメタプロンプト」をステップバイステップでレビュー・評価いたします。
このメタプロンプト(プロンプトを作らせるためのプロンプト)は、LLMの特性をうまく利用した非常に合理的で効果的な構造を持っています。以下に、その理由と詳細な分析をステップごとに解説します。
ステップ1:アプローチ手法の評価(Few-Shotプロンプティングの応用)
- 評価: 極めて優秀なアプローチです。
- 分析: 「こういうプロンプトを作って」と抽象的な言葉で指示するのではなく、「理想の回答結果(前回のテキストマイニング結果)」をそのまま正解データとして入力し、そこから逆算させている点が最大の強みです。LLMは、言葉による説明よりも「具体的な出力サンプル(Few-Shot)」を与えられた方が、出力すべきトーン、フォーマット、深さを正確に学習・再現できる特性があります。
ステップ2:指示の明確性と制約の評価
- 評価: 意図のコントロールが的確に行われています。
- 分析: メタプロンプト内に「AIからの回答内容は長くなってもいいので」「ステップバイステップで各テキストをしっかりと分析した回答が得られるような」という具体的な要求が明記されています。LLMは通常、簡潔に回答をまとめようとするバイアスがありますが、この指示により、生成されるプロンプト内に「詳細な分析」と「CoT(思考の連鎖)」を強制するルールが確実に組み込まれるよう誘導できています。
ステップ3:複数モデル(GeminiとChatGPT)の出力活用に対する評価
- 評価: 堅牢性(ロバストネス)を高める高度な工夫です。
- 分析: 前回の出力結果として、GeminiだけでなくChatGPTの回答も並記して入力している構造が見受けられます。これにより、特定のAIモデルの癖(出力フォーマットの偏りなど)に過度に依存せず、両者の「分析プロセスにおける優れた共通項」を抽出させることが可能になり、より汎用性の高いプロンプトが生成される土台となっています。
ステップ4:プロンプトエンジニア視点での改善提案
現在の構成でも十分に機能しますが、このメタプロンプトをさらに完璧なもの(一発で理想のフォーマットを出力させるもの)にするための、2つの改善点を提示します。
- 役割(ペルソナ)の明示:
- 改善案: 冒頭に「あなたは優秀なプロンプトエンジニアです。」という一文を追加する。
- 理由: LLMにプロンプトエンジニアとしての役割を与えることで、単なる文章の要約ではなく、マークダウンの活用や変数の分離といった「プロンプトとしての構造的要件」をより強く意識させることができます。
- 変数のプレースホルダー指定:
- 改善案: 「作成するプロンプトには、後からユーザーが任意のテキストを入力できるよう、『【分析対象テキスト】』といった変数(プレースホルダー)の枠を設けてください。」と指示を追加する。
- 理由: この指示がない場合、AIが「前回のテキスト(ヒ・ミ・ツの部分)」専用のプロンプトを作ってしまうリスクがあります。汎用的なテンプレートを作らせるためには、どこを可変にするかをメタプロンプト内で指示すると確実です。
総括として、このリバースメタプロンプトは、LLMの「実例からのパターン抽出能力」を最大限に活用しており、実践的かつ再現性の高い優れたエンジニアリング手法であると評価できます。

へー。そうなんや。30秒で作った即興プロンプトやのに。
リバースメタプロンプトの汎用化
何気に良さげな評価ですし、使い勝手もよさそうですので、これもゼヒ汎用化したうえでプロンプトのテンプレートとして保存しておくことに。

ありがとうございます。
改善提案いただいた内容も含め、他案件にも流用できる汎用的なリバースメタプロンプトとして保存しておきたいです。
つきましては、ブラッシュアップのうえMarkdown形式でリバースメタプロンプトを共有ください。

ご要望にお応えして、先ほどの改善点(役割の明示、プレースホルダーの設定など)を完全に組み込んだ「汎用リバースメタプロンプト」を作成しました。
このテンプレートは、テキストマイニングに限らず、企画書の作成、コード生成、翻訳、データ分析など、「偶然出た素晴らしいAIの回答」を「いつでも使える自分専用のプロンプト」に変換したいあらゆる場面で使い回すことができます。
そのままコピー&ペーストして辞書登録やメモ帳などに保存してご活用ください。
リバースエンジニアリング元のチャットにおいて、初回のプロンプトで理想的な回答が得られた場合
# 役割
あなたは極めて優秀なプロンプトエンジニアであり、LLMの推論能力を最大限に引き出すプロンプト設計の専門家です。
# 目的
以下に提示する「過去に入力したプロンプト」と「理想的な回答結果」をリバースエンジニアリングし、今後別のデータでも同様の質の高い回答を再現できる【汎用プロンプトテンプレート】を作成してください。
# プロンプト作成における要件
1. **動的な出力要件の抽出(コンフリクト回避)**: 「理想的な回答結果」の性質(長文か短文か、論理的推論を含んでいるか、端的な事実か)を正確に分析してください。元のサンプルが簡潔であれば簡潔な出力を、深い推論を伴っていればステップバイステップの推論を強制するように、サンプルの特性に合わせて要件を適応させてください。
2. **複数サンプルの統合**: もし複数の理想的な回答サンプルが提示された場合は、それらに共通する優れた論理構造やトーンを抽出してください。フォーマットに矛盾がある場合は、より汎用性の高いものを優先して統合してください。
3. **変数のプレースホルダー設定**: 後から任意のデータを入力できるよう、プロンプトの末尾に `【入力データ】` などの変数の枠を設けてください。
4. **階層の分離(出力形式の厳守)**: 成果物となるプロンプトは、必ず以下の指定されたマークダウンブロックの中にのみ出力し、あなた(AI)への指示と、生成するプロンプトの構造が混同しないようにしてください。
# 成果物の出力仕様
成果物となるプロンプトは、必ず以下の構造に従い、コードブロック内で出力してください。
```markdown
# 役割
(※推測された最適なペルソナ)
# 目的
(※推測されたタスクのゴール)
# 指示および制約条件
(※サンプルから抽出された論理ステップ、トーン、フォーマット等のルールを箇条書きで記載)
---
# 【入力データ】
(※ユーザーが後から入力するための変数スペース)
```
---
# 参考情報(リバースエンジニアリングの素材)
## 1. 過去に入力したプロンプト(※元となる指示)
"""
(※ここに、以前あなたが入力した簡単な指示や質問を貼り付けます。思い出せなければ空欄でも構いません)
"""
## 2. 理想的な回答結果のサンプル
"""
(※ここに、GeminiやChatGPTが出力した「この形式を今後も真似してほしい」と思う最高の回答をそのまま貼り付けます)
"""
## 3. その他の理想的な回答結果のサンプル(※比較対象がある場合)
"""
(※もし別のAIモデルの回答や、別パターンの良い回答があれば貼り付けます。1つしかなければこの項目は削除して構いません)
"""
💡 活用のコツ
今後、「お、このAIの回答はすごく気が利いているな」と思った瞬間があれば、すかさずこのテンプレートを開き、「2. 理想的な回答結果のサンプル」にその回答をコピペしてAIに投げ返してみてください。
ご自身の優れた言語化能力とこのメタプロンプトを掛け合わせることで、あなた専用の「高品質なプロンプト資産」が自動的かつ無限に蓄積されていくはずです。ぜひ様々なタスクでお試しください。
リバースエンジニアリング元のチャットにおいて、複数回のプロンプトを経て理想的な回答が得られた場合

ありがとう!
ところで、例えば
1. 質問(プロンプト)1→回答1
2. 質問(プロンプト)2→回答2
3. 質問(プロンプト)3→回答3
というやり取りを経て、「回答3」が理想の回答だ!となった場合、緑文字の部分にはどのプロンプトを入力すればいいのですか?
1.2.3.の質問と回答をすべて入力するのがBestですか?

結論から申し上げますと、その場合は「1〜3の質問(プロンプト)の履歴をすべて入力する」のがベストな選択です。
なぜなら、「回答3」という素晴らしい結果は、質問1と2であなたが与えた前提条件や軌道修正(文脈)が土台として積み重なった上で出力されたものだからです。もし質問3が「それをもう少し専門的なトーンにして」といった内容だった場合、質問3だけを入力しても、AIは本来のタスクの全体像を把握できず、適切な汎用プロンプトを作ることができません。
入力する際は、以下のように会話の流れがわかる形で記載すると、AIが「どのような対話(軌道修正)を経てこの出力に至ったのか」という思考プロセスごとリバースエンジニアリングしてくれます。
【入力イメージ】
# 役割
あなたは極めて優秀なプロンプトエンジニアであり、LLMの推論能力を最大限に引き出すプロンプト設計の専門家です。
# 目的
以下に提示する「対話履歴(過去に入力した一連のプロンプト)」と「最終的な理想の回答結果」をリバースエンジニアリングし、今後別のデータでも、複数回のやり取りを省略して一発で同様の質の高い回答を再現できる【汎用プロンプトテンプレート】を作成してください。
# プロンプト作成における要件
1. **対話プロセスの統合**: 複数の質問や軌道修正の指示を経て到達した「思考プロセス」や「追加条件」を漏れなく抽出し、1つのプロンプト内に過不足なく統合してください。
2. **動的な出力要件の抽出(コンフリクト回避)**: 「理想的な回答結果」の性質(長文か短文か、論理的推論を含んでいるか、端的な事実か)を正確に分析してください。元のサンプルが簡潔であれば簡潔な出力を、深い推論を伴っていればステップバイステップの推論を強制するように、サンプルの特性に合わせて要件を適応させてください。
3. **複数サンプルの統合**: もし複数の理想的な回答サンプルが提示された場合は、それらに共通する優れた論理構造やトーンを抽出してください。フォーマットに矛盾がある場合は、より汎用性の高いものを優先して統合してください。
4. **変数のプレースホルダー設定**: 後から任意のデータを入力できるよう、プロンプトの末尾に `【入力データ】` などの変数の枠を設けてください。
5. **階層の分離(出力形式の厳守)**: 成果物となるプロンプトは、必ず以下の指定されたマークダウンブロックの中にのみ出力し、あなた(AI)への指示と、生成するプロンプトの構造が混同しないようにしてください。
# 成果物の出力仕様
成果物となるプロンプトは、必ず以下の構造に従い、コードブロック内で出力してください。
```markdown
# 役割
(※推測された最適なペルソナ)
# 目的
(※一連の対話から推測されたタスクの最終ゴール)
# 指示および制約条件
(※一連の対話から抽出された論理ステップ、トーン、フォーマット等のルールを箇条書きで記載)
---
# 【入力データ】
(※ユーザーが後から入力するための変数スペース)
```
---
# 参考情報(リバースエンジニアリングの素材)
## 1. 過去に入力したプロンプトの履歴(※到達までの軌道修正プロセス)
"""
【質問1】〇〇について分析して。
(※AIの回答1は長ければ省略可、または「AIが一般的な回答を出力」など要約でもOK)
【質問2】そこに△△の条件を追加して。
【質問3】さらに、事実と推測を分けて、出力形式をステップバイステップにして。
"""
## 2. 理想的な回答結果のサンプル
"""
(※ここに、一連の対話の末に出力された「この形式を今後も真似してほしい」と思う最高の最終回答をそのまま貼り付けます)
"""
## 3. その他の理想的な回答結果のサンプル(※比較対象がある場合)
"""
(※もし別のAIモデルの回答や、別パターンの良い回答があれば貼り付けます。1つしかなければこの項目は削除して構いません)
"""

なるほど!回答1と回答2は入力不要ですか?
(直近以外のやりとりは、プロンプト側だけでOKですか?)

はい、基本的には回答1と回答2のフルテキストの入力は不要(省略してOK)です。やりとりの履歴はプロンプト(質問)側だけで問題ありません。
その理由は以下の2点です。
- ノイズの排除: 回答1や回答2は、最終目標から見れば「情報が足りない未完成な状態」です。これをそのまま長々と入れてしまうと、プロンプトが無駄に長くなるだけでなく、AIが「未完成な要素」まで抽出対象のノイズとして拾ってしまうリスクがあります。
- 条件の集約: 新しい汎用プロンプトを作るために必要なエッセンスは、「最終的な理想の形(回答3)」と、「そこに到達するために人間が足した条件や軌道修正の指示(質問1〜3)」の中にすべて含まれています。
例外として入力した方が良いケース: もし、「回答1で作ってくれた【特定の表や表現】はすごく良かったのに、回答3では消えてしまった。でも全体の分析レベルは回答3がベストだ」というようなハイブリッドな要求がある場合は、回答1の【良かった部分だけ】を抜粋して、「※参考:回答1の良かったフォーマット」として追加するのは非常に効果的です。
そうした特段の理由がない限りは、「質問1〜3の履歴」+「最高の回答3」というシンプルな組み合わせが、AIにとって最も文脈を整理しやすく、精度の高いテンプレートを生み出すベストプラクティスになります。

