ChatGPT を活用する(プロンプト初心者から上級者へ)#
前言##
良い検索エンジンを使う技術が検索効率を大幅に向上させるように、ChatGPT とのコミュニケーションにおける柔軟な技術は、AI を使用する能力を大幅に強化することができます。
私はこれらの技術の学習を三つの段階に分けています:
-
基本原則の学習
-
プロンプトの構造的な書き方の学習
-
GPT を使ってプロンプトを書く手助けを探る
以下に、この三つの段階について説明します。
基本原則##
基本原則は二つあります:1. できるだけ明確に 2. できるだけ GPT に多く考えさせる
明確に##
GPT の本質は確率推論を行うことであり、得られる情報が多いほど正確になります。極限の状況では、あなたが ChatGPT に「一」と言うと、GPT は混乱します。あなたが何を表現したいのか分からず、推論することができません。
例えば、あなたが本格的な四川料理の麻婆豆腐の作り方を知りたいとします。以前、Google で「麻婆豆腐」と検索すると、検索エンジンはキーワードに基づいて多くのレシピサイトを表示します。あなたは最初のページに表示されるいくつかの結果をクリックするだけで、簡単に作り方を見つけることができます。
しかし、チャットボットに直接「麻婆豆腐」と言うと、正確にあなたのニーズを理解できないかもしれません。チャットボットは、実際の作り方とは関係のない回答をする可能性があります。逆に、あなたが詳細に説明すると、「本格的な四川料理の麻婆豆腐のレシピを提供してください。必要な材料、手順、小技などの情報を必ず含め、各ステップの後に説明を加え、最後にこの料理の味の特徴をまとめてください」と言うと、チャットボットはあなたのニーズを正確に理解し、具体的で有用なレシピを提供することができます。
これは、チャットボットを使用する際には、単純なキーワードではなく、明確で具体的な説明が必要であり、高品質な回答を得るためのものであることを示しています。これは検索エンジンの使用とは大きく異なります。明確な表現は、チャットボットがニーズをより良く理解するのを助け、より良い応答を得ることができます。出力の質の下限を保証しつつ、出力の質の上限を向上させることができます!
これは、従来の Google などの検索エンジンの使用経験とは全く異なります。
GPT に多く考えさせる##
GPT に多く考えさせることは、GPT に推論をさせることであり、直接的な回答を避けることです。
プロンプトに段階的推論の要求を追加することで、言語モデルはより多くの時間を論理的思考に費やし、出力結果もより信頼性が高く正確になります。OpenAI の公式の例を挙げると、もしあなたが GPT に特定の学生の答えが正しいかどうかを尋ねる場合、プロンプトは「学生の解決策が正しいかどうかを判断する」となります。複雑な計算問題とその答えに直面した場合、GPT は間違った答えを出す可能性が高いです。なぜなら、GPT は人間のようにまず答えを推論してから回答するのではなく、すぐに判断を下すからです。短い判断の中では、正しい答えを出すことはできません(人間が短時間で複雑な数学を計算できないのと同じです)。このようなプロンプトに変更すると、「まず自分で問題を解決し、その後自分の解決策と学生の解決策を比較し、学生の解決策が正しいかどうかを評価します。自分が問題を解決する前に、学生の解決策が正しいかどうかを確定しないでください。」という形になります。プロンプトに明確なガイダンスと条件を示すことで、GPT モデルはより多くの時間をかけて答えを導き出し、より正確な結果を得ることができます。
もう一つの効果的な方法は、GPT モデルに複雑なタスクをいくつかの簡単なサブタスクに分解し、それぞれを順番に完了させることです。
このタスク分割の方法は、まず大きくて複雑なタスクをいくつかの小さくて管理しやすいサブタスクに分けることを含みます。次に、私たちはそれぞれのサブタスクの推論プロセスに GPT モデルを集中させるように指導します。すべてのサブタスクが完了した後、各部分の結果を統合して、包括的な最終結果を形成します。この方法の利点は、GPT モデルが各サブタスクを処理する際により集中できるようになり、出力の正確性と質を効果的に向上させることができる点です。
即用のパフォーマンス向上プロンプト##
以下の文は、任意の対話の結末に追加することで、GPT の回答を一定程度向上させることができます。
PS (計画と解決): まず問題を理解し、問題を解決するための計画を立てましょう。その後、計画に従って問題を段階的に解決しましょう。
PS+ (計画と解決): まず問題を理解し、関連する変数とそれに対応する数値を抽出し、計画を立てましょう。その後、計画を実行し、中間変数を計算し(正しい数値計算と常識に注意)、問題を段階的に解決し、答えを示しましょう。
APE (自動プロンプトエンジニア): 正しい答えを得るために、段階的に解決していきましょう。
OPRO (プロンプトによる最適化): 深呼吸をして、この問題を段階的に解決しましょう。
少しの算術と論理的アプローチが、この問題の解決策に迅速に到達するのを助けます。
私たちの数値的な命令と明確な思考を組み合わせて、迅速かつ正確に答えを解読しましょう。
構造化プロンプト##
ChatGPT により複雑なタスクを実行させたい場合、より複雑なプロンプトが必要です。では、どのように複雑なプロンプトを書くのでしょうか。以下の構造化プロンプトの技術を使用できます。
構造化とは何でしょうか?日常の読書や執筆を例にとります。私たちが読む書籍には、さまざまなタイトル、サブタイトル、段落、文などの文法要素が使用されています。私たち自身の執筆過程でも、内容を章や段落に分けて考えを表現します。簡単に言えば、構造化プロンプトの概念は、執筆プロセスに似ています:それは構造を通じて私たちの考えを明確で整理された形で表現するのを助けます。
私たちが日常生活で読みやすさや表現を容易にするためにさまざまな執筆テンプレートを使用するように、古代の八股文、現代の履歴書テンプレート、学生実験報告書テンプレート、論文テンプレートなど、これらの構造テンプレートは、私たちが組織的に内容を提示するのを助けます。同様に、構造化プロンプトを書く際にも、さまざまな優れたテンプレートを利用することで、執筆プロセスをより簡単にし、内容の効果と効率を向上させることができます。したがって、自分に合ったテンプレートを選択または作成することは、PPT テンプレートを使用するのと同じように、構造化プロンプトの質を大幅に向上させることができます。
私の一つのテンプレートは:
Explain
####** 背景 ** タスクの背景を説明 ####** 目標タスク **GPT に最終目標を伝える ####** 実現戦略 **GPT に上記の目標を段階的に実現する方法を伝える ####** 出力例 ** 出力の例を示す ####** 制限点と重要事項 **GPT に制限点や重要な事項を伝える
実現戦略の部分では、AOT 構造を使用できます:
AoT(思考の AOT アルゴリズム)は、アルゴリズム思考を模倣します。以下のいくつかのワークフローを通じてタスクを実現します。
-
問題を定義する:AoT はまず問題を明確にします。
-
情報を収集する:AoT は LLM に必要な情報を取得するよう促します。
-
情報を分析する:LLM は収集した情報を分析します。
-
仮説を立てる:初期の解決策を提案します。
-
仮説をテストする:LLM は仮説を反論し、潜在的な結果を想定します。
-
結論を出す:LLM は完全な解決策を提供します。
上記の原理に基づいて、以下の書籍リストのフィルタリングの例を見てみましょう:
書籍リストのクラスタリング
#### 背景
私の手元には多様な種類の書籍を含む豊富な書籍リストがあります。
#### 目標タスク
書籍の内容と特徴に基づいて、それらを分類してください。分類は 5 つを超えず、正確であることを確認してください。
#### 実現戦略
深呼吸をして、段階的に考えましょう:
-
-
可能な書籍の種類を特定し、書名に基づいて初歩的に分類します。
-
各書籍について、関連する概要や内容情報を収集します。
-
収集した情報に基づいて書籍をさらに分類します。
-
各分類の書籍が類似のテーマや内容を持っているか評価します。
-
もしある分類の書籍が十分に類似していない場合は、さらなる細分化や分類の調整を検討します。
-
最後に、各分類の書籍がすべて類似していることを確認し、関連するキーワードをラベル付けします。
-
#### 制限点と重要事項
-
分類は事実に基づいていることを確認してください。つまり、実際の書籍の内容に基づいています。
-
各分類にキーワードを提供し、その特徴を理解するのを助けてください。
-
5 つを超える分類を避けてください。
#### 書籍リストは以下の通りです
書籍リストのフィルタリング
####背景
私はいくつかの書籍の詳細情報を探しており、選択するかどうかを決定するために役立てたいと考えています。
####目標タスク
以下の書籍について概要を提供してください。これにより、各書籍の内容と特徴を理解し、意思決定を助けることができます。
####実現戦略
深呼吸をして、段階的に考えましょう:
-
-
提供された書籍リストに基づいて、書籍の完全なタイトルと著者を特定します。
-
各書籍の詳細な概要を検索し、収集します。
-
収集した概要を簡略化し、明確で情報が完全であることを確認します。
-
概要の情報に基づいて書籍を初歩的に評価し、可能な読者、スタイル、テーマなどを考慮します。
-
すべての情報を統合し、書籍リストの順序に従ってユーザーに提供します。
-
例
書名:《XXXX》,著者:"AAAA":
-
-
概要:この書籍は......
-
評価:歴史小説が好きな読者に適しており、スタイルは描写的で、テーマは......
-
####制限点と重要事項
-
提供される情報は事実に基づいている必要があります。
-
もし特定の書籍の具体的な内容が不明な場合は、直接「わからない」と述べる必要があります。
-
完全かつ簡潔な概要を提供するよう努めてください。
#### 書籍リストは以下の通りです
構造化プロンプトにはまだ多くの内容が探求できます。興味のある方は、即刻李继刚をフォローするか、LangGPT を参考にしてください。
GPT にプロンプト作成を手伝わせる##
本当の変化は、あなたが GPT にプロンプトの書き方を教え、それによってそのタスクを手伝わせることができる点にあります。
あなたは上記のすべての技術を GPT に教え、プロンプト作成の専門家にすることができます。このモードでは、あなたはプロンプトの初稿を提供するだけで、GPT は自動的にそれを最適化します。これは、簡単な初期入力を通じて、GPT が学んだ技術を活用し、プロンプトの質を洗練し向上させることができることを意味します。
具体的には、この方法がもたらす利点は以下の通りです:
-
プロンプトの質を向上させる:十分に訓練された GPT は、ベストプラクティスに基づいてプロンプトを書くことができ、その構造を完全にし、GPT モデルの潜在能力を最大限に引き出します。
-
労力と時間を節約する:この方法により、元々煩雑なプロンプト作成プロセスが自動化され、ユーザーはプロンプトのフレームワークをゼロから考える必要がなくなり、時間と労力を大幅に節約できます。
-
反復と最適化が容易になる:GPT の支援を受けて、ユーザーはプロンプトのバージョンを迅速に反復し最適化し、効果を評価し、最適なテンプレートを選択することで、簡単に最適化を実現できます。
-
広範な適応性:GPT は、さまざまな分野やタスクに対するプロンプト作成技術を学び、新しいニーズに簡単に適応できます。
まとめ##
上記の内容から、ChatGPT との効率的なコミュニケーションの三つのレベルが見えてきます:
-
基本原則を理解する:これは ChatGPT を使用するための基礎であり、明確さと GPT に深く考えさせることを強調しています。生き生きとした比喩を通じて、私たちはこれらの原則をよりよく理解し、適用することができます。
-
構造化プロンプトの技術を習得する:このレベルでは、背景、目標、戦略、制限条件などのフレームワークを利用して、GPT に効果的に複雑な問題を解決させる方法を学びます。
-
GPT を利用してプロンプトの作成を支援する:これは ChatGPT とのインタラクションの高いレベルを表し、高品質なプロンプトを自動生成する目標を達成し、繰り返し作業を減らします。
この三つのレベルを段階的に深めることで、私たちは ChatGPT とのより効率的で豊かな協力関係を築き、その巨大な潜在能力を十分に発揮し、より多くの価値を創造することができます。