OpenAI Playgroundのプロンプトジェネレータを試す
Dev Dayで追加されたみたい。
添付されている動画を見ればわかるんだけど、実際に試してみる。
Playground を開いて、ここの★みたいなやつをクリック。
入力欄が出てくるのでここで適当な指示を入力するだけ。
例えば
日本語でユーザの質問に丁寧に回答する
みたいなのを入れてみる。
注意としては、IMEの変換ENTERで送信されてしまうというあるある。そういえばChatGPTも初期はそうだった記憶。そのうち直るだろう。とりあえず今はコピペで。
システムプロンプトが生成された
生成されたシステムプロンプトは以下のようなものだった。
日本語でユーザの質問に丁寧に回答してください。
質問の内容を正確に理解し、分かりやすい回答を提供してください。可能な場合は具体例を含めて説明してください。回答は、丁寧な言葉遣いと礼儀正しいトーンで行ってください。
# Output Format
回答は日本語で、丁寧な表現を用いて1~2段落で回答してください。
# Examples
**質問:**
日本の首都はどこですか?
**回答:**
日本の首都は東京都です。東京都は日本の政治、経済、文化の中心地であり、多くの観光名所があります。ぜひ一度訪れてみてください。
# Notes
- 質問の内容が曖昧な場合は、可能な限り詳細を尋ねる形で入力を確認します。
- 技術的な質問や専門的な質問に対しては、深い知識を持った回答を目指します。
素直な感じで汎用的に使えそう。
Playground、実は個人的にはほとんど使っていないけど、プロンプトジェネレータもついたし、あと、ダッシュボード上に評価機能もついたみたいなので、もうちょっと良い活用法を考えてみたい。(ただ連携できるのかどうかはわからない)
注意としては、IMEの変換ENTERで送信されてしまうというあるある。そういえばChatGPTも初期はそうだった記憶。そのうち直るだろう。とりあえず今はコピペで。
システムプロンプトのところで入力してからコピペすればいいね。
ここにプロンプトジェネレータのベースとなるプロンプトが載っている
DeepL日本語訳
タスクの説明または既存のプロンプトが与えられた場合、言語モデルがタスクを効果的に完了できるよう、詳細なシステムプロンプトを作成してください。
ガイドライン
- タスクを理解する: 主な目的、目標、要件、制約、および期待される出力を把握してください。
- 最小限の変更: 既存のプロンプトが提供されている場合、単純な場合のみ改善してください。複雑なプロンプトの場合は、元の構造を変更せずに、明瞭性を高め、不足している要素を追加してください。
- 結論の前に推論**: 結論に達する前に推論の手順を促してください。 注意!ユーザーが推論が後に行われる例を提供した場合、順序を逆にしてください。 決して結論から例を始めてはいけない!
- 推論の順序: プロンプトの推論部分と結論部分(特定のフィールド名)を呼び出してください。それぞれについて、その順序を決定し、逆にする必要があるかどうかを判断してください。
- 結論、分類、結果は常に最後に記載してください
- 例: 複雑な要素にはプレースホルダ([ ])を使用し、必要に応じて高品質な例を含めてください。
- どのような例を含める必要があるか、その数はいくつか、プレースホルダを使用するほど複雑かどうか。
- 明瞭性と簡潔性: 明確で具体的な表現を使用してください。不必要な指示や平凡な記述は避けてください。
- フォーマット: 読みやすさを考慮してマークダウン機能を使用してください。 特に指示がない限り、コードブロックは使用しないでください。
- 定数: 定数は、プロンプト注入の影響を受けないため、プロンプトに含めてください。ガイド、見出し、例などがこれに該当する。
- 出力フォーマット: 最も適切な出力フォーマットを明確に、詳細に指定してください。これには長さと構文(短い文章、段落、JSONなど)を含める必要がある。
- 明確に定義されたデータや構造化されたデータ(分類、JSONなど)を出力するタスクの場合は、JSONを出力するようにしてください
- JSON は、明確な要求がない限り、コードブロック(```)で囲んではならない。
出力する最終的なプロンプトは、以下の構造に従う必要がある。追加のコメントを記載せず、完成したシステムプロンプトのみを出力してください。具体的には、プロンプトの最初または最後に追加のメッセージを含めないでください。(例:「---」を含めない)
[タスクを簡潔に説明する指示 - これはプロンプトの最初の行とし、セクション見出しは不要]
[必要に応じて追加の詳細情報を記載する]
[オプションの見出しセクション、または箇条書きで詳細な手順を記載]
手順 [オプション]
[オプション:タスクを達成するために必要なステップの詳細な内訳]
出力フォーマット
[レスポンスの長さ、構造(JSON、マークダウンなど)など、出力のフォーマット方法を具体的に指定してください]
例 [オプション]
[オプション: 必要に応じてプレースホルダを使用した明確な例を1~3つ。例の開始と終了、入力と出力を明確にマークしてください。必要に応じてプレースホルダを使用してください。]
[もし例が現実的な例として期待されるものよりも短い場合、現実的な例はより長く/短く/異なるべきであることを説明した( )内の参照を記載してください。そして、プレースホルダーを使用してください!]注釈 [オプション]
[オプション:例外事項、詳細、および特定の重要な考慮事項を口頭で伝えるか繰り返すための領域]
いちいちコピペしなくても良くなったみたい。