皆さん大好きAndrew Ng先生のプロンプトエンジニアリングの授業を見たので、その内容をメモ書き程度にまとめてみました。
授業を見たい人は次のリンクの ChatGPT Prompt Engineering for Developersから御覧ください。
https://learn.deeplearning.ai/
プロンプティングの原則
- 原則1. 明確で具体的な指示を書く
- 区切り文字を使って入力の明確な部分を示す。
- 区切り文字例)”’, “””, <>, <tag></tag>, :
- JSON, HTML等構造的な出力を求めることもできる。
- 例)次のキーを持ったJSONフォーマットで出力してください: book_id, title, author, genre.
- 条件が満たされているかどうかをモデルにチェックさせる
- 例)文章が、Aについて書かれている場合は次のフォーマットで書き直してください。[フォーマット]。含まれない場合は、”Aについて関係ない文章です。”と出力してください。
- タスクの例をいくつか提示する(Few-shot prompting)
- 例)あなたのタスクは一貫したスタイルで答えることです。
<Aさん> 〇〇◯
<Bさん> ✕✕✕✕✕
<Aさん> △△△△
- 例)あなたのタスクは一貫したスタイルで答えることです。
- 区切り文字を使って入力の明確な部分を示す。
- 原則2. モデルに “考える “時間を与える
- タスク完了までの必要なステップを指定する
- 例)次の順に処理をしてください。
1 – ‘’’で区切られた文章を要約してください
2 – 要約した文章をフランス語に翻訳してください
3 – フランス語の要約中の名前をリストしてください
- 例)次の順に処理をしてください。
- タスク完了までの必要なステップを指定する
反復的なプロンプト開発
製品資料からマーケティング用の製品説明を生成について改善する例
- 問題1. 説明文が長い
- 文字、単語、文の最大値の指示を追加(ただし、LLMでは厳格に文字数制限するのが難しい)
- 問題2. 誤った部分に焦点をあてた文章になっている
- ユーザーを想定してそれに関連する部分に焦点を当てる指示を追加
- 問題3. 商品サイズに関する表がほしい
- HTMLフォーマットで表を出力する指示を追加