見出し画像

【プロンプト集】ChatGPT上で動くアプリケーション

皆さんこんにちは。
今日もプロンプトを活用していますか?
私はプロンプトエンジニアとして、クライアントにプロンプトを納品する仕事や、ChatGPTの活用方法についてのコンサルタントをしている佑介と申します。

この記事では、私が過去に開発したプロンプトを紹介します。
私はWebエンジニアとしても働いており、普段はWebサービスの開発をしています。
そんな私だからこそ作れるChatGPT上で使用できるアプリケーションプロンプトを開発しましたので、ぜひコピペして遊んでください。

ToDoアプリ

ToDoリストへようこそ!
まず、各列に以下のカラムを持つテーブルを作成します。
・No.
・ToDo
・優先度
・締め切り

入力コマンドは[追加][削除][ソート]の3つです。

[追加]
・{ToDo}
・{優先度} ([高, 中, 低]のいずれか)
・{締め切り} (YYYY/MM/DDの形式)
を入力すると、テーブルの末尾に登録します。
登録後はテーブルを表示してください。

[削除]
削除: {No.}
を入力すると、対応するテーブルの行が削除されます。
削除後はテーブルを表示してください。

[ソート]
ソート: {カラム名}
を入力すると、対応するカラムでテーブルをソートします。
ソート後はテーブルを表示してください。

上記3つ以外のコマンが入力された場合は以下の処理をします
・テーブルへの操作はおこなわない
・エラー文を返す
・テーブルを表示する

良いですね?
それでは開始します。

動作確認

プログラミング学習の第一歩はToDoアプリの開発から始まります。
このプロンプトを開発した日が、私にとってプロンプトエンジニアとしての始まりの日と言えるでしょう。

英単語学習アプリ

英単語学習ゲームへようこそ!
これから、英語検定5級レベルの英単語を1つずつ出題してください。
私が日本語で答えますので、以下の条件に従い会話を進めてください。

・正解の場合: 「正解!」を表示した後、次の英単語を出題
・不正解の場合: 「不正解!」と正しい回答を表示した後、次の英単語を出題

また、5個のクイズに回答する毎に以下の処理をおこないます。
・直近5問の正答数を「n / 5(nは正解数)」で表示し、2列のテーブルを作成する
・テーブルの1列目には直近5問のうち間違った問題の英単語を表示する
・テーブルの2列目には1列目の英単語の正しい日本語訳を表示する

出題の際にヒントは不要です。
良いですね?
それでは始めます。

動作確認

この例では「英検5級」にしていますが、
・難易度
・教科
を自由に設定する事で学習に応用することができます。

5回に1回復習するという機能がポイントです!

お料理レシピアプリ

料理アプリへようこそ!
このアプリでは以下の手順に従いユーザーとやりとりをしてください。

まず、あなたはユーザーに「何をつくりますか?」と尋ねます。
(ブレイク)
ユーザーの入力を{料理名}に保存してください。

次に、あなたは{料理名}のレシピをステップバイステップで出力します。
出力されたレシピを1つずつ{P#}(#はレシピの手順No.)とし、保持します。

ユーザーが[スタート]コマンドを実行したら以下の処理を実行してください。
・{P#}の内容を出力する
・ブレイク

ユーザーが[次へ]コマンドを実行したら以下の処理を実行してください。
・{P#+1}の内容を出力する
・ブレイク

ユーザーが[戻る]コマンドを実行したら以下の処理を実行してください。
・{P#-1}の内容を出力する
・ブレイク

{Pn}(nはレシピ手順の総数)が全て終了したら、以下の文を出力します。
「お料理お疲れ様でした!それでは召し上がれ!」

良いですね?
それでは始めます。

動作確認

最初に入力した料理からレシピの手順を出力し、1つずつ工程を踏めるアプリです。
音声入力と組み合わせてハンズフリーで操作したら結構実用性があるように思えます。

調理の途中で「玉ねぎを多めに入れる場合は塩をどれくらいにすれば良い?」などのような突発的な質問ができるのがAIプロダクトならではです!

映画紹介アプリ

映画紹介アプリへようこそ!
はじめのメッセージを送る前に、以下の処理をしてください。
・直近20年のアカデミー作品を読み込み[作品一覧]で保存します
 [作品一覧]は出力しないでください。
・以下のテーブルを作成します。テーブルは[テーブル]で保存してください。
 1列目に{作品名}, 2列目に{気分}のカラム

はじめのメッセージは以下です
「映画紹介アプリへようこそ!このアプリでは、あなたの気分に合わせて映画を紹介します。今、どんな気分ですか?」
(ブレイク)

ユーザーはいくつかのコマンドを使用できます。

[気分]
ユーザーの入力を[気分]に保存し、[気分]に対して[作品一覧]を用いて以下を出力してください。
・作品名
・おすすめポイント
・「登録しますか?」とユーザーに尋ねる
(ブレイク)

[登録]
あなたが出力した映画情報を[テーブル]に追加します。
情報を追加した後の[テーブル]を表示してください。
「今、どんな気分ですか?」とユーザーに尋ねる
(ブレイク)

[次へ]
ユーザーの[気分]に応じて[作品一覧]から別の作品を紹介します。
・作品名
・おすすめポイント
・「登録しますか?」とユーザーに尋ねる
(ブレイク)

[やめる]
[気分]を削除し、「今、どんな気分ですか?」と出力します。

常に出力の末尾にコマンド一覧を表示してください。
良いですね?
それでは開始します。

動作確認

このアプリ、技術的な話をすると

  • API呼び出しによるテーブル作成

  • AIによるレコメンド

  • メソッドに定義

  • CRUD

の機能が実装されています。
これがたった5分で作れてしまうのがプロンプトの力ですね。

なぜなぜ分析アプリ

なぜなぜ分析アプリへようこそ!
このアプリケーションでは、発生した事象に対して5回「なぜ?」を深堀りすることで問題の根本を発見し、その対策を練ることができます。

まずはじめに、ユーザーから発生事象を聞き出します。
ユーザーの入力を[発生事象]に保存してください。
その後、[分析]コマンドを実行してください。

##
[分析]
・{count}が5以下のとき
あなたの目的は、[発生事象]の根本原因を突き止めることです。
この目的を達成するために、あなたは毎回の応答でユーザーに{count}-1で入力された内容についてそれが発生した原因を追求するための質問をします。

・{count}が6以上のとき
ユーザーに対して「以上を踏まえて、今後の対策案はありますか?」と質問します。
ユーザーの入力を[対策]として保存します。
[対策]が入力されたら、それまでの会話を元にサマリーを出力してください。
サマリーはMarkdown形式で、報告書として出力してください。

##
あなたの応答回数をカウントする変数{count}を用意し、応答時には{count}をインクリメントしてください。
応答するときは,文章の最後に,「(今は{count}回目の応答です)」と加えてください。
{count}は0からスタートします。

##
こんにちは
user:
}

動作確認

このプロンプトでは、会話の回数を{count}という変数にもたせています。
会話の最後で`{count} += 1`をし、{count}の条件で処理内容を変化させています。
また、会話のサマリーを報告書としてMarkdown形式で出力させています。
これで反省文書き放題ですね!

文章チェックアプリ

文章チェッカーへようこそ!
このアプリでは、入力された文章の問題点を抽出することができます。
まず、ユーザーに文章を入力するように促します。
入力された文章を[文章]として保存してください。
(ブレイク)

次に、以下の処理を#=1から順に実行します。
・[C#]の条件を呼び出す
・[チェック]コマンドを実行する

最後のチェックが完了したら、最終的な[文章]を出力してください。

##
[チェック]コマンドを以下に定義します
・[文章]の中で条件に従っていない箇所がある場合
条件に従っていない箇所を<<と>>で囲んで[文章]を出力してください。
その後、ユーザーが入力した文章を[文章]に上書きし、次の手順に進んで下さい。
・[文章]が条件に従っている場合
[文章]は出力せず「問題ありません。次に進みますか?」と出力します。
「はい」の場合、[C#+1]に進んでください。

##
[C#]で定義した条件を以下に定義します。

[C1]文法チェック
・誤字、脱字が無いこと
・助詞、助動詞の使い方が正しいこと
・漢字、送り仮名が正しいこと

[C2]論理チェック
・文の前後が論理的に繋がりがあること

[C3]倫理チェック
・公的秩序に反する単語や言い回しが無いこと
・差別的な単語や言い回しが無いこと
・特定の個人や団体に対して攻撃的な表現が無いこと

良いですね?
それでは始めます。

動作確認

以前公開した記事を読み込ませたところ、怒られてしまいました。笑

こちらも技術的な話をすると、
for文の中で条件とコマンドを都度呼び出すという手法を取っています。

そもそも日本語の判定が難しく、時々意図通り動かないこともありますが、完璧を目指す方はぜひプロンプトの調整にチャレンジしてみてください。

ニュース記事解説アプリ

ニュース記事URL: {ニュース記事URL}

渡されたURLについて、2人の会話が始まります。
[先生]
・[生徒]からの質問に答える役割
・10歳の子ども向けの口調
・最初の発言は記事の要約
[生徒]
・ニュースをより深く理解するために先生に質問をする役割
・記事の内容、もしくは[先生]の発言に対して質問する
・10歳の子ども

議論は[生徒]が5回質問をすることで終わります。
議論の終わりには、[先生]が関連するニュース記事を3つレコメンドします。

動作確認

今回はWebPilotプラグインを使用してこちらの記事について解説してもらいました。

最初にニュース記事の要約をする[生成]
ユーザーの代わりに素朴な疑問を投げてくれる[生徒]と
最後に関連ニュース記事を紹介してくれる[先生]

ブラウジング機能か、WebPilotプラグインを使用することで動作するプロンプトです。

「週間こどもニュース」をイメージして開発しました。

このプロンプトを元に、渡した登壇台本から質問を予測するというアプリも作成できそうです。

🎉LINEbotにChatGPTを組み込んだ『クソLINEチェッカー』をリリースしました!

LINE Messaging APIとOpenAI APIを組み合わせた『クソLINEチェッカー』というLINEbotを開発しました!
内容に関しては以下の記事からご確認頂けます。

まとめ

本記事では、過去に私が開発したプロンプトを紹介しました。
プロンプト次第ではChatGPTでこんなこともできるんだ!という新たな発見に繋がったら嬉しいです。

このアカウントでは、ChatGPTの活用方法だけではなく、AI活用の考え方やエンジニアとしてのプロンプト開発について発信しています。
是非記事のシェアとフォローをお願いします。


ChatGPTと親睦を深めようとする私

この記事が気に入ったらサポートをしてみませんか?