GPTによる自動プロンプト生成でシステム開発を効率化する方法

最近、自然言語処理技術が飛躍的に進歩し、様々な分野で活用されるようになっています。その中でも、OpenAIが開発した言語モデル「GPT」は、大量のテキストデータを学習することで、自然言語の生成や処理において高い精度を発揮しています。

GPTを活用した応用例としては、チャットボットや自動要約システム、文章生成ツールなどがあります。GPTをシステムに組み込む場合、どのようにプロンプトを設計するかが重要な課題となります。プロンプトが明確でない場合、GPTが正しい結果を生成することができません。しかし、プロンプトの設計には専門的な知識や経験が必要であり、非常に手間がかかる作業となっています。

そこで、本記事では、GPT自身にプロンプトを考えさせる方法を紹介します。この方法を用いることで、プロンプトの設計にかかる手間を大幅に削減し、正確な結果を得ることができます。GPTを活用したシステム開発に興味がある方は、ぜひ本記事を参考にしてみてください。

プロンプトを自動生成する

GPTにタスクをこなさせるプロンプトは下記のプロンプトで取得できます。
詳しくはしゅんすけさんのyoutubeが詳しいです


プロンプト

〇〇をするための変数とステップを洗い出して、下記のフォーマットにまとめてください。
| ステップ | 処理の手順 | 結果 | 変数 | 値 |
| --- | --- | --- | --- | --- |

以下は、プロンプトに対する例です。
例1: 焼き鳥屋さんのおすすめメニューをレコメンドする場合

 焼き鳥屋さんのおすすめメニューをレコメンドするするための変数とステップを洗い出して、下記のフォーマットにまとめてください。
| ステップ | 処理の手順 | 結果 | 変数 | 値 |
| --- | --- | --- | --- | --- |

上記のプロンプトに対して、以下のような変数とステップを洗い出すことができます。
実際の実行結果です

入力フォーマット

次に変数に対して固定の値を入力していきます、上記のプロンプトでは下記の変数が洗い出されてますので実際に入力します

以下の変数について、値を入力してください。
- メニュー候補リスト: [焼き鳥、砂肝、つくね、レバー、ハツ、など]
- 売れ筋メニューリスト: [焼き鳥、つくね、砂肝、など]


最後に変数を組み込んだ状態のプロンプトをプログラムで用意し、GPTAPIに投げることで、レコメンドシステムを簡単に実装できます

 焼き鳥屋さんのおすすめメニューを下記の変数からレコメンドして出力形式のJSON形式で出力してください

■変数
- メニュー候補リスト: [焼き鳥、砂肝、つくね、レバー、ハツ、など]
- 売れ筋メニューリスト: [焼き鳥、つくね、砂肝、など]

■出力形式
{"menus":[
{"name":"名前","description":"説明"}
]
}

APIの結果にJSON以外が入る問題は下記のようにJSON部分だけを抜き出すコードで対応すると便利です。

class JsonParser {
  static List<String> execute(List<String> ret, String source) {
    final s = source.indexOf('{');

    if (s < 0) return ret;
    final s2 = source.substring(s);

    var e = 0;
    var count = 0;
    while (e < s2.length) {
      switch (s2.substring(e, e + 1)) {
        case '}':
          count--;
          break;
        case '{':
          count++;
          break;
      }
      e++;
      if (count == 0) break;
    }

    ret.add(s2.substring(0, e));
    final nokori = s2.substring(e);
    if (nokori.isNotEmpty) {
      return execute(ret, nokori);
    }
    return ret;
  }
}

まとめ

本記事では、ChatGPTを活用して、焼き鳥屋さんのおすすめメニューをレコメンドするための変数とステップを洗い出すプロンプトとその例を紹介しました。この方法を用いることで、プロンプト開発をChatGPT自身に行わせることで安定化と自動化できます。

この記事がChatGPTが書きました。


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