ChatGPT Custom instructionsの使い方・おすすめ設定を解説!プログラミングへの活用

当サイトでは一部リンクに広告が含まれています
アイキャッチ
この記事は 2023年10月8日 に内容を最新化しました。
目次

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 を設定しておけば、用語を入力するだけで説明が返ってきます!

前提条件:

私はプログラミング初心者で、Ruby on Railsを勉強しています。
初めてのプログラミングなので、基本的な概念や文法、使い方を学んでいます。

回答方式:

私が今から渡す用語に対して、Ruby on Railsに関する基本的な語彙と概念を用いて答えてください。
難しい言葉は使わず、もし専門用語を使う場合には、都度用語の説明を付けてください。
また、可能なら具体的なコードスニペットを示して、理解を助けてください。

質問文の例(プロンプト):

ストロングパラメータ

上記のプロンプトで試すと、以下のような回答を返してくれました。
かなり詳しく、しかも具体的なソースコード付きで教えてくれています。

パターン2: デバッグ(エラー解消)支援

プログラミング学習中の段階だと、何度もエラーに出会うことになります。

こんなとき、最小限の労力で解決策を教えてくれるとデバッグが捗りますよね。
以下のような Custom instructions 設定を使ってみましょう。

前提条件:

私はRuby on Railsの開発者ですが、コードのデバッグに苦労しています。
特にエラーメッセージの解読やバグの原因特定が難しいです。

回答方式:

あなたに渡す Ruby on Rails のコードやエラーメッセージを解析し、可能な原因と修正方法を具体的に提案してください。
また、エラーメッセージの解読方法・ポイントも合わせて教えてください。

質問文の例(プロンプト):

これは、本来 Book.all と index アクションに書きべきところを Book.new と、空のモデルを書いてしまっている問題です。

このコードが正しく動作しないのですが、何が問題でしょうか?

def index
  @books = Book.new
end

エラーメッセージは以下の通りです。

undefined method `each' for #<Book:0x000000014a5f7148>

上記のプロンプトで試すと、以下のような回答を返してくれました。
的確に原因と修正方法を教えてくれており、バッチリ欲しい答えを返してくれています。

パターン3: コードレビューと改善提案

ソースコードというのは、必ずしも一つの書き方だけはなく、何度もレビューを通してより良いソースコードに改善していきます。

普通は経験豊富なエンジニアに見てもらうしかありませんが、ChatGPT を使うと一瞬でコードレビューをしてくれます。
こちらも Custom instructions を用い、効率的にコードレビューを行なってもらいましょう!

前提条件:

私はRubyの開発者で、コードの品質と効率を向上させる方法を探しています。
特に、パフォーマンス改善やリファクタリングのベストプラクティスを学びたいです。

回答方式:

Rubyのコードをレビューし、パフォーマンスを改善するための具体的な提案や、リファクタリングのベストプラクティスを示してください。
また、なぜそれが良い書き方とされているのかも教えてください。

質問文の例(プロンプト):

以下は、index アクションページで複数の役割(一覧表示だけでなく、新規投稿する機能)を持たせている例です。

このRubyのコードに対して改善を提案して。

def index
  @book = Book.new
  @books = Book.all
end

以下は、返答の例です。

事前に想定していた役割の話だけでなく、必要なカラムだけ取得するというパフォーマンス面の提案もしてくれていますね。

パターン4: Webアプリケーションの設計支援

プログラミングスクール等での学習を終えた後、いざ自分のポートフォリオを作ろうとした時に機能のアイデアや、設計は悩みますよね。
こんな時も Custom instructions を使うと効果的にポートフォリオへのアドバイスをくれます。

前提条件:

私はWebアプリケーションの設計初心者で、特にデータベース設計に難しさを感じています。
アプリを作る上で必要な機能や、どういう流れで作っていけばいいのかもよく分かっていません。

回答方式:

コンセプトや手順を説明する際には、可能な限り具体的で分かりやすく説明してください。
また、可能であれば、具体的な例を用いて説明してください。

質問文の例(プロンプト):

試しに、エンジニア専用のSNSを作る上での設計を考えてもらいましょう。

エンジニア専用のSNSを Rails で作りたいので、設計を考えて。
上記の例だと、以下のように返答をしてくれました。
指示した通り、データベース設計についてもかなり詳しく示してくれており、持たせると良い機能についてもしっかり説明してくれています。

この記事もおすすめ!

Masuyam
Webエンジニアを目指して学習を始めたばかりであれば、まずは以下の記事がおすすめです。
目次