【ChatGPT】プロンプトの書き方の基本とAzure OpenAIでの設定

2023.11.29
【ChatGPT】プロンプトの書き方の基本とAzure OpenAIでの設定

いつも弊社のブログをご愛読いただき、ありがとうございます。
MS開発部の山本です。

前回のブログでは、【ChatGPT】活用方法とセキュリティリスク ~Azure OpenAIのすすめ~で基本的なChatGPTの使い方についてご紹介しました。

ChatGPTを利用していて、思ったような回答が返ってこなくて、自分でやったほうが早いなど感じたことはないでしょうか?
ChatGPTは日々進化していて、人間の話す言葉、いわゆる自然言語への理解も徐々に深まっていますが、人間と話すようにチャットをしても、まだまだ理解していないことも多いです。
つまり、ChatGPTにもわかるような適切なプロンプト(質問文)にすることで、ChatGPTの回答の質は大きく向上させることができます!

本ブログではChatGPTのプロンプト(質問文)を適切にして、ChatGPTの活用をもっと効率的にする方法をご紹介します!

ChatGPTの基本的な概要

ChatGPTは、OpenAIによって開発された先進的な人工知能(AI)ベースの会話型モデルです。このシステムは、自然言語処理(NLP)の技術を駆使して、人間のような流暢で理解しやすいテキストを生成します。ChatGPTは、特に対話能力が高く、さまざまなトピックに関する質問に答えたり、あるいはより複雑なタスク、例えば文章の作成、情報の要約、言語の翻訳などをこなすことができます。

ChatGPTの中心的な要素は、ユーザーからの入力、つまり「プロンプト」です。プロンプトの質によって、ChatGPTの応答の質や有用性が大きく左右されるため、効果的なプロンプトの作成はChatGPTを最大限に活用する鍵となります。次のセクションでは、なぜプロンプトが重要であり、どのようにして効果的なプロンプトを作成するかについて詳しく掘り下げていきます。

プロンプトの重要性

ChatGPTのようなAI対話システムにおいて、プロンプト(質問文)は極めて重要な役割を果たします。
ChatGPTはプロンプトを理解して、どのような応答をするかを判断するためです。
人間同士の会話でも一つ前の会話によって、相手に返す言葉は違うのと同じです。

例えば、GPTに「1 + 1について解説してほしい」などの簡単な質問でも、プロンプトによって、回答は大きく異なります。
まずはシンプルに質問してみます。

ChatGPTにシンプルな質問

次は小学生でもわかりやすいようにしてほしいと付け加えました。

ChatGPTにキャラ付けした質問

どうでしょうか?
プロンプトの書き方ひとつでGPTの回答が大きく変わったと思います。
もちろん、どちらがいい回答なのかは決まっていないです。
ただし、具体的にどのように返してほしいかが決まっている場合は、シンプルな質問をするよりも、プロンプトにどのようにしてほしいかなどの具体性、明確さを付け加えることが重要です!

プロンプトのなぜ重要なのかポイントをまとめると、

  • 応答の方向性を決定する:プロンプトは、ChatGPTが応答を生成する際の基礎となります。明確で具体的なプロンプトは、より関連性の高い、具体的な応答を生み出します。
  • 対話の深さを制御する:プロンプトの詳細度によって、ChatGPTはより深い分析や詳細な情報を提供することができます。
  • 誤解を防ぐ:曖昧または不明瞭なプロンプトは、誤った解釈や不適切な応答を引き起こす可能性があります。そのため、明瞭なプロンプトは誤解を防ぐ上で重要です。

効果的なプロンプト作成のためのヒント:

  • キャラ付け:ChatGPTにどのような立場で回答してほしいか、記載することは重要です。どのような立場であるかを支持することにより、ChatGPTはそれに合わせて回答を生成することができます。
     →例:「あなたは英語の教師/小説家/ブログライターです」
  • 回答例:回答してほしい形式がある場合、それを文字で説明するよりも回答例を一緒に送信するほうがChatGPTは理解し、新たな回答を生成することができます。
  • 具体性:具体的な質問や要求をすることで、ChatGPTはより正確な回答を提供できます。
  •     
  • 明確さ:あいまいな表現を避け、直接的で理解しやすい言葉を使用してください。
  •     
  • 目的の明示:何を求めているのか、どのような情報や結果を期待しているのかをはっきりさせることが大切です。

以上のことを意識して、ChatGPTに対話することで、効率的にChatGPTを使いこなすことができると思います!

効果的なプロンプト例

先ほどのプロンプトでの重要性を踏まえて、
以下に、いくつかの一般的なシナリオとそれに対応する効果的なプロンプトの例を紹介します。

例1: 情報検索

  • 一般的なプロンプト:「日本の歴史について教えて。」
  • 効果的なプロンプト:「日本の江戸時代の主な歴史的出来事について詳しく説明してください。」
効果的なプロンプトでは、特定の時代に焦点を当て、より詳細な情報を求めることで、ChatGPTは具体的で深い知識を提供できます。

例2: クリエイティブライティング

  • 一般的なプロンプト:「物語を書いて。」
  • 効果的なプロンプト:「中世ヨーロッパを舞台にした冒険物語の始まりの部分を書いてください。主人公は若い騎士で、秘密の探索を始めたばかりです。」
具体的な設定とキャラクターを指定することで、ChatGPTはより鮮明で創造的な物語の一部を生成できます。

例3: 教育的な説明

  • 一般的なプロンプト:「重力について教えて。」
  • 効果的なプロンプト:「中学生に向けて、ニュートンの万有引力の法則を簡単に説明してください。」
対象となる聞き手のレベルを指定することで、ChatGPTは適切な複雑さと言語で応答を提供できます。

例4: テクニカルサポート

  • 一般的なプロンプト:「パソコンが動かない。」
  • 効果的なプロンプト:「Windows 10を搭載したHPラップトップが起動しない。電源ボタンを押しても何も反応がない。どうすればいいですか?」
具体的なデバイス情報と問題の詳細を提供することで、ChatGPTはより精度の高いトラブルシューティングのアドバイスを提供できます。

Azure Open AIでの効果的なプロンプト作成方法

本ブログでは、ここまでChatGPTでの効果的なプロンプトの作成方法を解説してきました。
ここからは前回ブログでもご紹介した Azure Open AIを利用したチャットボットでの効果的なプロンプトの作成方法をご紹介します。 大まかな手順は同じですが、Azure Open AIを利用するほうが、ChatGPTより細かく指定できます!
前回ブログを読んでいなくて、Azure Open AIについては詳しく知りたい方はこちらから!

Azure Open AIを利用したチャットボットは、以下の3つの要素からチャットの回答が構成されます。

  • SystemRole:チャットボットのキャラ付け
  • UserRole:利用者からのチャット
  •     
  • AssistantRole:チャットボットからの回答

実はChatGPTも裏側でこのように構成されています。
ただし、ChatGPTではSystemRoleとAssistantRoleは変更できないので、チャット送信(UserRole)のみになります!!

Azure Open AIを利用したチャットボットでは、ChatGPTで書いたチャットのキャラ付け部分をSystemRoleとして送信します。SystemRoleはキャラ付けのために用意されているので、UserRoleに記載するよりもチャットの回答へ反映しやすいです。

Azure Open AI チャットプレイグラウンドでは、SystemRoleは下図の部分に当たります。

SystemRoleの入力画面

次にAzure Open AIに返してほしい回答例を追記しています。
UserRoleに質問例を、AssistantRoleに回答例を入れていきます。
これを入れることで、Azure Open AIはこんな感じで返せばいいのかと理解してくれます。
Azure Open AI チャットプレイグラウンドでは、UserRole、AssistantRoleは下図の部分に当たります。

SystemRoleの入力画面

質問例と回答例は入れればいれるほど、Azure Open AIからの回答はそれを考慮したものを返してくれます!
ただし、SystemRole、UserRole、AssistantRoleは文字数が多ければ多いほど、トークン数は増加し、支払金額も増加するので注意が必要です!

Azure Open AI についてもっと詳しく知りたい方はお気軽にお問い合わせください!

まとめ

本ブログを通じて、ChatGPTとそのプロンプトの重要性、そして効果的なプロンプトの作成方法についてご紹介しました。

以下は、このブログから得られた主なポイントのまとめです:

  • ChatGPTの基本:ChatGPTは多様な応答能力を持つAI対話システムであり、日常会話から専門的な情報提供まで幅広い用途に対応しています。
  • プロンプトの重要性:プロンプトはChatGPTの応答の方向性と質を決定するため、明確で具体的なプロンプトが効果的な対話に不可欠です。
  • 効果的なプロンプトの例:効果的なプロンプトは、具体的な情報の要求、明確な表現、適切な文脈の提供を通じて、ChatGPTにより有用な応答を促します。

ChatGPTとの効果的な対話において、プロンプトの質は非常に重要です。明確で具体的なプロンプトを用いることで、ChatGPTはその潜在能力を最大限に発揮し、より有益で満足のいく応答を提供することが可能になります。

また弊社では
ChatGPTと同じ生成AIを利用したセキュアな社内利用向けChatGPTを製品として提供しています。
こちらでは、本ブログで紹介したような精度の高いプロンプトを効率的に使えるような仕組みもご紹介しているので、併せてご一読いただけたら幸いです。
【BizCopilot Powered By ChatGPT】Azure OpenAI 社内利用 ChatGPT

ここまでお付き合いいただき、誠にありがとうございました。

以上、最後までご愛読いただき
ありがとうございました。

お問い合わせは、
以下のフォームへご連絡ください。

お問い合わせ

PAGETOP