ChatGPTの活用方法において新しい何かを求めていますか?
この記事は、あなたが求めている答えを提供します。
この記事では、ChatGPTを効果的に活用するための方法を紹介します。
26個の原則は研究から生まれた
この記事の基盤となるのは、上記の論文です。
この研究は、ChatGPTなどの大規模言語モデルを最大限に活用するための26の原則を提案しています。
これらの原則は、AIとのやりとりをより効果的で、より深いものに変える可能性を秘めています。
ちゃんとした研究の成果というところが、興味深いところです。
なお、研究で対象となった大規模言語モデルは以下。
- LLaMA-1(7B, 13B ,70B)
- LLaMA-2(7B, 13B ,70B)
- GPT-3.5
- GPT-4
有料版の代表とオープンソースの代表と言う感じですね。
それに、小さいモノから大きいモノまで幅が広いと言えます。
26の原則
26の原則は、以下で確認できます。
以下は、それらを端的に日本語で表現したモノです。
詳細は、上記で確認してください。
- ポイントを絞って端的に質問する。丁寧な言い回しは不要。
- 対象読者と状況設定を明示する。
- 複雑なタスクは順を追ってシンプルな質問に分解する。
- 「〇〇してください」のように肯定的表現を使う。否定的表現は避ける。
- わかりやすい説明や対象読者に合わせた説明を求める。
- 報酬を提示してより良い回答を促す。
- 期待する形式の回答例を示す。
- 質問構成を区切り線で明確化する。
- 「あなたの課題は~」「必ず~しなければならない」などの文言で要求を明確化する。
- 不十分な回答に対するペナルティを警告文で示す。
- 自然な表現で解答するよう要求する。
- 「順を追って考える」などの文言で体系的思考を促す。
- 偏見やステレオタイプを避けるよう明記する。
- 詳細情報が必要な場合はモデルに質問させる。
- 理解度テストと解説を要求する。
- 視点を定めるためにモデルに役割を割り当てる。
- 文章区切り位置を明示する。
- キーワードの繰り返しで焦点化する。
- 順を追った説明と例示の併用。
- 回答の始めを示すことで内容を導く。
- 詳細な回答を指定する。
- 文体は変えずに提示文を改訂させる。
- 複数ファイルのコードの自動生成を要求する。
- 序文を提示して続きを完成させる。
- 内容条件を指示として明記する。
- 文例の文体と表現をマッチングさせる。
個人的には、「10」と「23」は知りませんでした。
それ以外は、意識せずに利用しているような感じです。
「10」は、以下のようなプロンプトになります。
あなたの課題は、友人に水の循環について説明することです。 簡単な言葉を使わないと罰せられます。
完全に脅してますね。
これが効果ありというのが、驚きです。
「23」は、ファイルへの反映まで考慮したスクリプトを生成するということです。
おそらく、この表現では伝わらないと思います。
以下で説明します。
23の「複数ファイルのコードの自動生成を要求する」とは
一言で言うと、指図書をChatGPTに作らせるということです。
例えば、ChatGPTにPythonの関数を作らせた場合を想定しましょう。
そして、その関数を複数のPythonスクリプトに反映する必要があります。
普通は、その関数をコピーして、各スクリプトには貼り付けていきますよね。
23の内容は、それを自動的に行うコードをChatGPTに書かせるということです。
とりあえず、次のコードをご覧ください。
このコードは、ChatGPTなどのLLMが出力した結果になります。
import os def create_or_update_file(filename, content): """指定されたファイルにコンテンツを作成または追加する""" with open(filename, 'a') as file: file.write(content) # 新しい機能を追加するコード new_function_code = """ def new_function(): # 新しい機能の実装 pass """ # この機能を追加するファイルのリスト files_to_update = ["module1.py", "module2.py", "module3.py"] # 各ファイルに新しい機能を追加 for file in files_to_update: create_or_update_file(file, new_function_code)
このコードを出力させるためには、以下のようなプロンプトを入力します。
Pythonスクリプトを生成してください。 このスクリプトは、"module1.py"、"module2.py"、"module3.py"という3つのファイルに新しい関数new_functionを追加する機能が必要です。 new_functionは空の関数で、後で具体的なコードを追加できるようにしてください。 また、これらのファイルが存在しない場合は新しく作成し、存在する場合は関数をファイルの最後に追加してください。
いかがでしょうか?
指図書ということのイメージが伝わったでしょうか?