Shinichiro Yamamoto

山本 慎一郎

MyGPT用サンプル設定のイメージ画像

MyGPT用サンプル設定

設定画面の外観

まずはMyGPTの設定画面をご覧ください。

MyGPT設定画面の図(Createモード)

画像は2023/11/16時点の設定画面です。
左半分の画面では、「Create」というモードが選択されています。
この画面の下のチャット欄を使えば、エンジニアと会話する感覚で設定を変更できます。

右半分の画面は、実際のアプリのプレビュー(サンプル表示)です。
こちらのチャット欄に入力すると、実際にアプリに入力するのと同じ動作となります。
つまり、アプリの動作確認として使用できます。

次に、設定を直接入力するモードも見てみましょう。

MyGPT設定画面の図(Configureモード上半分) MyGPT設定画面の図(Configureモード下半分)

こちらの画像も、2023/11/16時点の設定画面です。
左半分の画面を、「Configure」というモードに切り替えました。
この画面では、各設定項目に直接データや命令を設定できます。

設定項目の説明

では、各設定項目について見ていきましょう。
まずは上半分のメインとなる項目から。

MyGPT設定画面の図(Configureモード上半分)
項目名 説明
Name その名の通り、アプリの名前です。
MyGPTはいくつも作れますし、世界に公開することも可能です。
端的で分かりやすく、印象に残りやすい名前を考えてみましょう。
Description アプリの説明です。
アプリのタイトル画面に表示されます。
こちらもやはり、端的で分かりやすいものがよいでしょう。
Instructions アプリに追加する「命令」です。
通常のChatGPTの機能に加えて、どんな動作をしてほしいかを書きます。
つまり、まさにアプリの肝ともいえる部分です。
書き方のコツは、後程少し紹介します。

次に、下半分の補助的な項目です。

MyGPT設定画面の図(Configureモード下半分)
項目名 説明
Conversation starters タイトル画面の下、チャット欄の上に表示される例文です。
『こういう風に書けばいいよ!』というサンプルになります。
使い方をイメージしやすいものや、よく使われるパターンを例示するとよいでしょう。
Knowledge ChatGPTに追加するナレッジ(知識)です。
さすがに、この内容を用いて最適化まではしてもらえませんが、内容を加味した回答をしてくれるようになります。
この資料では説明しませんが、ここをうまく調整できれば、よりオリジナリティの高いアプリを作ることができるでしょう。
Capabilities このMyGPTで許可する動作です。
2023/11/16時点では、以下の3つが利用できます。
  • Web Browsing(ウェブ表示)
  • DALL-E Image Generation(画像生成)
  • Code Interpreter(プログラムコード実行)
画像では、念のため、プログラムコード実行は不可にしてあります。
Actions このMyGPTに追加するアクションです。
この設定を調整することで、外部のサービス(プログラム、API等)と連携することができます。
ただ、2023/11/16時点では、サンプルこそ用意されていますが、完全にプログラムの知識が必要な高度な設定項目になっています。
使いこなせれば非常にオリジナリティの高いMyGPTに仕上げることができますが、相応のスキルが要求される点に注意が必要です。
(この資料でも、説明は割愛します)

設定項目の例

ちなみに、画像のMyGPTで設定している値は、次の通りです。
(「Name」以外は、自由にコピペしてご利用いただいて問題ありません)

項目名 説明
Name ニュアンス翻訳GPT
Description ニュアンスを含めて翻訳し、再翻訳と原文の差を評価する
Instructions このGPTは、幅広い言語を対象に翻訳を行います(日本語と英語だけではありません)。翻訳においては、正確な表現と文化的なニュアンスを再現することに努めています。

翻訳を行う場合は、「<翻訳先言語指定>:<翻訳対象文>」という書式を用います。この書式で入力された命令を「翻訳命令」と呼ぶことにします。
「<翻訳先言語指定>」は翻訳先の言語の名称、言語コード、または国別コードなど、言語を特定できる識別子です。この翻訳先の言語を、「翻訳先言語」と呼ぶことにします。
「<翻訳対象文>」は、翻訳の対象となる文章で、GPTが認識可能な任意の言語で記述できます。

結果は、必ず次のルールに従って表示されます。これ以外の書式での表示は認められません。
まず、結果全体は、「<翻訳言語>: <翻訳後の文章><改行><再翻訳>: <再翻訳した文章><改行><評価>:<評価文章>」の書式で出力します。これを、「結果書式」と呼ぶことにします。

「結果書式」内の「<翻訳言語>」という部分は、「翻訳先言語」の言語名で置き換えます。
それに続くコロンや空白文字は、そのまま表示します。
「<翻訳後の文章>」は、翻訳した結果の文章で置き換えます。

「結果書式」内の「<改行>」は、その位置に改行を入れることを示します。

「結果書式」内の「<再翻訳>」は、「再翻訳」という言葉で置き換えます。
それに続くコロンや空白文字は、そのまま表示します。
「<再翻訳した文章>」の部分は、「結果書式」内の「<翻訳後の文章>」部分を、「元言語」に再度翻訳した結果の文章で置き換えます。

「結果書式」内の「<評価>」は、「評価」という言葉で置き換えます。
それに続くコロンや空白文字は、そのまま表示します。
「<評価文章>」の部分は、翻訳前の文章と、再翻訳した文章の全ての差について、細かいニュアンスの違いなどを厳密に検証し、その結果を翻訳前の言語で表示します。

その他、「?:」とプロンプトされた際には、このGPTの使い方を、使用例を交えて端的に説明します。
Conversation starters
  • 英語で:初めまして。今日からどうぞよろしくお願いします。
  • In Japanese: Let's try translation and evaluation!
  • FR: こんにちは。お元気ですか?
  • ?:
Knowledge なし
Capabilities
  • [ON] Web Browsing
  • [ON] DALL-E Image Generation
Actions なし

もしかしたら、Instructionsが、やたら機械的で長ったらしく感じたかもしれません。
私もそう思います。
ですが、これがひとつの「プロンプティング(生成AIへの指示の出し方)」の形です。

「プロンプティング」について

先のセクションで例示したように、MyGPTへの命令(Instructions)でも、「プロンプティング」の技法は重要です。
その理由は、『生成AIといえど、中身は結局プログラム(コンピュータ)だから』です。

元々、プログラミングの世界というのは、完全に「決定論的」です。
Aをすれば“絶対に”Bになるし、Bが起きれば“絶対に”Cが起きる、という世界です。

一方、私たちが普段会話で使う言い回しというのは、割と雑でランダムです。
「誰が」という主語が抜けていたり、同じことを回りくどく抽象的に表現する人もいます。
このような言い回しは、人間にとっては自然な表現ですが、機械にとっては理解(解釈)が難しい特徴です。

しかしChatGPTでは、この点にうまく適合するよう、あえて回答にランダム性を持たせていると言われています。
主語が抜けていれば補ってくれますし、回りくどい表現でも主旨を推定してくれます。

ただ、これには弊害があって、Aと入力しても、BのときもあるしGのときもある、という事態が起きえます。
このような性質は、現代のプログラム処理とは相性が良くありません。
ですので、作成したMyGPTをひとつのアプリとして成立させるためには、「プロンプティング」で、できる限り、結果がランダムにならないような言い回しにすることが重要です。

このMyGPTでも、『結果は、必ず次のルールに従って表示されます。これ以外の書式での表示は認められません。』という「プロンプティング」をしています。
これはかなり強力な制限です。誤解やランダム性が紛れ込む余地を、かなり排除しています。

他にも、例えば次のような技法を採用しています。

  • 定義や固有名詞などは、「」でくくる
  • 書式内のパーツは、<>でくくる
  • 先に書式を定義して、その後で内容を説明する
  • 『表示する』『置き換える』など、より具体的な表現で書き分ける
  • 「何を」や「どうやって」など、5W1Hを明示的に書く

このような、機械的な記述方法を取り入れることで、完璧とまではいかなくとも、生成AIの動きをある程度安定させることができます。

おわりに

以上が、MyGPTの設定に関する資料と説明になります。
2023/11/16現在だと、GPT-4への契約が必要になるかと思いますので、GPT-4自体の有料契約が必要になります。
ただ、GPT-4の有料契約があれば、MyGPTは無料で試すことができるので、プログラム未経験の方のエンジニアリングの入門に最適です。
ぜひ試してみてください。

お問い合わせ→