- 資料
MyGPT用サンプル設定
設定画面の外観
まずはMyGPTの設定画面をご覧ください。
画像は2023/11/16時点の設定画面です。
左半分の画面では、「Create」というモードが選択されています。
この画面の下のチャット欄を使えば、エンジニアと会話する感覚で設定を変更できます。
右半分の画面は、実際のアプリのプレビュー(サンプル表示)です。
こちらのチャット欄に入力すると、実際にアプリに入力するのと同じ動作となります。
つまり、アプリの動作確認として使用できます。
次に、設定を直接入力するモードも見てみましょう。
こちらの画像も、2023/11/16時点の設定画面です。
左半分の画面を、「Configure」というモードに切り替えました。
この画面では、各設定項目に直接データや命令を設定できます。
設定項目の説明
では、各設定項目について見ていきましょう。
まずは上半分のメインとなる項目から。
項目名 | 説明 |
---|---|
Name |
その名の通り、アプリの名前です。 MyGPTはいくつも作れますし、世界に公開することも可能です。 端的で分かりやすく、印象に残りやすい名前を考えてみましょう。 |
Description |
アプリの説明です。 アプリのタイトル画面に表示されます。 こちらもやはり、端的で分かりやすいものがよいでしょう。 |
Instructions |
アプリに追加する「命令」です。 通常のChatGPTの機能に加えて、どんな動作をしてほしいかを書きます。 つまり、まさにアプリの肝ともいえる部分です。 書き方のコツは、後程少し紹介します。 |
次に、下半分の補助的な項目です。
項目名 | 説明 |
---|---|
Conversation starters |
タイトル画面の下、チャット欄の上に表示される例文です。 『こういう風に書けばいいよ!』というサンプルになります。 使い方をイメージしやすいものや、よく使われるパターンを例示するとよいでしょう。 |
Knowledge |
ChatGPTに追加するナレッジ(知識)です。 さすがに、この内容を用いて最適化まではしてもらえませんが、内容を加味した回答をしてくれるようになります。 この資料では説明しませんが、ここをうまく調整できれば、よりオリジナリティの高いアプリを作ることができるでしょう。 |
Capabilities |
このMyGPTで許可する動作です。 2023/11/16時点では、以下の3つが利用できます。
|
Actions |
このMyGPTに追加するアクションです。 この設定を調整することで、外部のサービス(プログラム、API等)と連携することができます。 ただ、2023/11/16時点では、サンプルこそ用意されていますが、完全にプログラムの知識が必要な高度な設定項目になっています。 使いこなせれば非常にオリジナリティの高いMyGPTに仕上げることができますが、相応のスキルが要求される点に注意が必要です。 (この資料でも、説明は割愛します) |
設定項目の例
ちなみに、画像のMyGPTで設定している値は、次の通りです。
(「Name」以外は、自由にコピペしてご利用いただいて問題ありません)
項目名 | 説明 |
---|---|
Name | ニュアンス翻訳GPT |
Description | ニュアンスを含めて翻訳し、再翻訳と原文の差を評価する |
Instructions |
このGPTは、幅広い言語を対象に翻訳を行います(日本語と英語だけではありません)。翻訳においては、正確な表現と文化的なニュアンスを再現することに努めています。 翻訳を行う場合は、「<翻訳先言語指定>:<翻訳対象文>」という書式を用います。この書式で入力された命令を「翻訳命令」と呼ぶことにします。 「<翻訳先言語指定>」は翻訳先の言語の名称、言語コード、または国別コードなど、言語を特定できる識別子です。この翻訳先の言語を、「翻訳先言語」と呼ぶことにします。 「<翻訳対象文>」は、翻訳の対象となる文章で、GPTが認識可能な任意の言語で記述できます。 結果は、必ず次のルールに従って表示されます。これ以外の書式での表示は認められません。 まず、結果全体は、「<翻訳言語>: <翻訳後の文章><改行><再翻訳>: <再翻訳した文章><改行><評価>:<評価文章>」の書式で出力します。これを、「結果書式」と呼ぶことにします。 「結果書式」内の「<翻訳言語>」という部分は、「翻訳先言語」の言語名で置き換えます。 それに続くコロンや空白文字は、そのまま表示します。 「<翻訳後の文章>」は、翻訳した結果の文章で置き換えます。 「結果書式」内の「<改行>」は、その位置に改行を入れることを示します。 「結果書式」内の「<再翻訳>」は、「再翻訳」という言葉で置き換えます。 それに続くコロンや空白文字は、そのまま表示します。 「<再翻訳した文章>」の部分は、「結果書式」内の「<翻訳後の文章>」部分を、「元言語」に再度翻訳した結果の文章で置き換えます。 「結果書式」内の「<評価>」は、「評価」という言葉で置き換えます。 それに続くコロンや空白文字は、そのまま表示します。 「<評価文章>」の部分は、翻訳前の文章と、再翻訳した文章の全ての差について、細かいニュアンスの違いなどを厳密に検証し、その結果を翻訳前の言語で表示します。 その他、「?:」とプロンプトされた際には、このGPTの使い方を、使用例を交えて端的に説明します。 |
Conversation starters |
|
Knowledge | なし |
Capabilities |
|
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は無料で試すことができるので、プログラム未経験の方のエンジニアリングの入門に最適です。
ぜひ試してみてください。