この記事を読むのに必要な時間は約 25 分 59 秒 です。
2023年5月25日最新情報がアップデートされました。 詳しくはこちら
ChatGPTを利用していますか?
結局、利用しても内容のチェックが必要なので、意味がないと思っていませんか?
お気持ち、よくわかります。やるからには完璧を求めたいですよね。
でも、こう考えてみませんか?
ChatGPTは、あなたの秘書のような存在です。
クリエイティブな作業や決定はあなたが行い、ChatGPTは手助けをする存在です。
そうなのです、有能な部下を無料で活用できるのです。
ただし、有能な部下であっても、得意不得意があります。
そして、指示する上司であるあなたにもテクニックが求められます。
そこで、今回から2回に分けて
- ChatGPTが得意とするタスクはなにか
- 伝える際のテクニック 今回はここまで
- テクニックを駆使したプロンプト例
をご紹介します。
全2回を読めば ChatGPT に適したタスクを判断して、ChatGPT を有効活用することができます。
この記事片手に、日ごろの作業に有能な秘書を雇いませんか?
第1回目は、以下をお届けします。
ある程度、ChatGPT を活用されていてテクニックも理解されている方は、実例集の第2回目から読み進めることをお勧めします。
実例集はただいま工事中です。今しばらくお待ちください。
ChatGPT の得意なタスクを理解し向き合う方法
ChatGPT を使ってみて、やめてしまう人は「期待外れ」と感じてやめている方が多いそうです。
ChatGPT は万能ではありません。
得意なタスクにおいては、人間の能力をはるかに凌駕します。
そして、その領域は日々進化しています。
まずは、ざっくりと何が得意か理解すれば、ChatGPT とよい関係性が築けると思いますよ。
ChatGPT がなんなのかを改めて知る
ChatGPT は大量の情報をもとに学習したAIモデルであるため、それ単独では学習したデータをもとに動作しているにすぎません。
そのため、最新の情報に対する知識や特定のドメイン知識(学習データにないような)は不得意になります。
また、会話で覚えていられる量も限られるため、会話のなかでどんどん内容を忘れていきます。
反対に、一般的なタスクを瞬時におこなうことは得意になります。
例えば、ルールにもとづいて大量のデータから規則性を見つけ出したするタスク、要約や文書生成、は人間をはるかに凌駕する生産性(スピード・量)を感じられます。
そのため、これらを理解したうえで ChatGPT の不得意タスクを頑張るよりも、得意なタスクに焦点をあてて優先的に利用するほうがはるかに生産的です。
GPT-4 のブラウジング機能を利用して最新の情報も利用可能?
2023年5月12日に、ChatGPT Plus にブラウジング機能がベータ版として提供されています。これはインターネットから最新の情報を取得してタスクを解決するための機能です。
利用した感じでは、まだいくつか課題があり得意なタスクとして認識するには早すぎるかなと感じています。
ただし、今後すぐに改善してくるはずです。非常に期待できる機能です。
あらためて整理すると
不得意タスク
- 最新の情報を検索して利用するようなタスク
- 一般的ではない特定ドメインの知識にかかわるタスク
- 想定を超える情報量を操作するタスク
たとえば
- 今日の〇〇の天気予報をおしえて
- 〇〇社の△課の昨年のプロジェクト別売り上げをまとめて
- 〇〇(10万文字)のデータを要約して
得意タスク
- 与えた情報を整理(要約・知識追加・成形・並び替え)するタスク
- 一般的な知識【2019年9月までの情報】を整理(要約・整理・成形)するタスク
- 一般的な知識からの様々な視点からのアイデアだしするタスク
たとえば
- 〇〇を要約して
- 〇〇について整理して箇条書きでまとめて
- 〇〇のデータを表にまとめて
- 〇〇のテーマについてSEO的に優れたタイトル案を5個だして
それでは、この得意なタスクに対しどのように向き合えばいいのでしょうか。
まずは ChatGPT との接し方をイメージする
何が得意タスクで何が不得意タスクと厳密に覚えるのではなく
わたしは、ChatGPT を人間と思って接するのがいいと思います。
しかも、新人秘書さんに接するみたいにです。
できるだけ人格をイメージするほうが、いろいろなことを許容できるようになるからです。
愛情をもって 丁寧にかつ具体的に指示をしてあげることで、いやな顔をせず何度でも付き合ってくれます。
反対に、あいまいに指示すると妄想や空想してしまう癖があるので、接するほうもいろいろと気を付ける必要があります。
もっとこんな風に特徴を言語化するのもお勧めです。
- けっこういろいろなことに詳しいんだよ!
- 何かになりきるのが得意なんだ。
- 具体的に指示してくれないと暴走するかも。
- 同じことを何度も聞かれても、不機嫌な顔をしないで答えるんだ。
- 会話が長くなると、最初の部分を忘れちゃうことがあるんだ。
- 最新の話題は知らないんだけど(2021年以降は外界と隔離してたからね)。
- インターネットはやらないんだけど、他の人から情報をもらって進化してるんだ。
- 最近は治ってきたけど、知ったかぶりをすることもあるんだ。
- センシティブな内容はやめてね。通報するかもよ!!
あらためて見ると本当に人みたいですよね。こんな感じに人格をイメージしてみると接しやすくなりませんか?
この特徴は、あたまに入れておいてください。
イメージがあることで、すんなり特徴を理解でき、どう使えば効率的か自分で改善しながら利用できます。
ここまでで、
ChatGPT の「得意なタスク」と「利用する際の向き合い方」が理解できたと思います。
あとは、実際のプロンプトをどう作ればよいのかがわかれば、使いこなすことができます。
自分なりのベストプロンプトを作りだすテクニック
ChatGPTを上手く活用している人は、よく使うプロンプトを蓄積しています。
初めての方は他人のプロンプトを参考にしてもいいです。いまでは公開している人は多いからです。
そして、プロンプトに何度も微調整を加え、自分に合った優れたプロンプトを作り上げます。
つまり、プロンプトには"正解"がなく、各人がテクニックを活用して目的を達成しているのです。
私も同じく、複数のテクニックを組み合わせ、エースプロンプトを作り出しています。
では、プロンプトのテクニックはどのように身に着ければよいのでしょうか。
プロンプトエンジニアリングを読んでみる
ChatGPT のような大規模言語モデルは、プロンプトエンジニアリングというプロンプトを送信する際の技術がすでに学問として体系化しています。
モデルに問い合わせを行う方法を最適化する技術のことで、モデルの性能を最大限に引き出すためには、どのように質問を投げかけるのがよいのかを理解するためのもので、ガイドライン化もされています。
有志により、日本語にまとめられているサイトがあります。
ガイドラインを一部参考にして、表にまとめました。参考程度によんでください。
テクニック | 内容 | 具体例 | ねらい |
---|---|---|---|
具体的な指示 | モデルに明確な指示を出すことで、必要な情報をより正確に得られます。 | 「埼玉の天気を教えてください」という質問よりも「2023年5月22日の埼玉の最高気温と最低気温を教えてください」という質問の方が、より具体的な情報を得ることができます。 | 具体的であれば、目的に近づく |
モデルに役割の割り当て | モデルに特定の役割を割り当て、その役割に基づいて回答を得ることができます。 | 「あなたが歴史の専門家だと想像して、応仁の乱の原因について説明してください」と質問すると、モデルは歴史の専門家としての視点から情報を提供します。 | 回答を狭めることができる |
タスクに仮定を設定 | モデルに特定の仮定を設定してから問い合わせると、特定の視点からの回答を得ることができます。 | 「もし地球が二つの月を持っていたとしたら、それが天文学にどのような影響を与えるか教えてください」と質問すると、モデルはその仮定に基づいて回答します。 | 新たな立場からの意見がもらえる |
質問をステップバイステップに分ける | 複雑な問い合わせは、いくつかの小さなステップに分けて行うことが有効です。 | 「量子コンピュータの基本原理を説明してください」という大きな質問を「量子ビットとは何ですか?」、「エンタングルメントとは何ですか?」、「量子コンピュータの計算はどのように行われますか?」といった小さな質問に分けて行うと、より理解しやすい回答を得られます。 | 求める回答に誘導できる |
プロンプトを再評価と微調整 | モデルの回答が十分でない場合は、質問を再評価し、微調整して再度投げかけます。 | モデルが「量子ビットとは何ですか?」という質問に対して深い理解が必要な程度には応答しなかった場合、質問を「量子ビットの特性とそれがどのように量子コンピューティングに影響を与えるのかを詳しく説明してください」と微調整することで、より詳細な情報を得ることができます。 | なんどでもトライできる |
システム行動の利用 | モデルに対して、特定の行動を取るように指示を出すことも有効です。 | モデルに対して「私があなたに新たな情報を伝えるたびに、その情報を記録し、将来の対話で参照できるようにしてください」と指示を出すことで、より一貫性のある対話を実現できます。 | 情報を整理できる |
多様な視点の提示 | 答えが主観的な質問に対しては、モデルに複数の視点からの回答を求めることが有効です。 | 「気候変動についての様々な立場を説明してください」と質問すると、モデルは複数の視点からの情報を提供します。 | 議論を広げることができる |
時間と場所の指定 | モデルに時間や場所を明示的に指定することで、より具体的な情報を得ることができます。 | 「ローマ帝国の滅亡について教えてください」という質問よりも「西ローマ帝国が476年に滅亡した理由を説明してください」という質問の方が、より具体的な情報を得ることができます。 | 定量的な情報でさらに目的に近づける |
このほかにも有名なテクニックはいくつもありますが、詳細はガイドラインを参照してください。
ChatGPT もこのガイドラインに従ったテクニックを応用することで、さまざまな実案件に対応することができます。
以降では、ChatGPT でとくによく使うテクニックに絞って説明します。
テクニックの前に前提知識!プロンプトを送る際の注意点
送信すると 最悪 ChatGPT が使えなくなる?
ChatGPTを使用する際には、いくつかの制限があります。
以下の情報は送信しないでください。
送信情報 | 注意事項 |
---|---|
個人情報 | あなた自身または他の人の名前、住所、電話番号、メールアドレス、パスワードなどの個人情報を送信しないでください。 |
不適切な内容 | 侮辱、威嚇、ハラスメント、不適切なコンテンツ、違法な行為を推奨するメッセージなどは禁止されています。 |
未成年者の情報 | 未成年者の情報を送信することは絶対に避けてください。 |
機密情報 | 法的に保護されている情報、知的財産、商業秘密、医療情報などを送信しないでください。 |
誤った情報 | 故意に誤った情報や誤解を招く可能性のある情報を送信することは避けてください。 |
これらの情報を送信すると、あなたのアカウントが一時的または永久的に停止される可能性があります。
また、あなたの安全やプライバシーを守るためにも、これらの情報を送信しないようにしてください。
1回に送信できる文字数の上限は?
ChatGPTは一度に扱うことができるトークン数(トークンは単語や記号を表す)に制限があります。
GPT-3の場合、一度に最大4096トークンを処理することができます。
一方で、GPT-4 の場合は、公式でどのモデルが使用されているか記載がないため上限がわかりません。
「gpt-4(8k)」モデルの場合は、そのトークン制限は 8,192(8K)となり、「gpt-4-32k」の場合は 32,768 (32K)となることが予想されます。
英語において、大まかに言って1トークンは1単語あたりになるため、一度に数千単語まで処理できます。
しかし、日本語の場合、1トークンが1文字になることが多いため、比較すると大幅に少なくなります。
実際に、トークンから文字数を計算するためのサイトをOpenAI が用意しているので、こちらを参考にしてみてください。
ChatGPT!プロンプト作成テクニック7選
ここまでで、ChatGPT への接し方と注意点を理解しました。
次に、ChatGPTに求める回答を引き出すためのプロンプトのテクニックを具体的に説明します。
具体的なタスク例を用いてテクニックを紹介しますので、そのまま活用いただいても大丈夫です。
ベストなプロンプトの開発には、これらのテクニックを組み合わせて行います。一度にすべてを理解し、完璧なものを作るのではなく、試行錯誤しながら作ることをおすすめします。
プロンプトは以下の構成要素で組み立てることを目安にしてください。すべてがなくても構いません。
- 命令: ChatGPT に実行させたいタスクや命令
- 条件: 外部情報や追加条件。
- 入力データ: 応答を見つけたい入力または質問
- 出力指示子: 出力のタイプや形式
テクニック1 指示を具体的にする
ChatGPT に対して空想や妄想を入り込む余地をなくす
ChatGPTに対し、空想や妄想の余地をなくすことが大切です。
これにより、正確な回答を引き出します。質問があいまいで矛盾していると、ChatGPTは自己解釈で回答します。
つまり、空想や妄想が含まれたあいまいな回答となる可能性が高くなります。
そこで、具体的な指示が重要となります。それは定性・定量問わず、ChatGPTの理解を助けるためのものです。
これにより、目的に沿った求める回答を得ることができます。
では、「具体的な指示」とは何でしょうか?
それは以下の要素を持つものです。
具体的指示要素 | 要素の説明 |
---|---|
詳細度 | 「科学的な説明をください」など、どれほど詳細な情報が必要かを指定します。 |
回答の形式 | 「箇条書きで答えてください」や「エッセイ形式で答えてください」など、回答の形式を指定します。 |
求める視点 | 「専門家の視点から答えてください」や「初心者の視点から説明してください」など、求める視点を指定します。 |
時間と場所 | 「現代のアメリカで」や「中世ヨーロッパで」など、特定の時間や場所を指定します。 |
質問の目的・意図 | 「実務で活躍するエンジニアを育てるためのコンテンツです」や「読者に〇〇がそれとなく良いと感じてもらうブログ」など、質問の目的・意図を指定します。 |
人間の会話には省略が多く見られます。
これは日本人の場合は顕著で、特に「阿吽の呼吸」や「ツーカーの仲」のような関係では省略は一層多いのではないでしょうか。
しかし、ビジネスの現場では、省略がミスの源となることがあります。
具体的な指示をすることがミスを防ぐ秘訣であり、これは人間社会の基本でもあります。
ChatGPTにおいても、これは同様で、重要な会話には目的を明確にする詳細な質問が求められます。
プロンプト例
マイクロソフトAzureの公式ページで、Azure VMサイズの種類を開発者が見てわかるように表で整理してください。
情報が古いので実際にはこのままでは使えないですが、具体的な指示通りに回答をしています。(実際に列の指定など行えば、より求める結果を得られる可能性が高くなります。)
たとえば、これをあいまいな質問にしてしまうと、勝手に省略されたり(G、H、Nシリーズがない)開発者が知りたい情報がないなどの結果になってしまいます。
ChatGPT Plus のWebブラウジング機能を使った場合
ちゃんと公式ページから取得した最新の情報をもとに、表を作っています。
テクニック2 ”指示”と”内容”をわかりやすく分離する
ChatGPT に指示と内容を明確に伝える方法になります。指示する内容が明確になっている場合に力を発揮します。
方法は二つあり、独立した1つのタスクを1回おこなう場合と、同じタスクを複数にわたって何度も行う場合に有効な方法があります。
以下に例を示します。
独立した1つのタスクを1回でおこなう場合
一度のプロンプトで"指示"も"内容"も送る場合になります。
プロンプト例
テキスト内容を要約してください。要約の際に注意すべきことを気を付けて回答してください。
テキスト:"""
(要約したい文章)
"""
### 注意すべきこと
- 箇条書きにする
- ですます調にする
- 読みやすく短文で返却すること
- テキストに出てくる専門用語は「用語」に別途整理すること
- 用語がわからなければ、不明として処理すること
このように、指示と本文の位置を理解し処理してくれます。
同じタスクを複数にわたって何度も行う場合
同じタスクを何度も依頼する場合は、指示する内容をはじめに記憶する方法が有効です。
これにより、毎度同じ指示をする手間が省けます。
プロンプト例
これから要約したい内容を送信します。要約の際に注意すべきことを気を付けて回答してください。
### 注意すべきこと
- 箇条書きにする
- ですます調にする
- 読みやすく短文で返却すること
- テキストに出てくる専門用語は「用語」に別途整理すること
- 用語がわからなければ、不明として処理すること
用意できたら「はい」と返事してください。
これにより、以降チャットに要約したい文をいれるだけで、要約を返してくれます。
テクニック3 ChatGPT に役割をあたえて指示する(自分の役割を明確にする)
チャットGPTに役割をあたえることで、その役割になりきって回答をしてくれるようになります。
また、同時に自分とAIの関係性を明確にするために、自分の役割を明記する(ロールを付与)することで、より現実性を帯びた結果を出してくれます。
よく使うのは、「あまり前提条件を与えずアイデアだし」と、「細かく条件ややりたいことを指定する」使い方があります。
はじめはアイデアだしから使い、慣れてきたら条件を細かく指定していく使い方がよいと思います。
ここでは、それぞれの例を紹介します。
あまり前提条件を与えずアイデアだし:新商品の製品名称案
何事も1から作るのは大変な作業です。
いざ10 個アイデアを出せと言われても瞬時に思いつく人はいないのではないでしょうか。
ChatGPT ならば可能です。
たくさん出してもらい、そこから何かインスピレーションを得ればいいのではないでしょうか。
盗作?いえいえ!合作です。
プロンプト例
わたしはAI製品開発者です。世に数々のキャッチコピーを生み出してきたあなたに、日本市場の中高年向けのAIチャットツールの製品名とプレスリリースのタイトルを10個ずつ考えてほしいです。
文の中に現時点で考えられる条件を入れていますが、なくても生成してくれます。
会話の中で条件を入れたり、はじめのプロンプトを修正しながら精度を上げていけばいいのです。
まさに、合作ではないでしょうか。
細かく条件ややりたいことを指定する:メールの本文作成
人間でも、メール文面を作成する際に、その役割によって文体を変えると思います。
ChatGPT に役割を与えることで同じような対応をしてくれます。
プロンプト例
あなたは製品サポート担当で、あなたが出したメールが丁寧で読みやすく読み手を考えた文面なのでクレームをもらったことはないです。
以下の内容をもとにメール文章を作成してください。
### 概要
- 弊社製品の不具合のお詫び
### 宛先
- 対象は製品利用ユーザで、〇〇会社の□□課の△△様
### 内容
- 不具合があった製品は新たな製品と交換する(郵送)
- 再発防止につとめる
- 今後も継続して利用してほしい
### 条件
- 文体はフォーマル
- 誠意が伝わる文章にする
与えられた役割で回答をしてくれています。
内容や条件でも対応することができますが、役割をあたえることで全体を一貫した条件で対応することができます。
ためしに、役割を「製品のキャラクター」にしてみると、ちゃんとその役割を演じてくれています。
(クレームは増えそうですが・・・・・・)
テクニック4 制約を与える
実際のタスクは、いくつの制約があることが多いです。
その場合でも、制約を定量的または定性的に明示することで、制約を守った返答をするようになります。
プロンプト例
住所録のサンプルデータを制約条件に従って作ってください。また、もしすべてを表示できなければ、生成するためのスクリプト(Python)を作成してください。
### 制約条件
- 日本人のデータ
- すべて異なるデータ(名前などもランダムに生成)
- データは全国
- 500件程度
- ECサイトの利用有無もわかる
- 区切り文字はカンマ
- データはエクセルにコピーする
- 表にはタイトルを入れる
テクニック5 例を与える
基本的には、ChatGPT は学習したデータをもとに回答するのですが、質問時に新たなルールを提供することで、そのルールに従った回答をすることができます。
これを、プロンプトエンジニアリングでは「Zero-shot learning」や「Few-shot learning」と呼びます。
これは先の前提条件などを定義しなくても、柔軟に回答をしてくれる利点があります。
それぞれの例を紹介します。
Zero-shot learning の例:ビジネスレターの下書きを作ってもらう
このプロンプトでは、新製品の紹介文の作成をChatGPTに依頼しています。
ChatGPT はこの具体的なタスクについての事前のトレーニングは受けていませんが、一般的な知識と理解を用いてこのタスクを実行します。
プロンプト例
弊社の新製品ラインについて、既存のクライアントへ正式なビジネスレターを作成してください。
結果を見ると、このままでは使えませんが使えそうな文章を提供してくれています。
Few-shot learning の例:ビジネスの石家ってに関連する問題を解決する助言をする
ChatGPTに対して、ビジネスの意思決定に関連する問題を解決するための助言を求めることができます。
プロンプト例
例1:
質問: "弊社は競争の増加により低い売上を記録しています。何をすべきでしょうか?"
回答: "製品の品質を向上させるために研究開発に投資を考えるか、製品の視認性と魅力を高める新たなマーケティング戦略を探求してみてください。"
例2:
質問: "私たちは従業員の留まり難さに困っています。これを改善するために何ができますか?"
回答: "キャリア開発プログラム、競争力のある報酬、ポジティブな職場環境を促進するなど、従業員のエンゲージメントを向上させる措置を試みてみてください。"
上記の例に基づいて、次の状況に対する助言を提供してください:"弊社のオンライン存在感が弱く、それがブランドイメージに影響を与えています。これを改善するために何ができますか?"
この場合、最初の2つの例は、ChatGPTにビジネスの問題解決に関するタスクを教えています。
そして、新しい問題を提供し、それに対する助言をモデルに求めます。
このように例をいくつも与えることで、さまざまなタスクを解決するチャットを作ることができそうです。
テクニック6 なんども同じことをさせる
ChatGPTは、同じことを何度も頼んでも機嫌を損ねることはありません。むしろ、機転を利かせてか回答を変化させてくることもあります。
もしChatGPTの回答が自分の思い通りではなかった場合は、別の質問をするなどして自分が求める回答を得るまで続けることができます。
しかも、会話の途中でいつでも行えるので、過去の会話からやり直すことも可能です。
これは人間にはできないことですよね。
テクニック7 自己評価をさせ改善を導き出す
人間がなにかのタスクをする場合、見直しをしてミスがないように確認すると思います。
これと同じで、ChatGPT にもチェックすることを依頼することができます。
具体的に、自己評価させ何かの改善策が現時点であるのか提示してもらいましょう。
以下の例では、文章添削のプロンプトです。いままでのテクニックがいくつか含まれていますが、注目するところは「自己評価」や「評価を上げるためのその他改善案」
プロンプトの例
あなたは文章添削のプロです。以下の文章をもっとわかりやすく良い文章に段階的に改善してください。
文章:”””
(チェックする文章)
”””
### 期待すること
- 文章はシンプルな構造にすること
- 長文は避け一文は50文字程度にすること
- シンプルな構造とは、主語と述語の関係性が明確であること
- ですます調にすること
- 修飾語はなるべく被修飾語の近くに配置すること
- 文章を読みやすくするために、適度な句読点を使うこと
- 文が単調にならないように、読み手が飽きない表現をいれてもよい
- 英数字は半角にすること
- 重複・複文表現を使わないこと
- 一文の中で同じ言葉は使わないこと
- 接続詞は使いすぎないこと
### 回答例
改善後の文章:
{改善後の文章}
改善点:
{改善点を箇条書きで記載}
自己評価:50/100
### 評価を上げるためのその他改善案
そのほかの改善案:
{今回の改善以外にやったほうがよい改善点があれば箇条書きで記載}
実際に、以下の文章を(チェックする文章)に入れて送ってみました。
ChatGPTは、同じ質問を繰り返しても不機嫌になりません。時折、その回答は変わることがあります。思い通りの回答が得られない時は、質問を工夫します。それがいつでも可能で、過去の会話からやり直すことも可能です。これは、人間では難しいことです。
以下のように自己評価と改善案を提示してきました。
改善案をもとに修正するか、「再度、改善してください」と質問するだけで、改善してきます。
こんなことが瞬時に行えるのです。
まとめ
いかがでしたでしょうか。
今回は、ChatGPTを使う際の心構えとプロンプトテクニックについて解説しました。
自分だけのプロンプトを育てていくためにも重要な内容となるため、使う際に手元に置いていただけると嬉しいです。
- ChatGPT の得意なタスクを理解し、利用時にChatGPTの個性をイメージすることでよりよい活用につながる。
- ChatGPT において重要なプロンプト7選をもとに自分のプロンプトを育てていくのが使いこなしの近道となる。
最後にもう一度確認
そのまますぐに使えるプロンプトが必要な方は、次の記事も参考にしてください。今回のテクニックを活用して自分なりのプロンプトに育ててください。
(こちらの記事は工事中です)
最新情報
最新情報更新(2023年05月25日)
引き続き、なにか最新情報が更新された際には情報をアップデートしていきます。