![見出し画像](https://assets.st-note.com/production/uploads/images/133902001/rectangle_large_type_2_53da00b6321f5f56acb65222d285dda5.png?width=1200)
【ChatGPT】Prompt Engineeringにおける試行と備忘
※力尽きて、画像と「まとめ」はChatGPTにお願いしました。
また、より良いプロンプトを追求するまじめな方はこんな記事よりも下記を参考にしていただければ幸いです。
本記事はわたしの単なる気まぐれと遊び心(気の迷い)によって成り立っています。専門的・学術的な知見や厳密な検証とはほど遠いものです。
参考サイト
はじめに書くものじゃないけど、こっちを読んだ方が有意義な気がします・・・
使いやすいテンプレとか
Few-ShotとかFine tuningなどの手法、考え方とか
論文(Prompt Engineering Guideより)
以下は、プロンプトエンジニアリングに関する最新の論文(リリース日順に並べ替え)です。私たちはこれを毎日更新し、新しい論文が入手可能になります。私たちは、これらの論文の要約を毎週、上記のガイドに取り入れています。
- Nature Language Reasoning, A Survey(opens in a new tab) (March 2023)
- Augmented Language Models: a Survey(opens in a new tab) (Feb 2023)
- A Survey for In-context Learning(opens in a new tab) (Dec 2022)
Towards Reasoning in Large Language Models: A Survey(opens in a new tab) (Dec 2022)
- Reasoning with Language Model Prompting: A Survey(opens in a new tab) (Dec 2022)
- Emergent Abilities of Large Language Models(opens in a new tab) (Jun 2022)
- A Taxonomy of Prompt Modifiers for Text-To-Image - Generation(opens in a new tab) (Apr 2022)
- Pre-train, Prompt, and Predict: A Systematic Survey of Prompting Methods in Natural Language Processing(opens in a new tab) (Jul 2021)
やってみたこと
いい加減自分なりのテンプレートの形を定めたかったので、遊び半分と試み程度にChatGPTに聞いてみた。
なにを聞いてみたか・・・
テンプレートに用いる特定のキーワードについて
特に出力の差異やより効果的なものがないかについて
やっておもったこと
結果的に定まってない 、、、(´・ω・`)
適宜使い分けたり、改善したりするのがよいんだろうなぁ。
変数名や関数名、クラス名の定義時もそうだけど、言語毎の命名規則とかプロジェクトごとの規約などがあいまいな場合に発生するちょっとしたモヤっと感が残りました。
当たり前かもだけど、発展、改善過程にある生成系AIではなおのこと、こういった点はその都度、より良いものを探していくというのが「せおりー」なのかも・・・
ChatGPTとのやり取り
※バージョンについては、GPT4を利用
Me
質問です。
あなたに質問する、指令する、指示する際に下記キーワードのどれが最も精度が高い、あるいは適切な回答を引き出すのに適していますか?
- キーワード:
"Instruction",
"Request",
"Directive",
"Order",
"Command",
"Input"
その理由と他のものではいけないのかなど、説明も含めて**日本語**でお願いします。
またその際に対応するあなたからの回答や対応の形式などを指定する場合のキーワードについても適切なものを教えてください
(例えば"Result", "Response", "Output", "Execution"...etc)。
ChatGPT
各キーワードがどのように適切な回答を引き出すかについて考える際、最も重要なのは、質問の文脈やニュアンスと、あなたが求めている情報の種類です。
ここで挙げられたキーワードは、指示や要求を表すために使われますが、それぞれ微妙に意味が異なり、その違いが回答の質に影響を与える可能性があります。
キーワードの解釈と適用:
Instruction(指示):
「Instruction」は、教示やガイドラインを求める場合に適しています。たとえば、手順や方法論に関する説明を求める際に使用します。これは、教育的なコンテキストや学習の場面で特に有効です。
Request(依頼):
「Request」は、何かを求める比較的柔軟な方法で、特定の行動や情報を要求する際に適しています。依頼は、相手に選択の余地を残すような状況で最も効果的です。
Directive(指令):
「Directive」は、より強制的なニュアンスを持ち、特定の行動を指示する際に使用します。目標達成に向けた具体的な行動を求める場合に適しています。
Order(命令):
「Order」は、最も強制力があり、即時の行動を要求する場合に使用します。厳密な指示や緊急性を伴う状況で有効ですが、協力的なコンテキストでは避けるべき言葉です。
Command(コマンド):
「Command」は、特に技術的な指示や操作命令を伝える場合に適しています。コンピューターシステムやソフトウェアのコンテキストでよく使用されます。
Input(入力):
「Input」は、情報やデータの提供を求める際に使用します。議論や決定プロセスにおいて他者の意見や情報を求める場合に特に有効です。
対応する回答や対応の形式を指定するキーワード:
Result(結果):
特定の行動やプロセスの結果を求める際に使用します。
Response(回答):
質問や要求に対する直接的な回答や反応を指す場合に適しています。
Output(出力):
プロセスや操作から生じるデータや結果を指す場合に使用します。技術的な文脈でよく使われます。
Execution(実行):
ある操作や命令が実行された結果を求める際に使用します。特にプログラミングやシステム操作の文脈で有効です。
結論:
適切なキーワードの選択は、あなたが求める回答の性質と、提供される情報のコンテキストに大きく依存します。柔軟な情報やガイダンスを求める場合は「Request」や「Input」、具体的な手順や行動を求める場合は
「Instruction」や「Command」が適しています。また、回答の形式については、求める情報の種類に応じて「Response」や「Result」、「Output」、「Execution」を適切に選択することが重要です。
Me
ありがとうございます。
今伺った回答について、質問ですが、それはコミュニケーション一般(一般的なコミュニケーション)におけるものでしょうか?
それとも、あなた(ChatGPT)とのやり取りにおけるものでしょうか?
今回の私の質問の意図は後者を伺ったものです。
もし、前者であった場合は、後者で示した意図に従って、再度適切な回答を行ってください。
ChatGPT
了解しました。私(ChatGPT)とのやり取りにおける適切なキーワード選択について、再度説明します。
私との対話では、明確なコミュニケーションを促進するために、特定のキーワードが効果的に機能します。
ChatGPTとのやり取りにおけるキーワード:
Request(依頼):
情報や回答を求める際に「Request」を使用すると、柔軟性を持って幅広い情報を提供することができます。私とのやり取りでは、特に有用な情報や解決策を求める際に役立ちます。
Input(入力):
特定の情報や質問の詳細を提供したい場合に「Input」を使用すると、より正確で関連性の高い回答を促すことができます。
Command(コマンド):
特定の操作や実行を要求する際には、「Command」が有効です。私に対する指示が明確であればあるほど、期待される結果を得やすくなります。
形式を指定するキーワード:
Response(回答):
あなたの質問や要求に対する直接的な回答を求める場合には、「Response」を指定することが有効です。
Execution(実行):
特定のコードを実行したい場合や、具体的な手順を踏むよう指示したい場合に、「Execution」を使用すると、期待される動作の実行を明確に伝えることができます。
補足:
私(ChatGPT)とのやり取りでは、質問や指示が明確であればあるほど、適切かつ精度の高い回答を提供することが可能です。また、あなたの意図や目的を具体的に説明することで、私はより適切な情報やサポートを提供できます。
特に、「Request」や「Input」は柔軟な情報交換に適しており、「Command」は具体的な操作や手順を求める際に効果的です。そして、回答の形式に関しては、「Response」や「Execution」などを適宜指定することで、あなたの要求に合った形での対応を期待することができます。
Me
ありがとうございます。
大変参考になりました。
最後に一点、今伺った内容について、私が提起したキーワード以外に、
あるいは、それ以上によりよいキーワードがある場合はそれを提示してください。
またその場合は、その理由なども含めて説明してください。
ChatGPT
ChatGPTとのやり取りにおいて、提供したキーワード以外で、効果的なコミュニケーションを促進する別のキーワードを考えるとすれば、
「Clarify(明確化する)」や「Explain(説明する)」が挙げられます。
これらのキーワードは、質問の意図や必要とする情報のレベルをさらに具体化し、回答を最適化するのに役立ちます。
Clarify(明確化する)
使用する理由:
質問や指示に対する理解を深めるために、より具体的な情報や文脈を提供してほしい場合に有効です。
曖昧さを減らし、より正確で有用な回答を得るために役立ちます。
Explain(説明する)
使用する理由:
特定のトピックやプロセスに関する詳細な説明を求める際に使用します。
単に情報を提供するだけでなく、その背景、理由、または概念を深く理解したい場合に役立ちます。
これらのキーワードは、質問が複雑である場合や、特定のトピックについてより深い洞察を求める場合に特に有用です。また、あなたの要望や疑問が明確であるほど、私はより適切で満足のいく回答を提供することができます。
補足
Detail(詳細): 特定の質問やトピックに関するより詳細な情報を求める場合に使用します。このキーワードは、一般的な概要ではなく、具体的な情報やデータを得たい場合に効果的です。
これらのキーワードを使用することで、あなたの質問や要求に対する回答の精度を高め、より有意義な情報交換を行うことができます。
まとめ
本記事では、ChatGPTとの対話におけるキーワードの選択が、質問の精度と回答の質にどのように影響するかについて探求しました。最適なコミュニケーションを実現するためのキーワード選択には、文脈や意図の明確化が不可欠であることが明らかになりました。さらに、"Request"や"Input"、"Command"といったキーワードが柔軟性や具体性を提供し、より効率的な情報交換を促進することが示されました。
また、"Clarify"や"Explain"といった追加のキーワードが、質問の意図をさらに明確化し、より深い理解を促すために有用であることがわかりました。これらのキーワードは、特に質問が複雑である場合や、背景や概念の深い理解を求める場合に役立ちます。
ChatGPTとのやり取りを通じて、単に正確な情報を得ることだけではなく、質問の仕方やキーワードの選択がコミュニケーションの質を大きく左右することが理解できました。技術の進化と共に、これらの対話型AIとの効果的なコミュニケーション方法も進化し続けるでしょう。今後も最適なキーワードの選択を通じて、より充実した情報交換を目指していきたいと考えています。
この記事が気に入ったらサポートをしてみませんか?