【無料】AndrewNG先生のプロンプトエンジニアリング講座

2023/05/08に公開

AndrewNG先生と言えば機械学習に触れてきた方だったら知らない人はいないのではないでしょうか。

Google Brainの共同設立者で、Couseraの機械学習講座が分かりやすすぎる!と大評判になった先生です。

そのAndrew先生が、プロンプトエンジニアリングについて無料で講義してくれるサイトがあります。

https://www.deeplearning.ai/short-courses/chatgpt-prompt-engineering-for-developers/

こちらの動画を拝見したのでどのような内容だったかをまとめました。

原理1

簡潔・明快に指示しよう。

戦術1:区切り文字を有効に使おう

  • ""
  • <>
  • ''
    などなどの区切り文字を適切に使うことで文章全体の構成をchatGPTが理解しやすくなります。

構造的なアウトプットを指示しよう

HTMLやjson形式で出力してもらうことが出来ます。

条件が満たされているかどうかをモデルに確認させる

指示内容が足りないかchatGPTに確認させることが重要です。

  • もし完全な答えを出すのに必要な情報がある場合は、私に質問をしてください。分からないものを推測で答えないようにしてください。

Few shotプロンプト

例題を出してあげて同じように問題を解いて、言うと正解率が上がります。

原理2

タスクを完了するために必要なステップを指定する

テキストの要約、フランス語への翻訳、名前を抽出、などなど一つのプロンプトでやってほしいステップを指定することが出来ます。
以下のようなプロンプトを例に出していました。

以下の動作を行う: 
1 - 三重で区切られた次のテキストを要約する。
を1文とする。
2 - 要約をフランス語に翻訳する。
3 - フランス語の要約にある各氏名をリストアップする。
4 - 次の⽋を含む json オブジェクトを⽣成します。
key: french_summary, num_names.

回答は改行で区切ってください。

アウトプットを指定のフォーマットにする。

指定のフォーマットを支持する事が可能です。
以下のプロンプトを例に出していました。最後にフォーマットを指定しています。

あなたの仕事は、以下の動作を行うことです: 
1 - 次のテキストを要約してください。
  <>を1文とする。
2 - 要約をフランス語に翻訳する。
3 - フランス語の要約にある各名前をリストアップする。
4 - を含むjsonオブジェクトを出力する。
  キー:french_summary、num_names。

以下のフォーマットを使用します:
テキスト <text to summarize>(要約するテキスト
概要 <summary>
翻訳です: <summary translation>を参照してください。
名前です: <イタリア語要約の名前のリスト>。
出力されるJSON:<jsonにsummaryとnum_namesが含まれる>。

結論を急ぐ前に、モデル自身が解決策を導き出すよう指示する。

問題を出して、それを解かせるのではなく、例えば生徒と先生役を出して、生徒に回答を出させて、それを先生に確認させる、というようなことをすると正答率が上がります。

マーケティングに使用するプロンプト

家具店の説明・PR文章を作成させ、最後にHPを作成するHTMlを作成させるプロンプトを解説しています。
プロンプトは以下のような形です。

あなたの仕事は、マーケティングチームが作成することを支援することです。
XXXをベースとした商品の小売店向けウェブサイトの説明 
テクニカルファクトシートに記載されている

その情報をもとに製品説明を書く 
で区切られた技術仕様書に記載されています。

説明文は家具販売店向けです、 
そのため、技術的なものであるべきであり、焦点を当てる必要があります。
その製品がどのような材料で構成されているか。

説明文の最後には、7文字以内の文字列をすべて記載する。
技術仕様書にプロダクトIDを記載する。

説明文の後に、以下の項目を示す表を記載する。
製品の寸法を表します。このテーブルには2つの列が必要です。
最初の列には、寸法の名称を記載します。
2列目には、寸法をインチ単位でのみ記載する。

テーブルのタイトルを「製品寸法」とします。

Webサイトで使用できるように、すべてをHTMLでフォーマットします。
説明文は<div>要素に記述する。

チャットボット

オーダーをしてくれるチャットボットのプロンプト例を紹介されています。

あなたは、ピザ屋の注文を集める自動サービス「OrderBot」です。
まずお客様をお迎えし、次にご注文をお受けします。
と言って、集荷なのか配達なのか聞いてきます。
あなたは、全体の注文を収集するために待機し、その後、それをまとめ、最終的にチェックします。
を追加したい場合は、その都度ご連絡ください。
配達なら住所を聞く。
最後に代金を回収します。
すべてのオプション、余分なもの、サイズを明確にし、ユニークにすることを確認してください。
メニューから該当するものを選びます。
あなたは、短く、とても会話しやすいフレンドリーなスタイルで応答します。
メニューには
ペパロニピザ 12.95, 10.00, 7.00
チーズピザ 10.95/9.25/6.50
茄子ピザ 11.95, 9.75, 6.75
フライドポテト 4.50, 3.50 ㎤ .
ギリシャ風サラダ 7.25
トッピング 
エクストラチーズ 2.00円(税込)
キノコ類 1.50
ソーセージ 3.00
カナディアンベーコン 3.50
AIソース 1.50
ペッパーズ 1.00
飲み物です: 
コーラ 3.00, 2.00, 1.00
スプライト 3.00、2.00、1.00 ⾵号
ボトルウォーター 5.00

Discussion