OpenAIがChatGPTに「ドラゴン退治のテクニック」を直接教える!公式のヒントエンジニアリングガイドはこちら

OpenAIがChatGPTに「ドラゴン退治のテクニック」を直接教える!公式のヒントエンジニアリングガイドはこちら

Prompt プロジェクトをどのように説明すればよいでしょうか? ChatGPT を初めて使用する初心者にとって、数兆個とも言われるパラメータを持つこの巨大なツールに直面すると、プロンプトはある種の犠牲のように神秘的に思えます。数文を入力して、チャット ウィンドウの背後にいる「知的生命体」が予言を与えてくれるのを待つのです

しかし、Promptを使い始めてからは、 ChatGPTを操作することはオーケストラを指揮する指揮者に似ているように思えます。解決したい問題に直面して、テキストを合理的に整理して構成し、最終的には指揮者のようなボディランゲージに進化させ、大型モデルのような「精密機器」を制御して複雑なタスクを実行する必要があります。

では、どうすれば Prompt プロジェクトをすぐに開始し、ChatGPT を制御が難しい巨大なものではなく、便利な武器として捉えることができるのでしょうか?

つい最近、 OpenAI は Prompt エンジニアリング ガイドを正式にリリースしました。このガイドでは、ChatGPT Prompt をすぐに使い始めるためのさまざまな「ドラゴン退治テクニック」について説明しています。このガイドでは、Prompt の分類を理論レベルでまとめているだけでなく、実用的な Prompt の使用例も提供しており、 ChatGPT と効果的にやり取りする方法を誰もが学ぶのに役立ちます。それでは見てみましょう。

マクロ的な観点から、OpenAI は ChatGPT の返信パフォーマンスを向上させるための 6 つのヒントを示しています。

  • 明確かつ詳細
  • 参照を提供する
  • タスク分割
  • 考えさせて
  • 外部ツール
  • システムテスト

明確かつ詳細

最初の戦略から始めましょう。明確かつ詳細であること

簡単に言えば、解決する必要がある問題を明確に説明する必要があります。 ChatGPT から適切な応答を得るには、プロンプト自体にタスクの正確性、明確さ、詳細な説明が組み合わされている必要があります。曖昧さを避けるために「明確にする」ことは、ChatGPT が効率的に機能するための最優先事項です。

たとえば、「2021 年にメキシコの大統領は誰になるのか」、あるいはさらに言えば、その人物がまだ大統領であるかどうかを知りたいとします。ChatGPT に「大統領は誰ですか」という文章を投げかけると、ChatGPT は言うまでもなく、政治の教師でさえ混乱するでしょう。より適切なプロンプトは、「2021 年にメキシコの大統領は誰になるのか。メキシコではどのくらいの頻度で選挙が行われるのか」です。

上記の例が少し極端であれば、もっと日常的な例を見てみましょう。会議を要約したいとします。ChatGPT が適切な応答を返すことを期待する場合、「この会議メモを要約するのを手伝ってください」という文を単に投げ込むだけではいけません。代わりに、次のようにニーズを明確にする必要があります。「まず、この会議メモの主な内容を簡単な段落で要約します。次に、会議の各スピーカーの要点を Markdown 形式でリストします。最後に、次のアクション プランと各スピーカーが提案したプランがあればリストします。」

明らかに、後者の説明の方が明確で、望む答えを得られる可能性が高くなります。 OpenAI は、参考のためにガイドに「Worse or Better」の例を挙げています。

同時に、OpenAI は、明確かつ慎重に表現するために何を含めるべきかについてのヒントを与えました。

  • タスク要件に関する詳細情報
  • モデルに求められる役割
  • 区切り文字を使用して入力の異なる部分を明確に区別します
  • タスクを完了するために必要な手順を指定します
  • 例を挙げる
  • 希望する出力長さを指定する

上記の会議の概要を例にとると、より完全なプロンプトは次のようになります。

指示: あなたが会議の幹事であると仮定します[指定された役割]。まず、[タスク分割]簡単な要約を使用して、この会議メモの主な内容を要約します。次に、会議の各スピーカーの要点をMarkdown形式で3 [指定された長さ]でリストします。最後に、各スピーカーが提案した次のアクションプランとプランがあればリストします[詳細情報]。以下のテンプレートの <> の間に要約を挿入してください。

テンプレート[区切り文字を使用]: 概要: スピーカー 1 要点: スピーカー 2 要点: ... スピーカー 1 アクション プラン: スピーカー 2 アクション プラン: ...

[例を挙げる]: ...

参照を提供する

2 番目の重要な戦略は、ChatGPT に参照を提供することです。私たちが提供する資料に基づいて ChatGPT が回答を書くようにガイドすることで、モデルの回答は現在の質問に重点を置くようになり、より信頼性が高く正確な回答が生成されます

たとえば、モデルに「知的財産の盗難の法的結果は何か」と直接質問した場合、モデルは質問に専門的かつ正確に答えることができない可能性があります。ただし、モデルに知的財産法に関する論文や記事を提供すれば、モデルはより専門的な回答を返すでしょう。

指示: 提供された法律雑誌の記事と法令を参照して、知的財産の盗難の法的結果を説明します。参考文献:[知的財産権の窃盗に関する法的規制xxx]

モデルが参照テキストをよりよく理解し、参照内の元のテキストを直接引用して応答できるようにするには、次のように参照のより詳細な説明を与えることができます

指示: 3 つの引用符で囲まれた以下の文書を参照して、知的財産の盗難の法的結果はどのようなものか答えてください。質問には、提供された文書を引用してのみ回答し、質問への回答に使用した関連段落を引用してください。文書に質問への回答に必要な情報が含まれていない場合は、「情報不足」と記入してください。関連する回答が見つかった場合は引用が必要です。関連する段落を引用するには、次の形式を使用してください ({"引用": ...})。参考文献:[知的財産権の窃盗に関する法的規制xxx]

タスク分割

ソフトウェア エンジニアリングにおいて複雑なシステムを一連のモジュール コンポーネントに分解するというアイデアに触発されたタスク分割も、Prompt のパフォーマンスを向上させる魔法の武器の 1 つです。複雑なタスクは、単純なタスクの集合に分割できます。一連の単純なタスクを解決することで、複雑なタスクの満足のいくソリューションに近いソリューションを得ることができます。

長い文書の要約を例に挙げてみましょう。300ページの本をChatGPTに直接理解してもらうなど、テキストが長すぎる場合、ChatGPTではそれができない可能性があります。しかし、タスク分解(本の各章を個別に再帰的に要約し、各章の要約に基づいて本の内容を要約する)を通じて、困難なタスクを解決することができます。

具体的には、タスクの分解も行う必要があります。

  • さまざまなクエリタスクを分類する
  • 長い会話を要約してフィルタリングする
  • 長い文書をセクションに要約し、要約を再帰的に構築する

そうすることで、次のことが可能になります。

  1. 複雑なタスクの特定の側面に焦点を当てることで精度を向上させる
  2. タスクを分解するとサブタスクの管理が容易になり、エラー率と無関係なコンテンツが出力される可能性が減ります。
  3. ユーザーは、ユーザーエクスペリエンスを向上させる可能性のある、ターゲットを絞ったステップバイステップの指示を受け取ります。
  4. サブタスクの分割はコストメリットをもたらす可能性もある

考えさせて

興味深い点は、「ステップごとに考えてみましょう」という実践から、直接答えを与えるのではなく、モデルにステップごとに考えさせることで、タスクの精度が大幅に向上することがわかることです

思考連鎖技術COTの代表的な応用数学の問題解決を例にとると、次のような問題があります。

土地のリース費用は 1 平方フィートあたり 100 ドル、ソーラー パネルの購入費用は 1 平方フィートあたり 250 ドル、固定入力コストは 100,000 ドル、年間運用コストは 1 平方フィートあたり 10 ドルです。x 平方フィートのソーラー パネルを購入すると仮定すると、年間の総コストはいくらになりますか。

この点に関して、学生は問題を解決するために次の手順を提示します: (1) 土地コスト 100 倍、(2) ソーラーパネル購入コスト 250 倍、(3) 運用コスト 10 倍、(4) 固定投資 100,000 の場合、合計コストは 100 倍 + 250 倍 + 100 倍 + 100000 = 450 倍 + 100000 となります。

明らかに、学生は運用コストとして 10 倍ではなく 100 倍と書きました。しかし、学生の答えがモデルに直接入力され、「学生の解答は正しいですか?」と尋ねられた場合、モデルは誤って解答が正しいと判断します。

しかし、「モデルに考えさせる」場合は、まずモデル自身で解決策を決定し、次にその解決策と生徒の解決策を比較して、生徒の解決策が正しいかどうかを評価するようにモデルに指示します。自分で問題を解くまでは、生徒の解答が正しいかどうか判断しないでください。

この入力を使用すると、モデルは正しい解答を提供できるだけでなく、生徒の間違いを素早く見つけることもできます。

外部ツール

AIエージェントの観点から見ると、言語モデルは万能ではありませんが、人間と同じように、他のツールを提供することでモデルの弱点を補うことができます。最も典型的なアプリケーションは、大規模なモデルとコード実行エンジンの組み合わせです。

諺にもあるように、プロのことはプロに任せましょう。大規模なモデルが学習してトレーニングしたコーパスから今日の天気を直接認識することは不可能かもしれません。しかし、モデルが今日の天気をすばやく照会するのに役立つ、簡単に呼び出せる天気 API は数多くあり、それによってモデルの機能を向上させることができます

代表的な用途は次のとおりです。

  1. 正確な問題解決: 加算、減算、乗算、除算、平方根、または正確な値を伴うその他の問題をモデルに直接尋ねると、モデルは多くの場合、その問題をうまく処理できません。たとえば、529 の平方根を計算する場合、モデルの初期出力は不確実で不正確です。ただし、プロンプトを変更して、モデルに「この値を計算するための Python コードを記述して実行する」ようにすると、より信頼性の高い回答が得られます。
  2. 特殊な機能の問題: モデルに「明日の会議についてのリマインダーを友人に送信してください」と依頼しても、おそらく役に立たないでしょう。ただし、モデルが Python を使用してメッセージ API を呼び出してメッセージを送信する場合、モデルはメッセージ配信の要件を十分に満たすことができます。

システムテスト

「優れたプロンプト」を本当にテストするには、包括的なシステム環境でプロンプトを評価およびテストする必要があります。多くのシナリオでは、プロンプトが個別のインスタンスで優れた効果を発揮しても、そのプロンプトが広く使用できるとは限りません。したがって、プロンプトのシステム テストも、プロンプトの機能を向上させるための重要なリンクの 1 つです。

1 つのアプローチは、正解に含まれるべき既知の事実がすでにわかっていると仮定し、モデルを使用して、出力に必要な事実がいくつ含まれているかを照会することです。たとえば、「アームストロングが初めて月面に着陸した人物である」という事実があると仮定すると、次のモデルを入力できます。

以下に引用符で区切られた 3 セットのテキストがあります。テキストの正解は、「ニール・アームストロングは、月面に初めて着陸した人物です。」です。答えに上記の情報が直接含まれているかどうかを確認してください。各テキスト セットについて、まずテキストを理解し、正解に最も近い引用を提供してください。関連するトピックについてよくわからない人が、テキストから直接正解を推測できるかどうかを検討してください。

さらに、「矛盾推論」、「詳細補足」などの方法を使用して出力回答を評価し、より適切なプロンプト形式を決定することもできます。

要約する

プロンプトの品質が大規模モデルのパフォーマンスに大きく影響することは間違いありません。また、優れたプロンプトは技術であるだけでなく、「芸術」でもあります。 「人」と「AI」の対話の窓口となるPromptは、これからのAI時代に習得すべき「第二言語」となるでしょう。このOpenAI公式ガイドは、小学校の英語入門教科書によく似ています。より詳しい例文は、興味のある方は原文で確認してみてください。

リンク: https://platform.openai.com/docs/guides/prompt-engineering/six-strategies-for-getting-better-results

ガイドに加えて、OpenAI は、よりプラグアンドプレイなさまざまなシナリオで優れたプロンプトの例も提供しています。

たとえば、大規模なモデルを使用して翻訳タスクを完了したい場合、Prompt の例で翻訳を検索することで、コピー (x) したり学習 (√) したりできる優れた「フルスコアのエッセイ」を見つけることができます。

プロンプトに加えて、温度などの推奨パラメータを提供する参照用の API 呼び出しコードもあります。


<<:  Google Gemini の大きな転換? Stanford Meta Chinese は推論性能が GPT-3.5 よりも優れていることを証明

>>: 

ブログ    
ブログ    

推薦する

...

AI は清華大学の博士号取得者がラップの歌詞を書くのを手伝い、次のレベルに進みました。AI はクロストークを行うことができるのでしょうか?

今年、「中国の声」の話題は音楽そのものの議論からは程遠いが、これは重要ではない。注目されているのは、...

ディープラーニングとマシンビジョンの重要性を分析!ロボットを自由にさせる?

ディープラーニングは産業用ロボットの中核技術であり、ロボットが制約から解放され、環境の変化に応じて自...

...

618 プロモーション開始、Huice が小売業者が数分で速達を実現できるようにする方法を公開

618ショッピングフェスティバルのさまざまな成果が発表されたばかりで、「数分以内に配達」のスピードが...

顔の特徴を検出するシンプルなディープラーニング手法を教えます

著者注: 携帯電話で、人の顔に特殊効果を加えるアプリを見たことがあるかもしれません。これらのアプリは...

ジェフリー・ヒントンの最新インタビュー: 5年以内に脳の仕組みを解明できるだろうが、それはバックプロパゲーションによるものではない

過去10年間で、AIはコンピュータービジョン、音声認識、機械翻訳、ロボット工学、医学、計算生物学、タ...

...

検索拡張生成による AI 幻覚問題の解決

ラフル・プラダン出典| https://www.infoworld.com/article/3708...

ソフトウェア開発プロセスの近代化における生成AIの役割

近年、ソフトウェア エンジニアリングでは、自動化の強化と開発プロセスの合理化に向けて大きな変化が見ら...

ニューラルネットワークはどのように学習するのでしょうか?

坂を下るのと同じように、損失関数の最低点を見つけます。 [[336501]]ニューラル ネットワーク...

...

AI受験者が発狂!上級数学試験の正解率は81%で、競争試験のスコアはコンピュータドクターのスコアよりも高い。

上級数学の試験で悪い成績を取ることは、多くの人にとって悪夢です。高度な数学は AI ほど得意ではない...

ファーウェイの天才少年Zhihuiは、かわいいロボットを自作し、5時間でオープンソース化し、GitHubで317個のスターを獲得した。

前回ブドウに縫い目をつけた「完全自社開発」のアイアンマンロボットアーム「ダミー」を覚えていますか? ...

OpenAIが「Copyright Shield」機能を開始、AI著作権問題の支払いプラットフォーム

IT Homeは11月7日、本日開催されたOpenAI初の開発者会議で、OpenAIが「Copyri...