ChatGPT Custom instructions とは?
Custom instructions とは、日本時間で 7/21 にリリースされた「前提条件」を事前に登録しておく機能です。
ChatGPT のコツの一つに「あなたは優秀なエンジニアです。」などの前提条件を書く、というものがありました。
これが多くなってくると毎回入力するのが大変なのですが、共通の前提条件を事前に個人が設定できるようになりました。
OpenAI が出しているニュースを日本語に訳すと、以下のように紹介されています。
OpenAIがChatGPTを更に利用者のニーズに合わせて調整できるようにする新機能、「custom instructions」を導入しました。
この機能は、今日からPlusプランのユーザー向けにβ版として公開され、今後数週間で全てのユーザーに拡大される予定です。Custom instructionsにより、ChatGPTが応答を生成する際に考慮すべき希望や要件を追加することが可能になります。ユーザーからのフィードバックを通じて、私たちはChatGPTとの会話を毎回新たに開始することの摩擦について認識しています。22の国々でのユーザーとの会話を通じて、我々のモデルが各個人の多様なコンテクストとユニークなニーズを効果的に反映するために、ステアラビリティ(運用性)が果たす基本的な役割についての理解を深めました。
ChatGPTは、今後のすべての会話に対してあなたのカスタム指示を考慮します。モデルは応答するたびに指示を考慮するため、同じ好みや情報を何度も繰り返す必要がなくなります。
例えば、教師が授業計画を作成する際に、「3年生の科学を教えている」と何度も繰り返す必要がなくなります。Python以外の言語で効率的なコードを好む開発者は、一度それを伝えれば理解されます。大家族のための食料品買い出しも、モデルが食料リストで6人分を考慮することにより、より容易になります。
このように、カスタム指示はChatGPTがユーザーの個々のニーズや状況により効果的に対応できるようにする機能です。これにより、ユーザーはよりパーソナライズされたエクスペリエンスを享受することができ、AIとのインタラクションがよりスムーズになります。
出典:OpenAI Blog - Custom Instructions for ChatGPT
執筆時点では、残念ながら月額 20ドルの ChatGPT Plus に登録していなければ使えませんが、今後は無料で使っているユーザーにも提供される予定とのことです。
私は ChatGPT Plus に登録しているので、使い方や、実際に使ってみた感想をお伝えします。
Custom instructions の使い方
Custom instructions を有効にする
Custom instructions の設定は、画面左下の Settings から開いた設定画面の中、Beta features から設定可能です。
Custom instructions の設定画面を開く
設定を有効にすると、アカウント名の横にある「...」アイコンをクリックしたときに出る一覧に「Custom instructions」が追加されています。
クリックすると、以下のようなモーダルが表示されました。
2つの入力欄がありますね。
それぞれについて、何を入力するべきかを説明しましょう。
Custom instructions の設定方法
Custom instructions の設定モーダル内には上部と下部、二箇所の枠がありました。
それぞれ、どのように使えばいいのかを説明します。
上部:「ChatGPTに知っておいて欲しい前提条件」を設定する
まずは上部の入力欄から見てみましょう。
「What would you like ChatGPT to know about you to provide better responses?」と書かれています。
この項目には、あなたについての情報や、またはChatGPTとの対話で達成したい目的などを入力します。
以下に具体的な例をいくつか示します。
- 「私は初級レベルのJavaScriptエンジニアで、スキルを向上させることを目指しています」
- 「私は中学3年生の数学教師で、新しい教材を開発するためのアイデアを探しています」
- 「私はブロガーであり、副業スキルを紹介する記事のアイデアを考えています」
- 「あなたは優秀なエンジニアであり、私はプログラミングのエラーを解決しようとしていますのでアドバイスをして欲しいです」
このように自己紹介と目的を設定することで、ChatGPTはあなたのニーズに応じたより適切なレベルの応答を提供します。
下部:「どのように応答して欲しいか?」を設定する
もう一つの入力欄についても見てみましょう。
こちらには「How would you like ChatGPT to respond?」と書かれています。
こちらの項目では、ChatGPTの応答に期待するスタイル、調子を指定します。
記事の文章生成などに活かしたいのであれば、文章の書き方も指示しておくといいでしょう。
以下に具体的な例をいくつか示します。
- 「可能な限り簡潔に、かつ明確な回答をお願いします」
- 「中学生に説明するように、難しい言葉を使わずに回答してください」
- 「複雑なトピックも詳細に説明して欲しいです」
- 「専門的な用語を使い、高度なトピックについて深く掘り下げて欲しい」
このように設定することで、ChatGPTはあなたが好む応答スタイルで対話を進めることが可能となります。
プログラミング学習・開発におすすめの設定
ここでは、プログラミングの学習や開発のニーズに合わせて指示として、おすすめの設定方法をご紹介します。
特に、プログラミングを学習中の人におすすめの設定方法(文章)をご紹介しますので、学習中のプログラミング言語や技術にあわせて置き換えてください。
なお、ここでは一つ目の入力欄である「What would you like ChatGPT to know about you to provide better responses?」の枠を「前提条件」、
二つ目の入力欄である「How would you like ChatGPT to respond?」の方を「回答方式」と呼ぶことにします。
これらを駆使することによって、特定のプログラミング言語やフレームワークであることを前提として学習・開発を効率的に行えます。
パターン1: 初心者の学習サポート
プログラミング初心者にとっては、プログラミング用語を調べることが難しいこともあります。
そういった場合には、以下の Custom instructions を設定しておけば、用語を入力するだけで説明が返ってきます!
前提条件:
初めてのプログラミングなので、基本的な概念や文法、使い方を学んでいます。
回答方式:
難しい言葉は使わず、もし専門用語を使う場合には、都度用語の説明を付けてください。
また、可能なら具体的なコードスニペットを示して、理解を助けてください。
質問文の例(プロンプト):
上記のプロンプトで試すと、以下のような回答を返してくれました。
かなり詳しく、しかも具体的なソースコード付きで教えてくれています。
パターン2: デバッグ(エラー解消)支援
プログラミング学習中の段階だと、何度もエラーに出会うことになります。
こんなとき、最小限の労力で解決策を教えてくれるとデバッグが捗りますよね。
以下のような Custom instructions 設定を使ってみましょう。
前提条件:
特にエラーメッセージの解読やバグの原因特定が難しいです。
回答方式:
また、エラーメッセージの解読方法・ポイントも合わせて教えてください。
質問文の例(プロンプト):
これは、本来 Book.all と index アクションに書きべきところを Book.new と、空のモデルを書いてしまっている問題です。
このコードが正しく動作しないのですが、何が問題でしょうか?
def index
@books = Book.new
end
エラーメッセージは以下の通りです。
undefined method `each' for #<Book:0x000000014a5f7148>
上記のプロンプトで試すと、以下のような回答を返してくれました。
的確に原因と修正方法を教えてくれており、バッチリ欲しい答えを返してくれています。
パターン3: コードレビューと改善提案
ソースコードというのは、必ずしも一つの書き方だけはなく、何度もレビューを通してより良いソースコードに改善していきます。
普通は経験豊富なエンジニアに見てもらうしかありませんが、ChatGPT を使うと一瞬でコードレビューをしてくれます。
こちらも Custom instructions を用い、効率的にコードレビューを行なってもらいましょう!
前提条件:
特に、パフォーマンス改善やリファクタリングのベストプラクティスを学びたいです。
回答方式:
また、なぜそれが良い書き方とされているのかも教えてください。
質問文の例(プロンプト):
以下は、index アクションページで複数の役割(一覧表示だけでなく、新規投稿する機能)を持たせている例です。
このRubyのコードに対して改善を提案して。
def index
@book = Book.new
@books = Book.all
end
以下は、返答の例です。
事前に想定していた役割の話だけでなく、必要なカラムだけ取得するというパフォーマンス面の提案もしてくれていますね。
パターン4: Webアプリケーションの設計支援
プログラミングスクール等での学習を終えた後、いざ自分のポートフォリオを作ろうとした時に機能のアイデアや、設計は悩みますよね。
こんな時も Custom instructions を使うと効果的にポートフォリオへのアドバイスをくれます。
前提条件:
アプリを作る上で必要な機能や、どういう流れで作っていけばいいのかもよく分かっていません。
回答方式:
また、可能であれば、具体的な例を用いて説明してください。
質問文の例(プロンプト):
試しに、エンジニア専用のSNSを作る上での設計を考えてもらいましょう。

