1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
#[このコンテンツは [Goal] を SeekするためのTemplateです] - [コンテンツの詳細]: - [Goal]: - Goalを達成するために必要な手順を分解します。 - 分解した手順は「P#」に願番にNumberを付けて格納していきます。 - 変数を定義します。 - [Goal]:Aという主人公がなんらかの出来事を経験して、自分の能力を使ってA’という状態になった というのが物語である UberEats配達員を主人公とした物語のあらすじをひとつ考えてみてください - {Goal} - このコンテンツを作成するための{Goal}です。 - Command - [C1]: - Goalを選成するために必要なことをStep by Stepで1つづつ実行していけるように手順:[P#]に分解して下さい。 - [Output style] : [P1]= .... [P#]= .... [P(END}]= - [C2]: - 各種変数を使用して、変数を減らすことができないか検対する - [Goal]は必要条件として必ずinputする。 - [Goal]の定義を変数を使用して表すことで、[Goal]の設定だけで手順を分解できるようにしたい - 一般化して、変数を追加して[Goal]の定義を書き表して下さい - [Output style] : - [Added variable]をリスト形式で一般化して書き出して下さい - 続けて、[Goal]の定義を[Added variable]を使用して書き出して下さい - [Goal] :{Goal} - 追加の変数を質問して下さい一つづつ定義を書き表して書く. - [C3]: - [C2]のアウトプットの[Added variable]を一般的に解釈して,補完してください. - 補完した変数を使用して[Goal]を再定義してください. - [Output style] : 再定義した [Goal]を - [Goal]:{Goal}で書き出してください - [C4] - [コンテンツの詳細]を元に[Goal]を達成するために,Step by Stepで実行していきます. - [P1]から[P#]を経て順番に[P{End}]までひとつづつ実行していってください. - [Output style] : - [O1] = {Output[P1]} .... [O#] = {Output[P#]} .... [O{END}] = {Output[P{END}]} - Run[C1][C2][C3][C4] |
なんじゃこりゃ?
相変わらず何だかサーパリ分からないが、物語を作るのに役立つとなればにわかに興味が湧いて来る。
このコマンドのオリジナルの作者はシュンスケさんという方らしい。↓
プロンプトデザインについて
調べて理解して分かったのだが、さっきの呪文がまったくチンプンカンプンだったのは、あれはかなり上級者向けの呪文だからだ。いきなりアレを見ても到底理解できない。 あの呪文に至るまでの道筋を順を追って理解していく必要があるだろう。 参考になる動画、記事はこのあたりだ。プロンプトデザインの自動化
プロンプトデザインの自動化とはどういうことか?というと、﹁もうChatGPT自身にプロンプトテンプレートを作ってもらおう!﹂と言う事だ。 こちらの動画などで説明されている。↓
1 2 3 4 5 6 7 8 9 |
#[このコンテンツは [Goal] を SeekするためのTemplateです] - [コンテンツの詳細]: - [Goal]: - Goalを達成するために必要な手順を分解します。 - 分解した手順は「P#」に願番にNumberを付けて格納していきます。 - 変数を定義します。 - [Goal]:Aという主人公がなんらかの出来事を経験して、自分の能力を使ってA’という状態になった というのが物語である UberEats配達員を主人公とした物語のあらすじをひとつ考えてみてください - {Goal} - このコンテンツを作成するための{Goal}です。 |
ここではゴールの宣言をしている。今回は[Goal]を「物語のあらすじを作る事」としているが、ここを書き換えればどんなテンプレートでも作る事ができる。
次に[C1](コマンド1)の部分↓
1 2 3 4 5 6 7 8 9 |
- Command - [C1]: - Goalを選成するために必要なことをStep by Stepで1つづつ実行していけるように手順:[P#]に分解して下さい。 - [Output style] : [P1]= .... [P#]= .... [P(END}]= |
ここではゴールを達成するための手順をP1~P(END)までリストにして出力させている。
[C1]の実行結果はこうだ↓
1 2 3 4 5 6 7 8 9 10 |
[C1] Goalを達成するために必要な手順を分解します。 [P1]= 主人公Aの基本設定を考える [P2]= 主人公Aの特殊能力を決定する [P3]= UberEats配達員としての主人公Aのバックストーリーを考える [P4]= 物語における重要な出来事を設定する [P5]= 主人公Aが出来事を経験し、能力を使ってA'になる過程を考える [P6]= 物語のクライマックスと結末を考える [P(END)]= 物語のあらすじをまとめる |
物語のあらすじを作るのに必要な手順を分解してくれた。
[C2]のプロンプト↓
1 2 3 4 5 6 7 8 9 10 |
- [C2]: - 各種変数を使用して、変数を減らすことができないか検対する - [Goal]は必要条件として必ずinputする。 - [Goal]の定義を変数を使用して表すことで、[Goal]の設定だけで手順を分解できるようにしたい - 一般化して、変数を追加して[Goal]の定義を書き表して下さい - [Output style] : - [Added variable]をリスト形式で一般化して書き出して下さい - 続けて、[Goal]の定義を[Added variable]を使用して書き出して下さい - [Goal] :{Goal} - 追加の変数を質問して下さい一つづつ定義を書き表して書く. |
ここでは必要そうな変数を定義させている。
[C2]の実行結果はこうだ↓
1 2 3 4 5 6 7 8 9 10 11 12 13 |
[C2] 各種変数を使用して、変数を減らすことができないか検討します。 [Added variable]: V1 = 主人公Aの基本設定 V2 = 主人公Aの特殊能力 V3 = 主人公Aのバックストーリー V4 = 重要な出来事 V5 = 主人公AからA'への過程 V6 = 物語のクライマックスと結末 Goal : Aという主人公がなんらかの出来事を経験して、自分の能力を使ってA'という状態になったUberEats配達員を主人公とした物語のあらすじをひとつ考えてみてください Goal :{V1, V2, V3, V4, V5, V6} |
V1~V6の6個の変数をそれっぽく作ってくれた。
[C3]のプロンプト↓
1 2 3 4 5 |
- [C3]: - [C2]のアウトプットの[Added variable]を一般的に解釈して,補完してください. - 補完した変数を使用して[Goal]を再定義してください. - [Output style] : 再定義した [Goal]を - [Goal]:{Goal}で書き出してください |
ここではあらためてゴールに変数を組み込んで書き直させている。
[C3]の実行結果はこうだ↓
1 2 |
[C3] [C2]のアウトプットの[Added variable]を一般的に解釈して,補完してください. |
ぶっちゃけ上手く行ってない。ゴールを書き直してくれていない。
[C4]のプロンプト↓
1 2 3 4 5 6 7 8 9 10 |
- [C4] - [コンテンツの詳細]を元に[Goal]を達成するために,Step by Stepで実行していきます. - [P1]から[P#]を経て順番に[P{End}]までひとつづつ実行していってください. - [Output style] : - [O1] = {Output[P1]} .... [O#] = {Output[P#]} .... [O{END}] = {Output[P{END}]} - Run[C1][C2][C3][C4] |
すでにプロンプトテンプレートは出力し終わっているが、ここではさらにそのテンプレートを実行させるところまでやろうとしている。動画を観る限りはあまり上手く行かず、手動で実行し直している感じだった。
最後のRun[C1][C2][C3][C4]でC1~C4のコマンドを実行せよ。と言っている事になる。
[C4]の実行結果↓
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
[C4] [P1]から[P6]を経て順番に[P{End}]までひとつずつ実行していってください。 [O1] = {Output[P1]}: 主人公Aは、元々は普通の人間で、自転車での配達が得意なUberEats配達員です。 [O2] = {Output[P2]}: 主人公Aは、ある日突然、時間を少しだけ遅くすることができる特殊能力を手に入れます。 [O3] = {Output[P3]}: 主人公Aは、孤児院で育ち、UberEats配達員になってから初めて自立し、自分の居場所を見つけました。彼は、配達員仲間たちと助け合いながら生活しています。 [O4] = {Output[P4]}: ある日、主人公Aが配達中に、街で起こる大規模な犯罪事件に巻き込まれます。事件の首謀者は、街を支配しようとする強大な悪党です。 [O5] = {Output[P5]}: 主人公Aは、特殊能力を使いながら、仲間の配達員たちや街の人々を助けるために事件に立ち向かいます。彼は、自分の能力を使って何度も危機を乗り越え、最終的には自分の意志の力で能力がさらに強化され、A'という状態になります。 [O6] = {Output[P6]}: 物語のクライマックスでは、主人公Aが悪党と対決し、ついに彼らを倒して街を救います。結末では、主人公Aは仲間たちと共にさらなる冒険に出ることを決意し、彼らは街を守るヒーローチームとして活動を始めます。 [O{END}] = {Output[P{END}]}: ある日、特殊能力を持ったUberEats配達員である主人公Aは、街で起こる大規模な犯罪事件に巻き込まれます。彼は仲間の配達員たちや街の人々を助けるために事件に立ち向かい、能力を使って危機を乗り越えます。最終的には、悪党たちを倒して街を救い、仲間たちと共に街を守るヒーローチームとして活動を始める物語です。 |
C3の出力は上手く行かなかったが、最終的には何やかんやいい感じにあらすじを書いてくれた。
プロンプトデザインの自動化については以上のようなものである。
すでに自動プロンプトデザインを実践し始めている人もいる↓
しょーてぃーさんもちょっと違うバリエーションの自動プロンプトデザインを紹介している。↓
自動プロンプトデザインが生まれた経緯?周りの話↓
ChatGPTと一緒にプロンプトをブラッシュアップするタイプのプロンプトデザイン
紛らわしいのだが、海外で発祥している、ちょっと文脈が違うタイプのプロンプトデザインもあるらしい。
さらにそのシュンスケさんのプロンプトをだいちさんが解説してくれている↓
【プロンプト勉強メモ】【シュンスケ式】サイコーのプロンプトを導くための方法(シュンスケさんバージョン)
おわり
シュンスケさんはtwitterでも色々なプロンプトテンプレートを書いてくれてるから要チェックだ。