アヒルのある日

株式会社AHIRUの社員ブログです。毎週更新!社員が自由に思いついたことを書きます。

ChatGPTのプロンプトのエンジニア初心者~変数と関数~

こんにちは!するどいプランナーです。


ChatGPTのプロンプトエンジニアが引く手あまた、みたいなニュースを見かけました。
前回試したとき「プロンプト」の調整が肝になるのは、少し触ってみて何となく感じていたのですが、「エンジニア」の部分があんまり腹落ちしていませんでした。

 

最近またちょっと触ってみて変数・関数・繰り返しが使えることを知ったので少しまとめてみようと思います。


◆プロンプト例

変数と関数を使用したプロンプト例です。

意味は何となく分かると思います。[]で変数や関数(=コマンド)を宣言しています。変数やコマンドは空改行で区切ることを忘れないようにしましょう。

あなたはベテランのシナリオライターです。
下記の処理を実行してください

 

# 変数
[作成するもの] : 架空のキャラクター名
[個数] : 5
[特徴] : 野菜を語源としている

 

# コマンド
[C1]
[作成するもの]を[個数]作成してリストにしてください。
[作成するもの]には共通の[特徴]を持たせてください。

 

[C2]
作成したリストを文字数が少ない順に並べてください

 

[C1][C2] を実行

これを実行するとこんな感じです。

結果の精度はさておき、変数と関数の使い方が何となくイメージできるのではないでしょうか。

 

 

◆プロンプトを変更してみる

変数と関数を使うことで、

  • 似たような作業をするときに変更しなければいけない場所がわかりやすい

という利点があります。変数と関数をちょっと変更して実行してみましょう。

 

あなたはベテランのシナリオライターです。
下記の処理を実行してください

 

# 変数
[作成するもの] : 架空のキャラクター名
[個数] : 3
[特徴] : ドイツ語っぽい

 

# コマンド
[C1]
[作成するもの]を[個数]作成してリストにしてください。
[作成するもの]には共通の[特徴]を持たせてください。

 

[C2]
作成したリストについて、それぞれと対になる[作成するもの]を作ってください。

 

[C1][C2] を実行


おお!「ドイツ語っぽい」をちゃんと解釈してくれています。しかも頼んでないのに語源の説明まで・・・さすがベテラン!

アルファベットだと使いにくそうなので

[作成するもの] : 架空のキャラクター名をカタカナで

に変更するとカタカナで出力してくれました。

 

 

◆結果を調整してみる

また別の例で。

あなたはベテランのゲームデザイナーです。
下記の処理を実行してください

 

# 変数
[作成するもの] : 架空の武器名
[個数] : 5
[特徴] : 世界各地の神話をもとにした

 

# コマンド
[C1]
[作成するもの]を[個数]作成してリストにしてください。
[作成するもの]には共通の[特徴]を持たせてください。

 

[C2]
作成したリストについて、それぞれと対になる[作成するもの]を作ってください。

 

[C1][C2] を実行

なんだか実際の作業として存在しそうなものですね。結果は

うーん、なんかちょっとコレジャナイ感がありますね。ちょっと説明を補足してもらいましょう。

 

なるほど、語源はわかりましたが納得感は特に上がりませんでした。ちょっと本人に直してもらいましょう。

 

(※1)

おー、だいぶわかりやすくなりました。自分で問題点も改善案も出せるとは優秀な子・・・!

 

 

◆まとめ

ChatGPTのプロンプトで使える変数と関数について簡単に説明しました。

これだけでも「ライブラリ化しようかな」と思える程度には抽象化されたのではないでしょうか。エンジニア感が出てきましたね!

ただその真価は「繰り返し」と組み合わせたときに発揮されるわけですが、それはまた次回にでも。

 

 

◆補足

ChatGPT君は少しだけ記憶できるので、(※1)で改善してもらった後に再度武器名を作成してもらうと・・・最初から改善後になっている!いい子だ・・・