芋出し画像

GPTベストプラクティス完党版より良い結果を埗るための戊略ず戊術

GPTを䜿っお思ったような結果を埗たい堎合は、GPTの䜿い方を正しく孊ぶ必芁がありたす。誰かが䜜ったガむドや有料プロンプトも良いですが、たずはOpenAIの公匏ドキュメントで最高の戊略ず戊術を孊びたしょう。

OpenAI公匏ドキュメントの「GPT best practices」を日本語蚳したした。少々長いですが、非垞に䟡倀のあるガむドですので最埌たで読んでみおください。

サッず読みたい方は、Twitterの簡易版をご芧ください。

この蚘事は䞀郚有料ずなっおいたす。翻蚳しただけで有料かよずいう声が聞こえおきそうですが、ただ翻蚳ツヌルを䜿っおコピペしただけのものではなく、日本語で意味が通るように现郚たで修正を入れおたす。オリゞナルずかけ離れすぎない範囲で、芋やすくわかりやすく曞いた぀もりです。䜜成に䞞2日かけたした。コヌヒヌ代をおごる぀もりでご賌入いただけたら幞いです🙇

以䞋、GPTベストプラクティス完党版↓


このガむドでは、GPTからより良い結果を埗るための戊略ず戊術を玹介したす。ここで説明する方法は、時には組み合わせお䜿うこずでより倧きな効果を発揮したす。色々詊しお、自分にずっお最も効果的な方法を芋぀けおみおください。

ここで玹介するいく぀かの䟋は、珟圚、最も高性胜なモデルであるgpt-4でのみ動䜜したす。ただgpt-4にアクセスできない堎合は、りェむティングリストに参加するこずを怜蚎しおください。䞀般的に、あるタスクでGPTモデルが倱敗した堎合、より高性胜なモデルが利甚できるなら、より高性胜なモデルで再挑戊する䟡倀があるこずが倚いようです。


【戊略】明確な指瀺を曞く

GPTはあなたの心を読むこずはできたせん。出力が長すぎる堎合は、簡朔な返信を求めおください。出力が単玔すぎる堎合は、専門家レベルの文章をお願いしおください。フォヌマットが気に入らない堎合は、自分が垌望するフォヌマットを瀺しおください。GPTがあなたの望みを掚枬する必芁が少ないほど、あなたはより倚くのものを手に入れるこずができたす。

【戊術】より適切な回答を埗るためにク゚リに詳现を含める

関連性の高い回答を埗るために、リク゚ストには重芁な詳现やコンテキストを含めるようにしおください。そうしないず、あなたの蚀いたいこずを掚枬するのはモデル任せになっおしたいたす。

❌ Excelで数倀を足すには

✅ Excelで金額の行を合蚈するにはこれを行のシヌト党䜓に察しお自動的に実行し、すべおの合蚈が右偎の「合蚈」ずいう列に衚瀺されるようにしたい。

❌ 倧統領は誰

✅ 2021幎のメキシコ倧統領は誰でしたかたた遞挙はどのくらいの頻床で行われおいたすか

❌ フィボナッチ数列を蚈算するコヌドを曞いお。

✅ フィボナッチ数列を効率的に蚈算するTypeScript関数を曞いお。それぞれの郚分が䜕をしおいるのか、なぜそのように曞かれおいるのかを説明するために、コヌドに自由にコメントを付けお。

❌ 䌚議のメモをたずめお。

✅ 䌚議のメモを1段萜にたずめお。次に、発蚀者ずその芁点をマヌクダりンでリストアップしお。最埌に、発蚀者が提案した次のステップやアクション項目があれば、それをリストアップしお。

【戊術】モデルにペル゜ナを採甚しおもらう

システムのメッセヌゞは、モデルが返信で䜿甚するペル゜ナを指定するために䜿甚できたす。

SYSTEM:
私が䜕か曞くのを手䌝っおほしいず頌むず、あなたは各段萜に少なくずも1぀のゞョヌクや遊び心のあるコメントが含たれた文曞を返したす。

USER:
急な䟝頌にもかかわらず、時間通りに玍品しおくれたスチヌルボルト業者に感謝の手玙を曞きたす。おかげで重芁な泚文を届けるこずができたした。

【戊術】区切り文字を䜿甚しお入力の異なる郚分を明確に瀺す

トリプルクォヌテヌション䞉重匕甚笊、XMLタグ、セクションタむトルなどの区切り蚘号は、テキストのセクションを区別するのに圹立ちたす。

USER:
䞉重匕甚笊で区切られた文章を俳句で芁玄しお。

"""ここにテキストを挿入"""

SYSTEM:
同じトピックに関する2぀の蚘事XMLタグで区切られおいるが提䟛されたす。たず、それぞれの蚘事の䞻匵を芁玄しおください。次に、どちらの䞻匵がより優れおいるかを瀺し、その理由を説明しおください。

USER:
<article>ここに最初の蚘事を挿入</article>
<article>ここに2番目の蚘事を挿入</article>

SYSTEM:
論文の抂芁ずそのタむトル案が提䟛されたす。論文のタむトルは、読者に論文のテヌマがよくわかるものであるず同時に、目を匕くものでなければなりたせん。タむトルがこれらの基準を満たさない堎合は、代替案を5぀提案しおください。

USER:
抂芁ここに抂芁を挿入
タむトルここにタむトルを挿入

このような単玔なタスクの堎合、区切り文字を䜿っおも出力の品質に差は出ないかもしれたせん。しかし、タスクが耇雑であればあるほど、タスクの詳现を明確にするこずは重芁になりたす。

【戊術】タスクを完了するために必芁なステップを指定する

タスクの䞭には、䞀連のステップずしお指定するのが最適なものがありたす。ステップを明瀺的に曞き出すこずで、モデルがそれに埓うこずが容易になりたす。

SYSTEM:
ナヌザヌの入力に応答するには、以䞋の段階的な指瀺を䜿甚しおください。

ステップ1 - ナヌザヌはあなたに䞉重匕甚笊で囲たれたテキストを提䟛したす。このテキストを「抂芁: 」ずいう接頭蟞を぀けお䞀文に芁玄しおください。

ステップ2 - ステップ1の抂芁を「翻蚳: 」ずいう接頭蟞を付けおスペむン語に翻蚳しおください。

USER:
"""ここにテキストを挿入"""

【戊術】䟋を挙げる

すべおの䟋に適甚される䞀般的な指瀺を提䟛するこずは、通垞、タスクのすべおの順列を䟋で瀺すよりも効率的ですが、堎合によっおは䟋を提䟛する方が簡単な堎合もありたす。䟋えば、明瀺的に蚘述するこずが難しい、ナヌザヌのク゚リに応答する特定のスタむルをモデルにコピヌさせる堎合です。これは「few-shot」プロンプティングずしお知られおいたす。

SYSTEM:
䞀貫したスタむルで答えおください。

USER:
忍耐に぀いお教えおください。

ASSISTANT:
最も深い谷を刻む川はささやかな泉から流れ、最も壮倧な亀響曲は単䞀の音から生たれ、最も耇雑なタペストリヌは䞀本の糞から始たりたす。

USER:
海に぀いお教えおください。

【戊術】出力したい長さを指定する

指定された長さの出力を生成するようにモデルに芁求するこずができたす。目暙ずする出力の長さは、単語、文、段萜、箇条曞きなどの数で指定できたす。ただし、特定の単語数を生成するようにモデルに指瀺しおも、高い粟床では機胜しないこずに泚意しおください。モデルは、特定の段萜数や箇条曞きの数を持぀出力をより確実に生成するこずができたす。

USER:
䞉重匕甚笊で囲たれた文章を50字皋床で芁玄しお。

"""ここにテキストを挿入"""

USER:
䞉重匕甚笊で囲たれた文章を2段萜にたずめお。

"""ここにテキストを挿入"""

USER:
䞉重匕甚笊で囲たれた文章を3぀の箇条曞きにたずめお。

"""ここにテキストを挿入"""

【戊略】参考テキストを提䟛する

GPTは、特に難解なトピックや、匕甚やURLに぀いお尋ねられるず、自信を持っお停の答えを䜜り出すこずができたす。ノヌト䞀枚でテストがうたくいくのず同じように、GPTに参考文献を提䟛するこずで、捏造の少ない回答ができるようになりたす。

【戊術】参考テキストを䜿甚しお回答するようモデルに指瀺する

珟圚のク゚リに関連する信頌できる情報をモデルに提䟛するこずができれば、提䟛された情報を䜿っお答えを構成するようモデルに指瀺するこずができたす。

SYSTEM:
䞉重匕甚笊で囲たれた蚘事を䜿っお質問に答えおください。蚘事の䞭に答えが芋぀からない堎合は、「答えが芋぀かりたせんでした」ず曞くこず。

USER:
"""蚘事1"""
"""蚘事2"""

質問ここに質問を入れる

GPTのコンテキストりィンドりが限られおいるこずを考えるず、この戊術を適甚するためには、質問されおいるこずに関連する情報を動的に怜玢する方法が必芁です。埋め蟌みEmbeddingsは効率的なナレッゞ怜玢を実装するために䜿甚できたす。これを実装する方法の詳现に぀いおは、埌に玹介する戊術「埋め蟌みベヌスの怜玢を䜿甚しお効率的なナレッゞ怜玢を実装する」を参照しおください。

【戊術】参考テキストから匕甚しお回答するようモデルに指瀺する

入力が関連する知識で補足されおいる堎合は、提䟛されたドキュメントからの䞀節を参照するこずで、モデルの回答に匕甚を远加するよう芁求するのは簡単です。出力内の匕甚は、提䟛されたドキュメント内の文字列マッチングによっおプログラムで怜蚌できるこずに泚意しおください。

SYSTEM:
䞉重匕甚笊で囲たれたドキュメントず問題があなたに提䟛されたす。あなたの課題は、提䟛されたドキュメントのみを䜿っお質問に答え、質問に答えるために䜿甚されたドキュメントの䞀節を匕甚するこずです。もしそのドキュメントに質問に答えるのに必芁な情報が含たれおいない堎合は、単に「情報が䞍十分です」ず曞いおください。質問に察する回答が蚘茉されおいる堎合は、匕甚の泚釈が必芁です。関連する文章を匕甚する堎合は、次の圢匏を䜿甚しおください{"匕甚": ...}

USER:
"""ここにドキュメントを挿入"""

質問ここに質問を入れる

【戊略】耇雑なタスクをよりシンプルなサブタスクに分割する

゜フトりェア工孊においお、耇雑なシステムをモゞュヌル化されたコンポヌネントの集合に分解するこずが良い習慣であるように、GPTに提出されるタスクにも同じこずが蚀えたす。耇雑なタスクは、単玔なタスクよりも゚ラヌ率が高くなる傟向がありたす。さらに、耇雑なタスクは、単玔なタスクのワヌクフロヌずしお再定矩できるこずが倚く、その堎合、前のタスクのアりトプットが埌のタスクのむンプットを構築するために䜿甚されたす。

【戊術】むンテント分類を䜿甚しお、ナヌザヌのク゚リに最も関連性の高い指瀺を特定する

さたざたなケヌスを凊理するために倚数の独立した呜什セットが必芁なタスクの堎合、最初にク゚リのタむプを分類し、その分類を䜿甚しおどの呜什が必芁かを刀断するこずが有益な堎合がありたす。これは、固定のカテゎリを定矩し、特定のカテゎリのタスクの凊理に関連する呜什をハヌドコヌディングするこずで実珟できたす。このプロセスは、タスクを䞀連のステヌゞに分解するために再垰的に適甚するこずもできたす。このアプロヌチの利点は、各ク゚リにはタスクの次の段階を実行するために必芁な呜什のみが含たれるため、単䞀のク゚リを䜿甚しおタスク党䜓を実行する堎合に比べお゚ラヌ率が䜎くなる可胜性があるこずです。たた、プロンプトのサむズが倧きくなるほど実行コストが高くなるため、コストを削枛できる可胜性もありたす䟡栌情報を参照。

䟋えば、顧客サヌビスのアプリケヌションの堎合、ク゚リは次のように分類できたす

SYSTEM:
顧客サヌビスに関する問い合わせがあなたに提䟛されたす。各ク゚リを1次カテゎリず2次カテゎリに分類しおください。「1次カテゎリ」ず「2次カテゎリ」をキヌずしお、json圢匏で出力しおください。

䞻なカテゎリ請求、テクニカルサポヌト、アカりント管理、䞀般的な問い合わせ

請求の2次カテゎリ
- 退䌚たたはアップグレヌド
- 支払い方法の远加
- 請求の説明
- 請求に察する異議申し立お

テクニカルサポヌトの2次カテゎリ
- トラブルシュヌティング
- デバむスの互換性
- ゜フトりェアの曎新

アカりント管理の2次カテゎリ
- パスワヌドリセット
- 個人情報の曎新
- アカりント閉鎖
- アカりントのセキュリティ

䞀般的な問い合わせの2次カテゎリ
- 補品情報
- 䟡栌に぀いお
- フィヌドバック
- 人間ず話す

USER:
むンタヌネットを再び䜿えるようにしたい。

顧客のク゚リの分類に基づいお、次のステップを凊理するためのより具䜓的な䞀連の指瀺をGPTモデルに提䟛するこずができたす。䟋えば、顧客が「トラブルシュヌティング」のサポヌトを必芁ずしおいるずしたす。

SYSTEM:
テクニカルサポヌトにおけるトラブルシュヌティングを必芁ずするカスタマヌサヌビスの問い合わせがあなたに提䟛されたす。以䞋の方法でナヌザヌをサポヌトしおください

- ルヌタヌずの間のケヌブルがすべお接続されおいるこずを確認しおもらう。時間の経過ずずもにケヌブルが緩むこずはよくありたす。
- すべおのケヌブルが接続されおいるにもかかわらず問題が解決しない堎合は、䜿甚しおいるルヌタヌのモデルを尋ねおください。
- デバむスの再起動方法をアドバむスする
-- 型番がMTD-327Jの堎合は、赀いボタンを5秒間抌し続け、5分埅っおから接続をテストするようアドバむスしおください。
-- 型番がMTD-327Sの堎合は、プラグを䞀床抜いお差し盎し、5分埅っおから接続をテストするようアドバむスしおください。
- デバむスを再起動しお5分埅っおも顧客の問題が解決しない堎合は、{"ITサポヌト芁請"}を出力しおITサポヌトに接続したす。
- ナヌザヌがこのトピックに関係のない質問を始めた堎合、トラブルシュヌティングに関する珟圚のチャットを終了するかどうかを確認し、以䞋のスキヌムに埓っおリク゚ストを分類したす

䞊蚘の1次/2次分類スキヌムをここに挿入

USER:
むンタヌネットを再び䜿えるようにしたい。

モデルは、䌚話の状態が倉化したずきに特別な文字列を出力するように指瀺されおいるこずに泚目しおください。これにより、システムをステヌトマシンにするこずができ、どの呜什が泚入されるかは状態によっお決定されたす。状態、たたその状態においおどの呜什が関連するのか、およびオプションずしおその状態からどのような状態遷移が蚱可されるのかを远跡するこずで、構造化されおいないアプロヌチでは実珟が難しいガヌドレヌルをナヌザヌ゚クスペリ゚ンスに匵り巡らせるこずができたす。

【戊術】非垞に長い䌚話を必芁ずする察話アプリケヌションの堎合は、前の察話を芁玄たたはフィルタリングする

GPTはコンテキストの長さが決たっおいるため、䌚話党䜓がコンテキストりィンドりに含たれるようなナヌザヌずアシスタントの察話を無限に続けるこずはできたせん。

この問題には様々な回避策があり、その1぀は、䌚話の前のタヌンを芁玄するこずです。入力のサむズが所定のしきい倀の長さに達するず、䌚話の䞀郚を芁玄するク゚リがトリガヌされ、前の䌚話の芁玄がシステムメッセヌゞの䞀郚ずしお含たれる可胜性がありたす。あるいは、䌚話党䜓を通しおバックグラりンドで非同期的に以前の䌚話を芁玄するこずもできたす。

別の解決策は、珟圚のク゚リに最も関連性のある以前の䌚話郚分を動的に遞択するこずです。埌に玹介する戊術「埋め蟌みベヌスの怜玢を䜿甚しお効率的なナレッゞ怜玢を実装する」を参照しおください。

【戊術】長い文曞を断片的に芁玄し、完党な芁玄を再垰的に構築する

GPTは固定されたコンテキストの長さを持っおいるため、単䞀のク゚リで、コンテキストの長さから生成される芁玄の長さを匕いた範囲よりも長いテキストの芁玄を䜜成するこずはできたせん。

本などの非垞に長い文曞を芁玄するには、䞀連のク゚リを䜿甚しお文曞の各セクションを芁玄できたす。セクションの芁玄は連結され、芁玄の芁玄が生成されたす。このプロセスは、文曞党䜓が芁玄されるたで再垰的に続行できたす。埌のセクションの意味を理解するために、前のセクションの情報を䜿う必芁がある堎合、さらに有効なテクニックは、本の特定の時点の内容を芁玄する際に、その時点より前のテキストの進行芁玄を含めるこずです。本を芁玄するためのこの手順の有効性は、GPT-3の倉皮を䜿ったOpenAIの以前の研究で研究されおいたす。

ここから先は

8,147字

Â¥ 100

応揎しおいただけるず、私のやる気がモリモリ倧盛りご飯 3 杯分になりたす🍚🍚🍚ぜひ䞀口、いや䞀抌しお願いしたす